// Kamera camera { sky <0,0,1> // Vektor, der festlegt, wo oben ist. right <-4/3,0,0> // Bildverhältnis 4:3, plus Spiegelung für rechtsdrehendes System location 2*<8,0.5,5> // Position der Kamera look_at <0, 0, 1> // Blickrichtung (erscheint im Bildmittelpunkt) angle 30 // Öffnungswinkel der Kamera } // Lichtquellen light_source { <6,-2,8> // 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) } // Boden plane { z,-1 // Ebene, senkrecht zu z=<0,0,1>, mit Abstand -1 zum Ursprung pigment { // Schachbrett, durchsichtig (t steht für transmit, hier 80% lichtdurchlässig checker color rgbt <1,1,1,0.8>, color rgbt <0.2,0.2,0.2,0.8> } } #declare n=320; #declare i=0; #while (i, 0.1, 0.20*z, 0 pigment { color rgb <(cos(i*2*pi/n)+2)/2, (cos(i*2*pi/n+2*pi/3)+1)/2, (cos(i*2*pi/n+4*pi/3)+1)/2> } rotate i/n*360*x*2 translate y*(0.5+i/n*2) rotate i/n*360*z*3 translate z*(i/n)*5 finish { phong 0.95 reflection 0.99 conserve_energy } } #declare i=i+1; #end torus {1, 0.01 pigment {color rgb x+y} rotate 90*x }