Programador:
Martí Aymerich i Eduard Pérez
Instruccions:
Les el·lipses d’aquest programa es creen indefinidadment augmentant o disminuint depenen de si cliques el botó esquerre. Fes un reset clicant al botó dret.
//Aquí definim les variables//
float z=0;
float a=2;
float b=1;
float E= sqrt(1-sq(b/a));
float frame;
float alfa =0.02;
float beta=0.01;
void setup() {
background(0);
size(800, 600);
fill(1, 0.01);
strokeWeight(2.5);
}
//Aquí es dibuixen les melipses//
void draw() {
//Aquí es defineix la posició i el color//
translate(mouseX, mouseY);
stroke(color(int(random(0256)), int(random(0256)), int(random(0256))));
//Ara aquí es dibuixa la elipse feta amb punts//
for (int i=0; i<126; i++) {
if (frame%10==0) {
float r;
r= b / sqrt ( 1 - sq(E*cos(z)));
float X= r*cos(z);
float Y= r*sin(z);
point(X, Y);
//Aquí es modifiquen les variables//
z=z+0.05;
a=a+alfa;
b=b+beta;
}
}
}
//I per últim aquesta part el botó esquerre permet canviar el signe de alfa i beta (passar-les de positiu a negatiu i viceversa), i el botó dret borra tot el que hi ha a la pantalla//
void mousePressed() {
if (mouseButton == LEFT) {
alfa=alfa*-1;
beta=beta*-1;
} else if (mouseButton == RIGHT) {
background(0);
z=0;
a=2;
b=1;
}
}