In full:
sync on : hide mouse
load object "sphere.x",1
make mesh from object 1,1
make memblock from mesh 1,1
delete object 1
make object 1,1,0
vertices = memblock dword(1,0)
offset = memblock dword(1,4)
do
range# = object size(1) / 2
for d = 1 to vertices
pos = (d*12)+offset-12
x# = memblock float(1,pos)
y# = memblock float(1,pos+4)
z# = memblock float(1,pos+8)
xd# = range# - abs(x#)
yd# = range# - abs(y#)
zd# = range# - abs(z#)
sc# = xd#
if yd# > sc# then sc# = yd#
if zd# > sc# then sc# = zd#
scale# = 1/(((sc#^2)/50000)+0.9995)
if dirx = 0
write memblock float 1,pos,x# * scale#
write memblock float 1,pos+4,y# * scale#
write memblock float 1,pos+8,z# * scale#
else
write memblock float 1,pos,x# / scale#
write memblock float 1,pos+4,y# / scale#
write memblock float 1,pos+8,z# / scale#
endif
next d
if dirx = 0
inc tot
else
dec tot
endif
if tot > 150 then dirx = 1
if tot < -30 then dirx = 0
change mesh from memblock 1,1
delete object 1
make object 1,1,0
roll object left 1,roll
pitch object down 1,roll
inc roll
text 0,0,str$(x#)
text 0,20,str$(y#)
text 0,40,str$(z#)
sync
loop
Short:
sync on : hide mouse : load object "sphere.x",1 : make mesh from object 1,1 : make memblock from mesh 1,1 : delete object 1 : make object 1,1,0 : vertices = memblock dword(1,0) : offset = memblock dword(1,4) : do : range# = object size(1) / 2 : for d = 1 to vertices : pos = (d*12)+offset-12 : x# = memblock float(1,pos) : y# = memblock float(1,pos+4) : z# = memblock float(1,pos+8) : xd# = range# - abs(x#) : yd# = range# - abs(y#) : zd# = range# - abs(z#) : sc# = xd# : if yd# > sc# : sc# = yd# : endif : if zd# > sc# : sc# = zd#
endif : scale# = 1/(((sc#^2)/50000)+0.9995) : if dirx = 0 : write memblock float 1,pos,x# * scale# : write memblock float 1,pos+4,y# * scale# : write memblock float 1,pos+8,z# * scale# : else : write memblock float 1,pos,x# / scale# : write memblock float 1,pos+4,y# / scale# : write memblock float 1,pos+8,z# / scale# : endif : next d : if dirx = 0 : inc tot : else : dec tot : endif : if tot > 150 : dirx = 1 : endif : if tot < -30 : dirx = 0 : endif : change mesh from memblock 1,1 : delete object 1
make object 1,1,0 : roll object left 1,roll : pitch object down 1,roll : inc roll : text 0,0,str$(x#) : text 0,20,str$(y#) : text 0,40,str$(z#) : sync : loop
Media is attached
There are three types of people, those that can count and those that can't.