_ΞΜΜΜ̈ˆˆ¬ͺͺͺ¬ˆˆˆ¬ΜΜΜ¬ΜΐΜ¬ΜΐΜ¬ΜΐΜΜΜμΜξͺͺΐΐξΜ¬ΐΜΐ¬ΐΐΐ¬ΐΐΐ¬ΐΐΞΜΜΜ̈ˆˆ¬ͺͺͺ¬ˆˆˆ¬ΜΜΜ¬ΜΜΜ¬ΜΐΜ¬ΜΐΜΜΜμΜξͺͺΐΐξΜ¬ΐΜΜ¬ΐΐΐ¬ΐΐΐ¬ΐΐ¬ΜΜΜ¬ͺͺͺ¬ͺ¬ͺ¬ͺΚΜ¬ͺͺͺŒˆˆˆΜΐΜΞΜΜΞΜ¬Μͺͺΐμ¬ͺΐξͺͺΐξͺͺΐΜξΐμξΜΜξξ¬ΜΜΜ¬ͺͺͺ¬ͺ¬ͺ¬ͺΚΜ¬ͺͺͺŒˆˆˆΜΐΜΞΜΜΞΜ¬Μͺͺΐμ¬ͺΐξͺͺΐξͺͺΐΜξΐμξΜΜξξwwpwwwwwwwwwwwwwwwwwwpwwwwff`ffffffffffffffffff`ffffέέΠww }wwΧ}wwΧ}wwΧ}wwΧΠww έέΜΜΐff lffΖlffΖlffΖlffΖΐff ΜΜ >Π3€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆhff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆhff†ˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆhffv‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆffwwffˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆhf†ˆˆˆffffˆˆˆˆˆˆˆˆxwwgff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆfffˆˆˆffffˆˆˆˆˆˆˆˆxwwffffˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆhfff†ˆˆhff†ˆˆˆˆˆˆˆˆxwwffffˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆhfff†ˆˆˆffˆˆˆhf†ˆˆˆxwwffffˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxgfff†ˆˆˆˆˆˆˆˆfffˆˆˆˆwwffffˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆwgffff†ˆˆˆˆˆˆhfff†ˆˆˆxwgffvˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆxwwfffffˆˆˆˆˆˆhfff†ˆˆˆˆxwffw‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwwgffff†ˆˆˆˆˆhfff†ˆˆˆˆwwwww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwwwgfff†ˆˆˆˆˆhfff†ˆˆˆxwwwww‡ˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆxwwwgfff†ˆˆˆˆˆˆfffˆˆˆwwwwwww‡ˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆwwwgfff†ˆˆˆˆˆˆhf†ˆˆxwwwwwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwwwfffˆˆˆˆˆˆˆˆˆˆˆˆwwwwwww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwwgf†ˆˆˆ‚ˆˆˆˆˆˆˆˆwwwwwwˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆwwwwˆˆˆˆ(ˆwwˆˆˆˆˆwwwww‡ˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆwwffˆˆˆˆ(xww‡ˆˆˆˆwwwffˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆxgff†ˆˆˆ(wwwwˆˆˆˆxwgff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffwwˆˆrwwwˆˆˆˆˆwffffˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffww‡ˆrwwwˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffwwwˆrwwwˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffwwwˆrww‡ˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆhffvwwwˆ(wwˆˆˆˆˆˆˆhffv‡ˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffwwwwˆ(ˆˆˆˆˆˆˆˆˆˆffwwˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆxw‡ˆxww‡ˆ(ˆˆˆˆˆˆˆˆˆˆwwwwˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆwwwˆˆwwˆˆ(ˆˆ…ˆˆˆˆˆˆˆwwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwww‡ˆˆˆˆˆˆrw…ˆˆˆˆˆˆˆwwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwww‡ˆˆˆˆˆˆrwuˆˆˆˆˆˆˆwwwww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwww‡ˆˆˆˆˆxrWw‡ˆˆˆˆˆˆwwwwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwww‡ˆˆˆˆˆw'Ww‡ˆˆˆˆˆ™™wwwww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwwwˆˆˆˆˆxw'Ww‡ˆˆ˜™™ˆwwwwww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxw‡ˆˆˆˆˆww'uw‡™™‰ˆˆˆxwwwww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆww'•™™wwˆˆˆˆˆwwwww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxw‡ˆˆˆˆˆˆˆˆˆwwwy‡xwwgf†ˆˆˆˆwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwwwˆˆˆˆˆˆˆˆˆwwwwˆwwwfffˆˆˆˆww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwww‡ˆˆˆˆˆˆˆˆxww‡ˆwwgfff†ˆˆxww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwww‡ˆˆˆˆˆˆˆˆˆwwˆˆwwgfff†ˆˆwwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwww‡ˆˆˆˆˆˆˆˆffˆˆˆwwgfff†ˆˆwwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxwww‡ˆffˆˆˆˆhff†ˆˆxwgfff†ˆˆwwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwwwˆhff†ˆˆhffffˆˆˆwwfffˆˆhfvwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆxw‡ˆffffˆˆfffff‡ˆˆˆˆhf†ˆˆfffw‡ˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆffffˆhfffffwˆˆˆˆˆˆˆˆhfffvˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆffffˆhfffffwˆˆˆˆˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆffffˆhffffvwˆˆˆˆˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆhff†ˆhffffwgf†ˆˆˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆffˆˆˆfffwwfffˆˆˆˆˆˆˆfffˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffˆˆˆˆˆhf†wgfff†ˆˆˆˆˆˆhf†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆhff†ˆˆˆˆˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆhfff†ˆˆˆwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆˆfffˆˆˆxww‡ˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆffffˆˆˆˆˆˆˆˆˆhf†ˆˆˆwwwwˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆhfff†ˆˆˆˆˆˆxw‡ˆˆˆhfvwwwˆˆˆˆˆhf†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆffffwwˆˆˆˆwwwˆˆˆfffwwwˆˆˆˆˆfffˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆhfffvw‡ˆˆxwww‡ˆhfffvwwˆˆˆˆhfff†ˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆhfffvwwˆˆxwww‡ˆhfffvw‡ˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆhfffvwwˆˆxwgf†ˆhfffvwˆˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆˆˆhfffvwwˆˆxwfffˆhfff†ˆˆˆˆˆˆhfff†ˆˆˆ€ˆˆˆˆˆˆˆˆˆˆfffwwwˆˆˆgfff†ˆfffˆˆˆˆˆˆˆˆfffˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆhfvww‡ˆˆˆhfff†ˆhf†ˆˆˆˆˆˆˆˆhf†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆwwˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆhfff†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆfffˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆhf†ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ€ˆˆˆˆˆˆˆ4-- title: balls demo -- author: abcq2 -- desc: fake trig 3D demo -- version: 0.2 -- script: lua local xx,xy,xz, yx,yy,yz, zx,zy,zz = 1,0,0, 0,1,0, 0,0,1 local kx,ky = 1,0 local px = {} local py = {} local pz = {} local PT = 40 function populate() local r = math.random for i = 1,PT do px[i] = r(-40,40) py[i] = r(-40,40) pz[i] = r(-40,40) end end function spin (x,y,z,s) local sx,sy = x-s*y,y+s*x local m = sx*sx+sy*sy+z*z local Q_rsqrt = 1.5-0.5*m return sx*Q_rsqrt,sy*Q_rsqrt end populate() function TIC() local p = 0.05 if btn(0) then -- UP xz,xy = spin(xz,xy,xx,p) yz,yy = spin(yz,yy,yx,p) zz,zy = spin(zz,zy,zx,p) elseif btn(1) then -- DOWN xz,xy = spin(xz,xy,xx,-p) yz,yy = spin(yz,yy,yx,-p) zz,zy = spin(zz,zy,zx,-p) end if btn(2) then -- LEFT xz,xx = spin(xz,xx,xy,p) yz,yx = spin(yz,yx,yy,p) zz,zx = spin(zz,zx,zy,p) elseif btn(3) then -- RIGHT xz,xx = spin(xz,xx,xy,-p) yz,yx = spin(yz,yx,yy,-p) zz,zx = spin(zz,zx,zy,-p) end if btnp(4) then populate() end if btn(5) then kx,ky = spin(kx,ky,0,p) end --print(xx) local ox,oy = 120,60 cls() circ(ox,oy,50,8) for layer = 33,34 do if layer == 34 then --display axes line(ox,oy,20*xx+ox,20*xy+oy,2)--x line(ox,oy,20*yx+ox,20*yy+oy,5)--y line(ox,oy,20*zx+ox,20*zy+oy,9)--z end for i = 1,PT do local x = px[i] * kx local y = py[i] * kx local z = pz[i] * kx local sx = x*xx+y*yx+z*zx+ox local sy = x*xy+y*yy+z*zy+oy local sz = x*xz+y*yz+z*zz if (layer == 33) == (sz > 0) then spr(layer, sx-4, sy-4, 0) end end end end