lunes, 4 de mayo de 2015

TP 1

TP 1


01)             Redacte la forma en la cual se debe escribir un programa en Processing

void setup (){
     .
     .
     .
}

02) ¿Cuál de las siguientes instrucciones es Incorrecta? ¿Porque?
    
a) Size(400,400);
b) size(400);
c) size(400,400)
d) size(400,400);

         La respuesta C es incorrecta porque la ausencia del ; (punto y coma) provoca que la acción no pueda finalizarse. La respuesta A es incorrecta por el uso de la mayúscula (S) en la palabra size, procesing diferencia entre minúsculas y mayúsculas. Y la respuesta B tambien lo es por la ausencia del segundo parametro.

03)             Escriba un programa que defina una línea que une el punto (100 X , 100 Y) con el punto (300 X, 300 Y)

void setup (){
         size (500,500);
         line (100,100,300,300);
}

04) Escriba un programa que una los siguientes puntos con líneas:
(100 X , 100 Y) - (300 X , 100 Y) - (100 X , 300 Y) - (300 X , 300 Y)
¿Cual es la figura resultante?

         void setup () {
                   size (500,500);
                   line (100,100,300,100);
                   line (300,100,100,300);
                   line (100,300,300,300);
                   line (100,100,300,300);
}

La figura resultante es un reloj de arena.


05) Dibuje una estrella con 5 líneas. Recuerde que el programa debe ser escrito en
su totalidad.

        void setup (){
         size (400,400);
         background (200);
         line(100, 100, 200,100);
line(100, 200, 200,100);
line(100, 200, 150,50);
line(200, 200, 150,50);
line(200, 200, 100,100);
}


 06) Realice el dibujo de una pirámide de cartas solo con líneas.

        void setup () {
                   size (400,400);
                   triangle (100,300,150,300,125,200);
                   triangle (125,200,150,100,175,200);
                   triangle (175,200,150,300,200,300);
         }

07) Para qué sirve la función dist() de Processing?

        La función dist() define la distancia entre dos puntos.

08) Escriba un programa que dibuje un Cuadrado de 100 pixels de ancho por 100 pixels de alto.

        void setup () {
                   size (400,400);
                   rect (50,50,100,100);
}

09) Escriba un programa que dibuje un Rectángulo de 100 pixels de ancho por 200 pixels de alto.

        void setup () {
                   size (400,400);
                   rect (50,50,100,200);
}

10) ¿Qué diferencia funcional poseen los 2 siguientes programas? ¿Visualmente realizan lo mismo?
a)
void setup(){
size(400,400);
rect(200,100,100,100);
                }
void draw(){}
b)
void setup(){
                size(400,400);
rect(100,200,100,100);
                }
void draw(){}

         Funcionalmente no presentan ninguna diferencia, sin embargo no dibujan lo mismo dado que los valores atribuidos al rectángulo son diferentes (valores de x,y), ambos dibujan un cuadrado de las mismas dimensiones en ubicaciones diferentes.

11) ¿Qué diferencia funcional poseen los 2 siguientes programas? Visualmente realizan lo mismo?
a)
void setup(){
size(400,400);
rect(200,200,100,100);
}
void draw(){}
b)
void setup(){
size(400,400);
}
void draw(){
rect(200,200,100,100);
}
        Visualmente realizan la misma figura. La diferencia funcional es que en el primer ejemplo las instrucciones se encuentran dentro de la estructura del “setup” lo que hace que se ejecute una única vez, y las instrucciones dentro de la estructura “draw” se ejecutan 30 veces por segundo.

12) Escriba un programa que dibuje 3 cuadrados unidos entre si, de 100 pixels por 100 pixels (de ahora en adelante, este tipo de medidas se definirán de la siguiente manera: 100px X 100px) cada uno, a partir de la posición 100 en el eje X y 200 en el eje Y.El  tamaño del área a trabajar debe ser de 400px X 400px.

        void setup (){
                   size (400,400);
                   rect (100,200,100,100);
                   rect (200,300,100,100);
                   rect (300,200,100,100);
         }


13) Escriba un programa que dibuje 10 rectángulos unidos entre sí, donde el primero se ubique en la parte superior izquierda (0 en el eje X y 0 en el eje Y), con un ancho de 40px y un alto de 40px también; los siguientes rectángulos deberán poseer el mismo ancho de 40px. y el doble de alto que el anterior. De este modo el segundo mediría 40px de ancho por 80 de alto. El tamaño del área a trabajar debe ser de 400px X 400px.

         void setup (){
                   size (400,400);
rect (0,0,40,40);
rect (40,0,40,80);
                   rect (80,0,40,160);
rect (120,0,40,320);
rect (160,0,40,640);
rect (200,0,40,1280);
rect (240,0,40,2560);
rect (280,0,40,5120);
                   rect (320,0,40,10240);
rect (360,0,40,20480);
}


14) Escriba un programa que dibuje un cuadrado de 40px. X 40px. en el centro de la pantalla. Luego se deberán generar 10 cuadrados mas que se encuentren en el centro de la pantalla, pero que vayan aumentando 20 pixels en el ancho y en el alto. De este modo el segundo cuadrado será de 60px. X 60px. El tamaño del área a trabajar debe ser de 400px X 400px.
        
int T,A;
void setup (){
size (400,400);
background (104);
T = 40
A= 40
rectMode(CENTER);
rect (200,200,A+180,T+180);
rect (200,200,A+160,T+160);
rect (200,200,A+140,T+140);
rect (200,200,A+120,T+120);
rect (200,200,A+100,T+100);
rect (200,200,A+80,T+80);
rect (200,200,A+60,T+60);
rect (200,200,A+40,T+40);
rect (200,200,A+20,T+20);
rect (200,200,A,T);
}



15) ¿Qué diferencia funcional poseen los 4 siguientes programas? ¿Visualmente realizan lo mismo?
a)
void setup(){
size(400,400);
ellipse(200,100,100,200);
}
void draw(){}
b)
void setup(){
size(400,400);
ellipse(100,200,100,200);
}
void draw(){}
c)
void setup(){
size(400,400);
ellipse(200,100,200,100);
}
void draw(){}
 d)
void setup(){
size(400,400);
ellipse(100,200,200,100);
}
void draw(){}

La diferencia entre estos cuatro programas son los valores atribuidos a la elipse, respetan las dimensiones pero varia la posición y se invierte el valor del ancho por el del alto en los últimos dos casos.

16) Escriba un programa que dibuje 4 círculos en las esquinas del área de trabajo, de forma tal que estas queden "apoyadas" o tocando los bordes del área de trabajo. El tamaño del área a trabajar debe ser de 400px X 400px.

void setup (){
 size (400,400);
background (50);
  ellipseMode(CORNERS);
  ellipse (0,0,100,100);
  ellipse (300,300,400,400);
  ellipse (400,0,300,100);
  ellipse (0,400,100,300);
         }


17) Escriba un programa que dibuje 4 círculos en las esquinas del área de trabajo, de forma tal que solo se pueda apreciar de las mismas 1/4 parte de su área total. El tamaño del área a trabajar debe ser de 400px X 400px.
       
         void setup (){
                   size (400,400);
                   background (200);
                   ellipse (0,0,100,100);
                   ellipse (0,400,100,100);
                   ellipse (400,0,100,100);
                   ellipse (400,400,100,100);
         }


18) Tomando en cuenta el ejercicio 5), realizar el dibujo de una estrella pero solo con la función triangle().

void setup (){
    size (400,400);
    background (200);
    triangle (200,0,250,100,150,100);
    triangle (150,100,150,200,50,150);
    triangle (250,100,250,200,350,150);
    triangle (250,200,200,250,300,350);
    triangle (150,200,200,250,100,350);
}



19) Tomando en cuenta el ejercicio 6), realizar las pirámides con la función triangle().

void setup (){
    size (400,400);
    background (200);
    triangle (200,0,150,100,250,100);
    triangle (150,100,100,200,200,200);
    triangle (250,100,200,200,300,200);
    triangle (100,200,50,300,150,300);
    triangle (150,300,200,200,250,300);
    triangle (250,300,300,200,350,300);
}


20) ¿Para qué sirve la función quad()?

La función quad() sirve para generar cuadriláteros teniendo en cuentra sus cuatro vértices (X1,Y1,X2,Y2,X3,Y3,X4,Y4)








No hay comentarios:

Publicar un comentario