>function log2(x) return math.log(x)/math.log(2) end function smin(a,b,k) res=2^(-k*a)+2^(-k*b) return -log2(res)/k end function dist(x,y,z) return math.sqrt(x^2+y^2+z^2)-2 end function render(px,py) dx=(px-120)/60 dy=(py-68)/60 dz=1 t=0 for i=0,10 do t=t+dist(0+dx*t,0+dy*t,-3+dz*t) if t<0.0001 or t>50 then break end end hx=0+dx*t hy=0+dy*t hz=-3+dz*t if t<5 then return 4+5*(hx+time()/2000) else return 0 end end function TIC() for x=0,239 do for y=0,135 do pix(x,y,render(x,y)) end end end