// wuerfel.pov // // povray-script zu wuerfel.c // // 12 jan 2005 Koepken // alles linkshaendisch: // z-Achse mit umgekehrtem Vorzeichen // positive Drehungen mit linker-Hand Regel #include "colors.inc" #include "shapes.inc" #include "textures.inc" #include "stones.inc" // Holz definieren #declare mywood= texture { DMFWood1 rotate <5,93,7> scale 5} // Ausgabe des Wuerfel-Programms einlesen #include "out.pov" // Teile nebeneinander aus einem Holzblock schnitzen #declare part0w=object{part0 translate 4*ind0*x texture {mywood} translate -4*ind0*x } #declare part1w=object{part1 translate 4*ind1*x texture {mywood} translate -4*ind1*x } #declare part2w=object{part2 translate 4*ind2*x texture {mywood} translate -4*ind2*x } #declare part3w=object{part3 translate 4*ind3*x texture {mywood} translate -4*ind3*x } #declare part4w=object{part4 translate 4*ind4*x texture {mywood} translate -4*ind4*x } #declare part5w=object{part5 translate 4*ind5*x texture {mywood} translate -4*ind5*x } // Alle Puzzleteile #declare allparts= union { object { part0w translate 5*ind0*x } object { part1w translate 5*ind1*x } object { part2w translate 5*ind2*x } object { part3w translate 5*ind3*x } object { part4w translate 5*ind4*x } object { part5w translate 5*ind5*x } } // Anzeige aller Puzzleteile object { allparts translate <-17,0,0> } // ein paar Tests zu Drehungen als Vorbereitung auf den zusammengesetzten Wuerfel //object { part1w translate <5,-5,-5> } //object { part1w translate <5,-5,-5> rotate 30*x } //object { part1w translate <5,-5,-5> rotate 120*y } //object { part1w translate <5,-4,-5> rotate 60*z } //object { part0w translate <5,-7,-5> rotate 60*z } union { object { part0w translate <-.5,-.5,.5> rotate rot0 translate tran0 translate 0*y} object { part1w translate <-.5,-.5,.5> rotate rot1 translate tran1 translate -6*z} rotate -45*z translate -15*x+5*y-6*z } union { object { part0w translate <-.5,-.5,.5> rotate rot0 translate tran0 translate 0*y} object { part1w translate <-.5,-.5,.5> rotate rot1 translate tran1 translate 0*y} object { part2w translate <-.5,-.5,.5> rotate rot2 translate tran2 translate -6*z} rotate -45*z translate -10*x+5*y-6*z } union { object { part0w translate <-.5,-.5,.5> rotate rot0 translate tran0 translate 0*y} object { part1w translate <-.5,-.5,.5> rotate rot1 translate tran1 translate 0*y} object { part2w translate <-.5,-.5,.5> rotate rot2 translate tran2 translate 0*y} object { part3w translate <-.5,-.5,.5> rotate rot3 translate tran3 translate -6*z} rotate -45*z translate -5*x+5*y-6*z } union { object { part0w translate <-.5,-.5,.5> rotate rot0 translate tran0 translate 0*y} object { part1w translate <-.5,-.5,.5> rotate rot1 translate tran1 translate 0*y} object { part2w translate <-.5,-.5,.5> rotate rot2 translate tran2 translate 0*y} object { part3w translate <-.5,-.5,.5> rotate rot3 translate tran3 translate 0*y} object { part4w translate <-.5,-.5,.5> rotate rot4 translate tran4 translate -6*z} rotate -45*z translate 0*x+5*y-6*z } union { object { part0w translate <-.5,-.5,.5> rotate rot0 translate tran0 translate 0*y} object { part1w translate <-.5,-.5,.5> rotate rot1 translate tran1 translate 0*y} object { part2w translate <-.5,-.5,.5> rotate rot2 translate tran2 translate 0*y} object { part3w translate <-.5,-.5,.5> rotate rot3 translate tran3 translate 0*y} object { part4w translate <-.5,-.5,.5> rotate rot4 translate tran4 translate 0*y} object { part5w translate <-.5,-.5,.5> rotate rot5 translate tran5 translate -6*z} rotate -45*z translate 5*x+5*y-6*z } union { object { part0w translate <-.5,-.5,.5> rotate rot0 translate tran0 translate 0*y} object { part1w translate <-.5,-.5,.5> rotate rot1 translate tran1 translate 0*y} object { part2w translate <-.5,-.5,.5> rotate rot2 translate tran2 translate 0*y} object { part3w translate <-.5,-.5,.5> rotate rot3 translate tran3 translate 0*y} object { part4w translate <-.5,-.5,.5> rotate rot4 translate tran4 translate 0*y} object { part5w translate <-.5,-.5,.5> rotate rot5 translate tran5 translate 0*y} rotate -45*z translate 10*x+5*y-6*z } camera { location <-1, -25, -35> look_at <-1,4, -5> angle 45 } // Licht in Kameraebene aus verschiedenen Richtungen light_source { <-20,0, -30> color White } light_source { <20,0, -30> color White } light_source { <0, -30, -50> color White } light_source { <0,-17, -50> color White }