xxxxxxxxxx
let body,r=[[0,1,0],[0,0,1]]
setup=_=>{
createCanvas(400,400,WEBGL)
body=new Body({})
body.applyForce([1,0,2],[6,18,9])
}
draw=_=>{
r[1][2]=1
let m=vdot([1,0,0],body.gridNormal(r[1]))
r[1][2]=m
if(keyIsDown(32))body.applyForce(r)
body.update()
background(255)
scale(30)
strokeWeight(5)
stroke(255,0,0)
line(body.p,body.p[0]+3*body.a[0][0],body.p[1]+3*body.a[0][1],body.p[2]+3*body.a[0][2])
stroke(0,255,0)
line(body.p,vadd(body.p,body.a[1]))
stroke(0,0,255)
line(body.p,vadd(body.p,vcross(body.a)))
stroke(0)
line(vadd(body.p,body.gridNormal(r[0])),vadd(body.p,body.gridNormal(vadd(r))))
strokeWeight(2)
line(body.p,vadd(body.p,vmultf(body.v,100)))
push()
fill(0);noStroke()
translate(body.toGrid(body.fromGrid([-1,0,1])))
box(0.1)
pop()
orbitControl()
}