// Kamera camera { sky <0,0,1> // Vektor, der festlegt, wo oben ist. right <-2/3,0,0> // Bildverhältnis 4:3, plus Spiegelung für rechtsdrehendes System location <20,0,10> // Position der Kamera look_at <0, 0, 0> // Blickrichtung (erscheint im Bildmittelpunkt) angle 00 // Öffnungswinkel der Kamera } // Lichtquellen light_source { <2,5,0> // Position des Lichts color rgb <1,1,1> // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1) } //light_source { // <3,10,3> // Position des Lichts // color rgb <1,1,1> // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1) plane {z,0 pigment {granite scale 10} normal { bozo } finish { reflection 0.9} } #declare umdrehung=-4; // Start der Umdrehungen #declare ende=2; // Ende der Umdrehungen #declare sf=1.6; // Streckfaktor pro Umdrehung #declare schritte=30.5; // 50 Schritte pro Umdrehung #declare num=0; #while (umdrehung mit kleinem Radius platzieren // und danach um umdrehung*360 um die z-Achse drehen // //sphere {<0,r,0>, 0.4*r //rotate umdrehung*360*z //#if (mod(num,2) = 0) // pigment {color rgb <1,2,1>} //#else //pigment {color rgb <2,1,3>} //#end //translate z*(1-r) torus {r,0.1*r #if (mod(num,2) = 0) pigment {color rgb <2,0,2>} #else pigment {color rgb <4,3,5>} #end rotate 90*z translate <0,r,0> rotate umdrehung*360*z translate 2*z*(4-r) } #if (mod(num,2) = 0) light_source { <0,r,0> color rgb <0.4,0,0.8> rotate umdrehung*360*z translate 2*z*(4-r) } #end #declare num = num+1; #declare umdrehung = umdrehung + 1/schritte; #end //while