using 3D; camera { perspective { eye [0,20,5]; lookat [0,0,5]; eyesep 30; } background [.5,.5,.5]; } pointLight (1, [1,1,1]) { position [4,20,17]; } pointLight (1, [1,1,1]) { position [-4,20,17]; } define green phong { ambient [.1,.1,.3]; diffuse [42/255,94/255,73/255]; specular [.9,.9,.9]; specpow 20;} define darkGreen phong { ambient [.1,.1,.3]; diffuse [42/455,94/455,73/455]; specular [.9,.9,.9]; specpow 20;} define white phong { ambient [.1,.1,.3]; diffuse [242/255,194/255,0/255]; specular [.9,.9,.9]; specpow 20;} define dachRot whitted {ambient [.1,.1,.1]; diffuse [190/255,115/255,97/255];} define fluegel list { cylinder (.05, [0,0,0], [0,0,5]) {green;} list { box ([0,0,1], [-1,.01,5]) {green;} cylinder (.05, [-1,0,1], [-1,0,5]) {darkGreen;} rotateZ (-10); } } define rotor list { cone (.01, [0,.5,0], .6, [0,0,0]) {green;} cylinder (.3, [0,0,0], [0,-1,0]) {green;} fluegel { rotateY (90);} fluegel { rotateY (-90);} fluegel { rotateY (180);} fluegel { rotateY (0);} } define windmill list { cone (3, [0,0,0], 2, [0,0,10]) {white;} cone (2.5, [0,0,10], .01, [0,0,12]) {dachRot;} turn { // Rotation of secondhand action (0,60,0) { // from frame 0 to 60, endless center [0,2,7]; // Rotationcenter (0,0,0) axis [0,1,0]; // Rotationaxis (1,0,0) alpha (-360,"id", 0, 1, 1/60); // Constant rotation of -360 degres // in 60 frames with a step of -6 degrees } rotor {translate [0,3,7];} } } windmill;