xxxxxxxxxx
let orbits=[],
lastmp=[0,0]
setup=_=>{
createCanvas(500,400)
frameRate(40)
}
draw=_=>{
orbits[0]=[100,10000,[0,Math.sin(frameCount/200),Math.cos(frameCount/200)]]
orbits[1]=tra2orb([0,100],[100*sin(frameCount/200),1*cos(frameCount/200)])
if(mouseIsPressed)orbits[2]=tra2orb(lastmp,[mouseX-lastmp[0]-250,-mouseY+lastmp[1]+200])
background(0)
for(let i=0;i<orbits.length;i++){
let last=orb2tra(orbits[i],0)
for(let j=1;j<101;j++){
let a=orb2tra(orbits[i],j/50*Math.PI)
stroke(255*(a[2][2]/2+0.5));line(last[0][0]+250,last[0][1]+200,a[0][0]+250,a[0][1]+200)
last=a
//fill(255*(a[2][2]/2+0.5));noStroke();circle(a[0][0]+250,a[0][1]+200,5)
//stroke(255,0,0);line(a[0][0]+250,a[0][1]+200,a[0][0]+250+a[1][0],a[0][1]+200+a[1][1])
}
}
}
mousePressed=_=>{
lastmp=[mouseX-250,mouseY-250]
}