xxxxxxxxxx
// Sinus in 3D
let amplitude=100;
let period=0.05;
function setup() {
createCanvas(710, 400, WEBGL);//WEBGL erlaubt 3d rendering
}
function draw() {
background(250);
rotateY(frameCount * 0.01);//drehen der y-Achse
//Geschachtelte For-Schleife
//Einmal Äußere Schleife, dann i-Mal die Innere, danach wieder einmal die äußere Schleife, und dann wieder die innere i-Schleife
for (let j = 0; j < 5; j++) { //j definiert die Anzahl der "Stränge"
//push und pop erlauben das zwischenspeichern von Draw Einstellungen
push();
for (let i = 0; i < 80; i++) {
translate(
amplitude*sin(TWO_PI*frameCount/period+j),//Um die Sinus Werte wird die Canvas immer wieder verschoben
amplitude*sin(TWO_PI*frameCount/period+j),
//sin(frameCount * 0.001 + j) * 100,
//sin(frameCount * 0.001 + j) * 100,
i * 0.1
);
rotateZ(frameCount * 0.002); //drehen der z-Achse
push();
ellipse(10,10,10,10);
//sphere(8, 6, 4);
pop();
}
pop();
}
}