ÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÀ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌÀ¬ÀÀÀ¬ÀÀÀ¬ÀÀÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÌ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌ̬ÀÀÀ¬ÀÀÀ¬ÀÀ¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî >×:ðÿðÿÿÿÿÿÿÿÿÿÿÿÿÿðÿðÿÿÿÿïþÿÿÿÿÿÿðÿÿðÿÿÿÿÿÿÿîîÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿðîîîþÿÿÿÿÿÿÿÿÿðÿÿÿÿðÿÿÿÿÿÿîîîîÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿàîîîîÿÿÿÿÿÿÿÿÿÿïîÿÿÿÿÿÿÿÿÿÿÿÿÿÿîîîîþÿÿÿÿÿÿÿðÿÿïîîðÿÿÿÿÿÿÿÿÿÿÿÿÿÿàîîîîÿÿÿÿÿÿÿÿÿÿÿîîîîðÿÿÿÿÿÿÿÿÿÿÿÿÿïîîîîîÿÿÿÿÿÿÿÿÿÿïîîîîîðÿÿÿÿÿÿÿÿÿÿÿÿÿïîîîîþÿÿÿÿÿÿÿÿÿÿÿÿîîîîîÿÿÿÿÿÿÿÿÿÿïÿïþààîîîîþÿÿÿÿÿÿÿÿÿðÿÿÿïîîîîîîþÿÿÿÿÿÿÿÿîþïîîîîîÿÿÿÿÿÿÿÿÿÿðÿÿÿïîîîîîîîîîÿÿÿÿÿÿÿîîîàîîîîîþÿÿÿÿÿÿÿÿÿÿðÿÿÿïîîîîîîîîîîþÿÿÿÿÿîîîîîîîîîþÿÿÿÿÿÿÿÿÿðÿÿÿïîîîîîîîîîîîîîþÿÿïîîàîîîîîîîîîÿÿÿÿÿÿÿÿðÿÿÿïîîîîîîîàîîîîîîîîþïîîàîîîîîîîîîþÿÿÿÿÿÿÿÿÿÿÿÿîîîîîîîîÞàîîîîîîîîîîîîîîîîîîîîîîÿÿÿÿÿÿÿÿÿÿÿÿÿîîîîîîîîî àîîîîîîîîîîîîàîîîîîîîîîþÿÿÿÿÿÿÿÿÿÿÿÿÿîîîîîîîîî àîîîîîîîîîîîîîîîîîîîîîîÿÿÿÿÿÿÿÿÿÿÿÿïþîîîîîîîîÞÝàîîîîîîîîîîîÐîîîîîîîîîîþÿÿÿÿÿÿÿÿÿÿÿïîîîîîîîîîÝÝàîîîîîîîîîîîîÐîîîîîîîîîîþÿÿÿÿÿÿÿÿÿÿÿïîîîîîîîîîÝÝ àîîîîîîîîîîîîàÐíîîîîîîîîîîÿÿÿÿÿÿÿÿÿÿÿïîîîîîîîîîÝÝ àîîîîîîîîîîîîîÐíîîîîîîîþÿÿÿÿÿÿÿÿÿÿïîîîîîîîîîÝÝàîîîîîîîîîîîíîÐÝîîàîîîîÿÿÿÿÿÿÿÿðÿÿïîîîîîîîîîÝ àîîîîîîîîîîÞÝ ÝÝíîîîîÿÿÿÿÿÿÿÿðÿÿïîîîîîîîîÞÝ îîîîîîîîîÞÝÝÝÝíàîîîÿÿÿÿÿÿÿÿðÿÿïîîîîîîîîÞÝ îîîîîîîîÞÝÝ ÝÝÝîîîþÿÿÿÿÿÿÿðÿÿîîîîîîîîîÞÝîîîîîîîÞÝÝ ÝÝÝîîîþÿÿÿÿÿÿÿÿðÿÿîîîîîîîîîÞÝíîîîÞÝÝÝ ÐÝÝ îîîþÿÿÿÿÿÿÿÿðÿÿîîîîîîîîîÞÝÐÝÝÝÝÝÝÝÐÝÝ îîîþÿÿÿÿÿÿÿÿðÿÿîîîîîîîîîÞÝÝÝÝÝ ÐÝÝ àîîþÿÿÿÿÿÿÿÿðÿÿîîîîîîîîÞÝÝÐÝÝ àîîîÿÿÿÿÿÿÿÿðÿîîîîîîîîîÞÝÝÝÝ ðàîîîîþÿÿÿÿÿÿÿÿÿÿðÿîîîîîîîîîÞÝÝÝÝ ðüàîîîîþÿÿÿÿÿÿÿÿÿÿðÿîîîîîîîîîÞÝÝ ÝÝÝðÌàîîîîþÿÿÿÿÿÿÿÿÿÿðÿîîîîîîîîîÞÝÝ ÝÝÝðÌüîîîîîÿÿÿÿÿÿÿÿÿÿÿðÿîîîîîîîîîîÝÝ ÐÝÝðÌÌîîîîîÿÿÿÿÿÿÿÿÿÿÿðÿîîîîîîîîîîÝÝ ÐÝÝ ðÌüîîîîîÿÿÿÿÿÿÿÿÿÿÿðÿîîîîîîîîîîÝÝÝ ÐÝÝÝðüÌàîîîîîÿÿÿÿÿÿÿÿÿÿÿÿîîîîîîîîîÝÝÝÝÐÝÝÝÏîîîîîîÿÿÿÿÿÿÿÿÿÿÿÿîîîîîîîîÝÝÝÝÝÐÝÝÝíàîîîîîþÿÿÿÿÿÿÿÿÿÿÿîîîîîîîîÝÝÝÝ ÝÝÝíîîîîîîîîþÿÿÿÿÿÿÿÿÿÿÿîîîîîîîîÝÝÝÝÝÝÝîîîîîîîîîîîþÿÿÿÿÿÿÿÿÿÿîîîîîîîîÝÝÝÝÝÝÝîîîîîîîîîîîîþÿÿÿÿÿÿÿÿîîîîîîîîîÝÝÝ ÐÝÝîîîîîîîîîîîîîîÿÿÿÿÿÿÿîîîîîîîîîÞÝÝÝÝîîîîîîîîîîîîîîîîÿÿÿÿÿîîîîîîîîîÞÝ ÝÝîîîîîîîîîîîîîîîîþÿÿÿÿàîîîîîîîîÝÝ ÐÝîîîîîîîîîîîîîîîîÿÿÿÿÿàîîîîîîîÞÝÝÝîîîîîîîîîîîîîîîîÿÿÿÿÿÿÿàîîîîîîÞÝÝàîÐîîîîîîîîîîîîîîîþÿÿÿÿÿÿîîîîîîîÝ ÞÝÐíîîîîîîîîîîîîîîÿÿÿÿÿÿÿîîîîîîîÞàÝÝííîîîîîîîîîîîîîþÿÿÿÿÿÿîîîîîîîÞÝÝÝàîîîîîîîîîîîîîÿÿÿÿÿÿÿàîîîîîÞÝÝÝîîîîîîîîîîîîþÿÿÿÿÿÿÿîîîÞÝÝÝîîîîîîîîîîîîþÿÿÿÿÿÿàÝÝíàîîîîîîîîîîîÿÿÿÿÿÿÿÞÝàîîîîîîîîîîÿÿÿÿÿÿàîàîîîîîîîîîîÿÿÿÿÿàîîîîîîîîîîþÿÿÿîîîîîîîîîîîîàîîîîîîîîàîîîîîîîÐÝÝ ÐÝÝÝíîÐÝÝîîîîîÝíîîîîîîíîîîîîîîàîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîþïàîîîîîþÿÿÿðàîîîîîÿÿÿÿÿàîîîîÿÿÿÿÿÿîîîþÿÿÿÿÿÿàîîÿÿÿÿÿÿÿàîÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿðÿÿÿÿððÿÿÿÿÿÿðÿÿ´-- title: Eye3d -- author: Popolon -- desc: 3d Xeyes -- site: https://gblog4.popolon.org -- license: GPLv3 -- version: 0.4.5 -- script: lua m=math cos=m.cos sin=m.sin abs=m.abs atan=m.atan rnd=m.random pi=m.pi pi2=pi*2 pi12=pi/2 pi13=pi/3 pi14=pi/4 dotsRE={}dotsLE={} moved=false MV=139 t=0 pts={ {50,70,30,5,25}, {10,120,15,5,55}, {180,70,30,5,20}, {120,10,15,3,5}, {110,90,20,4,8}, {220,120,16,2,58}, } light={0,0,10} function rotY(x,y,z,a) return x*cos(a) - z*sin(a), y, x*sin(a) + z*cos(a) end function rotX(x,y,z,a) return x, y*cos(a) - z*sin(a), y*sin(a) + z*cos(a) end function rotZ(x,y,z,a) return x*cos(a) - y*sin(a), x*sin(a) + y*cos(a), z end function rotXY(x,y,z,ax,ay) local x1,y1,z1=rotY(x,y,z,ay) return rotX(x1,y1,z1,ax) end function buildeye(dots) local stepZ=pi12/15.0 local minZ,maxZ=0,pi12 local stepA2=pi2/12.0 local minA2,maxA2=0,pi2 dots.lc=math.floor((maxA2-minA2)/stepA2) for a=minZ,maxZ,stepZ do local X=cos(a) local Z=sin(a) for a2=minA2,maxA2,stepA2 do dots[#dots+1]={x=X*cos(a2),y=-X*sin(a2),z=Z} if X < 0.35 then dots[#dots].c=0 else dots[#dots].c=15 end end end dots.r={} end function magn(V) return math.sqrt(V[1]^2+V[2]^2+V[3]^2) end function dotp(A,B) return A[1]*B[1] +A[2]*B[2] +A[3]*B[3] end function ang(A,B) return math.acos(dotp(A,B)/(magn(A)*magn(B))) end function crossp(A,B) return A[2]*B[3]-A[3]*B[2], A[3]*B[1]-A[1]*B[3], A[1]*B[2]-A[2]*B[1] end function drawlight(light,z) circ(light[1],MV-light[2],z+light[3]/20,13+2*sin(t*2)) circb(light[1],MV-light[2],z+light[3]/20,6+2*sin(t*2)) end function drawspheredot(dots,cx,cy,s,xa,ya) for i=1,#dots do local X2,Y2,Z2 = rotXY(dots[i].x*s,dots[i].y*s,dots[i].z*s,xa,ya) dots.r[i]={cx+X2,cy+Y2,Z2} pix(dots.r[i][1],MV-dots.r[i][2],dots[i].c)--15) if i10 then drawlight(light,5)end if mx==247 and my==251 then xa1,ya1=pi14+xa1*0.7,pi14+ya1*0.7 end if not moved or ( mx==247 and my==251) then print("please move mouse on screen") end t=t+1 end