xxxxxxxxxx
80
// Source du tuto : https://www.youtube.com/watch?v=SGHWZz5Mrsw
// [11:41 ; ]
// Rayon de la sphere
let r = 200;
// densite de la sphere
let density ;
let densitySlider ;
// On va creer des slider pour jouer sur le theta
let thetaMax, phiMax ;
let thetaMaxSlider, phiMaxSlider;
// Parametre de sphere spiraleuse
let spifreqval = 5 ;
let spifreqval2 = 5 ;
let rotantionangleY = 90;
let rotantionangleZ = 65;
function setup() {
createCanvas(700, 700, WEBGL); //3D mode
angleMode(DEGREES);
colorMode(HSB); //Hue, Saturation, Brightness
stroke(199, 88, 88);
strokeWeight(3);
noFill();
}
function draw() {
background(230, 50, 15);
//Permet de controler la forme avec la souris + parametres de sensibilite
// orbitControl(4,4);
// De base, la forme, en ligne a les poles alignes a l'horizontal, Il faut la faire tourner pour la mettre a la verticale
rotateY(rotantionangleY);
rotateZ(rotantionangleZ);
// normalSphere();
// sphericalSpiral();
sphericalLissajous();
// BumpySphere();
if (spifreqval<10){
spifreqval += 0.01;
}
else{
spifreqval = 1;
}
if (spifreqval2<10){
spifreqval2 += 0.03;
}
else{
spifreqval2 = 1;
}
rotantionangleY += 0.025;
rotantionangleZ += 0.025;
}
//----------------------------------------------------------
//e2 : combiner les spheres
function sphericalLissajous(){
beginShape();
for (let theta = 0 ; theta < 360 ; theta += 0.1)
{
let x = r * cos(theta*spifreqval) ;
let y = r * sin(theta*spifreqval) * sin(theta*spifreqval2);
let z = r * sin(theta*spifreqval) * cos(theta*spifreqval2);
vertex(x, y , z);
}
endShape(LINES);
}