xxxxxxxxxx
let a=0,nl=1,s=1
setup=_=>{
createCanvas(400,400)
}
draw=_=>{
a+=0.01/s
push()
translate(200,200)
rotate(-a)
translate(-200,-200)
background(255)
let points=traverse([0.15,0.5],[Math.cos(a),Math.sin(a)],30)
points.push(traverse([0.15,0.5],[-Math.cos(a),-Math.sin(a)],30))
points.push({p:[10000,10000],c:[0,0]})
for(let i=0;i<points.length;i++){
fill(255);stroke(0)
rect(points[i].c[0]*20+200,points[i].c[1]*20+200,20,20)
}
line(0.15*20+200-Math.cos(a)*2000,0.5*20+200-Math.sin(a)*2000,0.15*20+200+Math.cos(a)*2000,0.5*20+200+Math.sin(a)*2000)
for(let i=0;i<points.length;i++){
fill(255,0,0);stroke(255,0,0)
circle(points[i].p[0]*20+200,points[i].p[1]*20+200,4)
}
pop()
}
mouseReleased=_=>{
if(nl)s=30
else s=1
nl=!nl
}