// lego moebius strip, o. knill, july 4, 2002 // Surface parametrization #macro f(xx,yy) <(1+(yy-1/2)*cos(pi*xx))*cos(2*pi*xx), (1+(yy-1/2)*cos(pi*xx))*sin(2*pi*xx), 1.5*(yy-1/2)*sin(pi*xx)> #end camera { location<0,0,-8> up y right x look_at <0,0,7> } light_source { <-60,100,-100> color rgb <1,1,1> } background { rgb <1,1,1> } #declare s=0.3; #declare l=0.5*s; #declare w=0.3*s; #declare h=0.2*s; #declare r=0.1*s; #declare eps=0.01*s; #declare rs=seed(31459); #macro legobrick(a) #declare A=; #declare A=A+; #declare colorvec=; union{ box { A+eps, A+-eps } #declare ii=1; #while (ii<5) #declare jj=1; #while (jj<3) cylinder { A+, A+,r/2.5 } #declare jj=jj+1; #end #declare ii=ii+1; #end texture { finish { ambient 0.5 diffuse 0.5 } pigment { color colorvec } } } #end #declare nx=400; #declare ny=400; #declare S = union { #declare i=0; #while (i}