/ ray tracer: http://www.nsl.com/k/ray/ray.k U x is x%sqrt(dot x x) S r o is if 0>d then inf else if 0>t then inf else if 0y then 0. else if inf=*I[(*r)+((r 1)**x)+d*x 1;-l]h o then -y else 0. N n o i is 0 f/+vs 4(!16) where f x y is x+T[0 0 -4.;U((i+(y%4)-n%2),n)][inf;3#0.]o(sqrt(2^-42))(U -1 -3 2.) C k r c is if 1=k then c:r else [c;r*3]:,[c;r]:(C(k-1)(r%2))',+c+(-3 3@vs 2(2 3 6 7))*r%sqrt 12 R k n is _0.5+15.9375*(N(n*1.)(C k 1.(0 -1 0.)))',+|amend1(vs n(!n*n))0 r where r is |: F f n v is bwrite f("P5\n",show(n,n),"\n255\n",ci v) F"c:/temp.pgm"4(R(3)4)