Je vous laisse ci-contre le code que j’ai laborieusement créé pour l’exercice qui nous étais demandé (sois faire un visuel que l’on pourra imprimer grâce au ploteur ou à la brodeuse numérique) :
// On laisse le hasard choisir des valeurs en X et Y entre 0 et 800
// X1 Y1 corresponde à la positionde l’onde 1, X2 et Y2 à la position de l’onde 2, …
float x1 = random(800);
float y1 = random(800);
float x2 = random(800);
float y2 = random(800);
float x3 = random(800);
float y3 = random(800);
// On choisi trois variables qui correspondent à la taille des élipses de départ des ondes,
//ce sont ses valeurs que l’on va augmenter, une onde est en gros un empilement d’éllipses
// On ne peut pas leur doner la même variable, bien que les 3 variables est la même valeurs,
//car en l’incrémentant dans la fct « onde 1 », la valeur de a (par exemple) sera plus grande qu’originellement quand elle passera dans
//la fct « onde 2 »
int a = 5;
int b = 5;
int c = 5;
// « plus » est la variable qui défini de combien en X et en Y, l’éllipse sera plus grande par rapport à sa taille d’origine
//défini par la variable précédente
int plusa = 30;
int plusb = 20;
int plusc = 50;
void setup()
{
size(800, 800);
background(0);
frameRate(5);
smooth();
}
void draw(){
onde1();
onde2();
onde3();
}
void onde1() {
strokeWeight(2);
stroke(255);
// Je dessine la première ellipse plaine qui est le foyer d’émission des ondes
fill (255);
ellipse(x1, y1, 5, 5);
// Je dessine les ondes qui se superposent et s’agrandissent selon leurs variable « plus »
noFill();
ellipse(x1, y1, a, a);
a = a+plusa;
}
void onde2() {
strokeWeight(2);
stroke(255);
fill (255);
ellipse(x2, y2, 5, 5);
noFill();
ellipse(x2, y2, b, b);
b = b+plusb;
}
void onde3() {
strokeWeight(2);
stroke(255);
fill (255);
ellipse(x1, y1, 5, 5);
noFill();
ellipse(x3, y3, c, c);
c = c+plusc;
}
J’espère que vous aprécierais les commentaires glisser dans le code.
Et voilà le résultat du code (plusieurs essais sont compilés à différent moment, puisque c’est un code avec une variable aléatoire qui évolue selon un temps T) :