Mirall de lineas

 

Programador:

Gil Espada   i    Liam Viader

Instruccions:

Dibuix en mirall de lineas en 16 lineas.

Codi:

void setup() {

 size(800, 800);

 background(0);

 //Inicialitzem la pantalla

}

 

void draw() {

 if (mousePressed && (mouseButton == LEFT)) {

strokeWeight(5);

//Si el butó esquerra està apretat s’asigna la mida de la línea a 30.

stroke(mouseX, mouseY-mouseX, mouseY, 100);

//També si està apretat el color de la linea cambia depenent de l’eix on tinguis el mouse, i assignem la transparència a 100, per tant depenet de la velocitat del mouse, es veu d’una manera o altra.

 } else if (mousePressed && (mouseButton == RIGHT)) {

background(0);

stroke(0);

//Si està apretat el botó dret, s’esborra la pantalla.

 } else {

noStroke();

 }

 float alpha =PI*3/8;

 strokeWeight(7);

//a continuació estàn els punts de les diferents lineas que s’insereixen.

 line(width-mouseX, mouseY, width-pmouseX, pmouseY);

 line(mouseX, mouseY, pmouseX, pmouseY);

 line(mouseX, height-mouseY, pmouseX, height-pmouseY);

 line(width-mouseX, height-mouseY, width-pmouseX, height-pmouseY);

 line(width-mouseY, mouseX, width-pmouseY, pmouseX);

 line(mouseY, mouseX, pmouseY, pmouseX);

 line(mouseY, height-mouseX, pmouseY, height-pmouseX);

 line(width-mouseY, height-mouseX, width-pmouseY, height-pmouseX);

 

 alpha =PI*3/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

 

 alpha = PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

alpha = 5*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

alpha = 7*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

    alpha = 9*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

    alpha = 11*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

    alpha = 13*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

    alpha = 15*PI/8;

 line(cos(alpha)*(mouseX – width/2) -sin(alpha)*(mouseY – height/2) + width/2,   -sin(alpha)*(mouseX – width/2)-cos(alpha)*(mouseY – height/2) + height/2,

   cos(alpha)*(pmouseX – width/2)-sin(alpha)*(pmouseY – height/2) + width/2, -sin(alpha)*(pmouseX – width/2)-cos(alpha)*(pmouseY – height/2)+ height/2);

     

}

Deja un comentario