xxxxxxxxxx
X=Z=f=0
x=z=5
s=w=200
draw=_=>{
f++||createCanvas(W=400, W, WEBGL)
camera(0,-w,W,X,0,Z,0,1,0)
push(pointLight([W],X,-55,Z))
fill(s)
noStroke() // remove before compression
translate(X+=x,-30,Z+=z)
pop(ellipsoid(40,9,40))
cone(1000,1000)
stroke(s-=9)
box(W*2,9,W)
abs(X)>W&&(x=-x,s=W)
abs(Z)>w&&(z=-z,s=W)
}
// ----------------------------------------
// Minimized
// ----------------------------------------
// X=Z=f=0,x=z=5,s=w=200,draw=a=>{f++||createCanvas(W=400,W,WEBGL),camera(0,-w,W,X,0,Z,0,1,0),push(pointLight([W],X,-55,Z)),fill(s),translate(X+=x,-30,Z+=z),pop(ellipsoid(40,9,40)),cone(1e3,1e3),stroke(s-=9),box(2*W,9,W),abs(X)>W&&(x=-x,s=W),abs(Z)>w&&(z=-z,s=W)};//#つぶやきProcessing