xxxxxxxxxx
/*calice et corolle
*jacques maire le 13/07/2022
* fork, jacques maire le 22/08/2022
*/
let tempo=0;
let sc, niv;
function setup() {
createCanvas(1112,834,WEBGL);
tempo=0;sc=0.99;
niv=0;
colorMode(HSB,255);
}
function draw() {
background(150, 120, 240);
tempo=millis()*0.0002;
ambientLight(255,0,200);
pointLight(255,0,180, -500, -200,-500);
orbitControl();
translate(-500,-600,-2000);
push()
translate(500, 1100, 2200);
rotateX(PI/2);
ambientMaterial(20, 160, 100);
plane(width*4, width*4);
pop()
rotateX(tempo);
recc(500,500,100,0.999,1);
}
function recc(x,y,z,tmp,niv){
let axe=createVector(5,2,-30);
noStroke();
rotate(cos(tmp),axe);
translate(x*0.1,y*0.1,z*0.1);
//specularColor(130,130, 99);
// specularMaterial(10,80,99);
ambientMaterial((x+y)/3%255,255,255);
torus(x*2,y*0.15);
translate(x*0.01,y*0.01,z*0.005);
niv=niv+1; rotateZ(tempo*0.6);
if(niv<=200){
recc(0.99*sc*x,0.98*sc*y,100,0.99,niv);
}
}
// save jpg
let lapse = 0; // mouse timer
function mousePressed(){
if (millis() - lapse > 400){
save("img_" + month() + '-' + day() + '_' + hour() + '-' + minute() + '-' + second() + ".jpg");
lapse = millis();
}
}