max_trace_level 99 //The standard maximum halts reflections way too early; this has to be included box{-2-z,2finish{reflection.9}} //Surrounding box that creates the field of reflections #macro f(m)box{6.34*x-6,6-5.62*x rotate z*90*m}#end //A space-saving macro that creates boxes to split each face into 9 stickers #macro C(b,d) //Macro to create each face b determines color, d rotates the face intop plac difference{ //Each face is a (flat) box with material removed box{z-x-y,1 pigment{rgb b*9}} //The box, with strong pigment; there is no light_source, nor ambience f(0)f(1)f(2)f(3) //Each box, taking out material in a "cookie cutter" grid rotate d*90 //Rotate the face into its correct orientation of the six faces translate-z-x/2 //Move the cube away from the camera, rotate 7 // and rotate it a bit } #end C(x,y) //Red face C(x+y,-x) //Yellow face C(x+y/2,-y) //Orange face C(1,x) //White face C(z,0) //Blue face C(y,2*x) //Green face