xxxxxxxxxx
49
let r1 = 100; let r2 = 50;
let phi2 = 0; let angle = 0;
function setup() {
createCanvas(400, 400, WEBGL);
angleMode(DEGREES);
}
function draw() {
background(220);
orbitControl(1, 1);
noFill();
stroke(0);
let i=0;
for(let theta=0; theta<360; theta+=10) {
beginShape(POINTS);
strokeWeight(5);
for (let phi= i + 0; phi< i + 1; phi++) {
let x = (r1 + r2*cos(phi + angle))*cos(theta);
let y = (r1 + r2*cos(phi + angle))*sin(theta);
let z = r2*sin(phi + angle);
vertex(x, y, z);
}
endShape();
beginShape(LINES);
strokeWeight(2);
for (let phi= i + 0; phi< i + 90; phi++) {
let x = (r1 + r2*cos(phi + angle))*cos(theta);
let y = (r1 + r2*cos(phi + angle))*sin(theta);
let z = r2*sin(phi + angle);
vertex(x, y, z);
}
endShape();
i+= 10;
}
angle += 1;
}
function xn(x, n) {
let xn = Math.sign(x) * pow(abs(x), n);
return xn;
}