Name: Jan Walzer Email: jan.w@lzer.net WWW: http://wa.lzer.net Statement: I SUBMIT TO THE STANDARD 10BEST.RAYTRACE.COM COPYRIGHT STATEMENT. Code: ---------------------------------- Start of Code #macro J(N,A) #local a=mod(N,3); #local W=*2; #if(!mod(a,2)) sphere{ W, 2, 2 pigment { color rgb *5 } } #if(a<1) sphere { x+W+x, 2, 2 pigment { color rgb*10 } } #end #end #if(N>3) J(int(N/3),A+1) #end #end blob { J(32640224,0) threshold 1 translate <-6,3> } //C42 ---------------------------------- End of Code Comments: To save space, we don't define neither a camera nor a lightsource. This leaves us with the standard camera, located at <0,0,0> with direction=z As we have no lightsource, we specify pigments with a high value, so when they get multiplied with standard ambient=0.1 they are clearly visible. The Number 42 is stored in a array of 4x4 fields ... +--+--+--+--+ |O.|..|OO|O.| +--+--+--+--+ |O.|O.|..|O.| +--+--+--+--+ |OO|O.|OO|..| +--+--+--+--+ |..|O.|OO|O.| +--+--+--+--+ Each Field can have three states: Every State is assigned to digit: OO -> 0 .. -> 1 O. -> 2 This can now be encoded as a number in the 3-adic system: As there are 16 fields, we use the factors 3^0 upto 3^15 The number gets encoded as: 2 *(3^0)+ 1 *(3^1)+ 0 *(3^2)+ 2 *(3^3)+ 2 *(3^4)+ 2 *(3^5)+ 1 *(3^6)+ 2 *(3^7)+ 0 *(3^8)+ 2 *(3^9)+ 0 *(3^10)+ 1 *(3^11)+ 1 *(3^12)+ 2 *(3^13)+ 0 *(3^14)+ 2 *(3^15) =32640224 The script does this transformation in revers, and places blob-components at the current positions. Coloring was somehow only to be colorful, with as less space, as possible, so I used a,A and multiplied a bit ... My initials can also be written in such a matrix, so no wonder, it fits exactly as a signature ...