En esta práctica vamos a aprender a girar objetos en Processing. Para ello utilizaremos la función:

 

rotate(ángulo);

Ejemplo:

float angulo=0;

void setup()
{
size(400,400);
smooth();
}

void draw()
{
background(0);
fill(255);
noStroke();
ellipse(200,200,5,5); //dibuja el puntito del centro de giro

angulo = angulo+0.02; //ángulo girado
translate(200,200); //traslada el origen de coordenadas para girar dentro del lienzo
rotate(angulo); //gira el objeto el ángulo girado
rect(10,10,100,100); //dibuja el objeto
}

Obteniéndose el siguiente resultado:

Y si jugamos con la transparencia del cuadrado podemos conseguir el siguiente efecto:

void setup()
{
size(400,400);
smooth();
}

void draw()
{
fill(0,12);
rect(0,0,width,height);
fill(255);
noStroke();
ellipse(200,200,5,5); //dibuja el puntito del centro de giro

angulo = angulo+0.02; //ángulo girado
translate(200,200); //traslada el origen de coordenadas para girar dentro del lienzo
rotate(angulo); //gira el objeto el ángulo girado
rect(10,10,100,100); //dibuja el objeto
}

Resultado:

 

TAREAS

1.A partir de la imagen siguiente monstruo.jpg conseguir que se mueva la pupila izquierda tal como se aprecia en el siguiente video:

2. Para lanzar varios giros en la misma aplicación debemos utilizar la función resetMatrix() entre ambos. Sabido ésto, modificar el programa de la tarea anterior utilizando la siguiente imagen monstruo2.jpg para conseguir el siguiente resultado: