#version 3.5; // benötigte POV-Ray-Version #include "colors.inc" #include "textures.inc" #include "metals.inc" #include "golds.inc" #include "skies.inc" #include "stars.inc" #include "stones1.inc" #include "stones2.inc" #include "woods.inc" //#declare intervall = 9; // Nur wenn das //#include "ks.inc" // Koordinatensystem //ks // benötigt wird. background {White} // Farbe des Hintergrundes // --------------------------------------------------------------------------- // Beschreibung der Kamera // --------------------------------------------------------------------------- camera { location<50,50,250> look_at<-25,30,0> angle 45 } // --------------------------------------------------------------------------- // Lichtquellen // --------------------------------------------------------------------------- light_source { <55,165,-45> color rgb <1, 1, 1>} light_source { <-55,165,145> color rgb <1, 1, 1> } // --------------------------------------------------------------- // Beginnen Sie, Objekte in der Szene zu beschreiben. // ******************************************************************************* // Wasser plane { y, 0 texture {Water scale 200} } //Himmel plane { z,-20250 texture {T_Cloud1 scale 1000} } //Haus 1 links union{ box{<0,-10,160>, <30,55,80> pigment {color rgb <1,1,0.6>} } box{<-2,55,163>, <32,57,83> pigment {color rgb <1,1,0.8>} } cylinder{<-15,-10,90> <-15,-5,90> 0.5 pigment{color Red} } cylinder{<-15,-5,90> <-15,0,90> 0.5 pigment{color White} } cylinder{<-15,0,90> <-15,5,90> 0.5 pigment{color Red} } cylinder{<-15,5,90> <-15,10,90> 0.5 pigment{color White}} cylinder{<-15,10,90> <-15,15,90> 0.5 pigment{color Red} } cylinder{<-15,15,90> <-15,20,90> 0.5 pigment{color White} } cylinder{<-15,20,90> <-15,25,90> 0.5 pigment{color Red} } cylinder{<-15,25,90> <-15,30,90> 0.5 pigment{color White} } cylinder{<-15,30,90> <-15,35,90> 0.5 pigment{color Red} } cylinder{<-25,-10,120> <-25,-5,120> 0.5 pigment{color Red} } cylinder{<-25,-5,120> <-25,0,120> 0.5 pigment{color White} } cylinder{<-25,0,120> <-25,5,120> 0.5 pigment{color Red} } cylinder{<-25,5,120> <-25,10,120> 0.5 pigment{color White}} cylinder{<-25,10,120> <-25,15,120> 0.5 pigment{color Red} } cylinder{<-25,15,120> <-25,20,120> 0.5 pigment{color White} } cylinder{<-25,20,120> <-25,25,120> 0.5 pigment{color Red} } cylinder{<-25,25,120> <-25,30,120> 0.5 pigment{color White} } cylinder{<-15,-10,150> <-15,-5,150> 0.5 pigment{color Red} } cylinder{<-15,-5,150> <-15,0,150> 0.5 pigment{color White} } cylinder{<-15,0,150> <-15,5,150> 0.5 pigment{color Red} } cylinder{<-15,5,150> <-15,10,150> 0.5 pigment{color White}} cylinder{<-15,10,150> <-15,15,150> 0.5 pigment{color Red} } cylinder{<-15,15,150> <-15,20,150> 0.5 pigment{color White} } cylinder{<-15,20,150> <-15,25,150> 0.5 pigment{color Red} } cylinder{<-15,25,150> <-15,30,150> 0.5 pigment{color White} } cylinder{<-15,30,150> <-15,35,150> 0.5 pigment{color Red} } cylinder{<-15,-10,140> <-15,-5,140> 0.5 pigment{color Red} } cylinder{<-15,-5,140> <-15,0,140> 0.5 pigment{color White} } cylinder{<-15,0,140> <-15,5,140> 0.5 pigment{color Red} } cylinder{<-15,5,140> <-15,10,140> 0.5 pigment{color White}} cylinder{<-15,10,140> <-15,15,140> 0.5 pigment{color Red} } cylinder{<-15,15,140> <-15,20,140> 0.5 pigment{color White} } cylinder{<-15,20,140> <-15,25,140> 0.5 pigment{color Red} } cylinder{<-35,-10,140> <-35,-5,140> 0.5 pigment{color Red} } cylinder{<-35,-5,140> <-35,0,140> 0.5 pigment{color White} } cylinder{<-35,0,140> <-35,5,140> 0.5 pigment{color Red} } cylinder{<-35,5,140> <-35,10,140> 0.5 pigment{color White}} cylinder{<-35,10,140> <-35,15,140> 0.5 pigment{color Red} } cylinder{<-35,15,140> <-35,20,140> 0.5 pigment{color White} } cone{<-0.5,57,161.5>, 1.5, <-0.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<2.5,57,161.5>, 1.5, <2.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<5.5,57,161.5>, 1.5, <5.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<8.5,57,161.5>, 1.5, <8.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<11.5,57,161.5>, 1.5, <11.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<14.5,57,161.5>, 1.5, <14.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<17.5,57,161.5>, 1.5, <17.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<20.5,57,161.5>, 1.5, <20.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<23.5,57,161.5>, 1.5, <23.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<26.5,57,161.5>, 1.5, <26.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<29.5,57,161.5>, 1.5, <29.5,58,161.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,158.5>, 1.5, <-0.5,58,158.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,155.5>, 1.5, <-0.5,58,155.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,152.5>, 1.5, <-0.5,58,152.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,149.5>, 1.5, <-0.5,58,149.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,146.5>, 1.5, <-0.5,58,146.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,143.5>, 1.5, <-0.5,58,143.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,140.5>, 1.5, <-0.5,58,140.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,137.5>, 1.5, <-0.5,58,137.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,134.5>, 1.5, <-0.5,58,134.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,131.5>, 1.5, <-0.5,58,131.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,128.5>, 1.5, <-0.5,58,128.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,125.5>, 1.5, <-0.5,58,125.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,122.5>, 1.5, <-0.5,58,122.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,119.5>, 1.5, <-0.5,58,119.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,116.5>, 1.5, <-0.5,58,116.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,113.5>, 1.5, <-0.5,58,113.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,110.5>, 1.5, <-0.5,58,110.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,107.5>, 1.5, <-0.5,58,107.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,104.5>, 1.5, <-0.5,58,104.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,101.5>, 1.5, <-0.5,58,101.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,98.5>, 1.5, <-0.5,58,98.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,95.5>, 1.5, <-0.5,58,95.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,92.5>, 1.5, <-0.5,58,92.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,89.5>, 1.5, <-0.5,58,89.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,86.5>, 1.5, <-0.5,58,86.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,158.5>, 1.5, <30.5,58,158.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,155.5>, 1.5, <30.5,58,155.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,152.5>, 1.5, <30.5,58,152.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,149.5>, 1.5, <30.5,58,149.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,146.5>, 1.5, <30.5,58,146.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,143.5>, 1.5, <30.5,58,143.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,140.5>, 1.5, <30.5,58,140.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,137.5>, 1.5, <30.5,58,137.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,134.5>, 1.5, <30.5,58,134.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,131.5>, 1.5, <30.5,58,131.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,128.5>, 1.5, <30.5,58,128.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,125.5>, 1.5, <30.5,58,125.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,122.5>, 1.5, <30.5,58,122.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,119.5>, 1.5, <30.5,58,119.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,116.5>, 1.5, <30.5,58,116.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,113.5>, 1.5, <30.5,58,113.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,110.5>, 1.5, <30.5,58,110.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,107.5>, 1.5, <30.5,58,107.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,104.5>, 1.5, <30.5,58,104.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,101.5>, 1.5, <30.5,58,101.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,98.5>, 1.5, <30.5,58,98.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,95.5>, 1.5, <30.5,58,95.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,92.5>, 1.5, <30.5,58,92.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,89.5>, 1.5, <30.5,58,89.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<30.5,57,86.5>, 1.5, <30.5,58,86.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<-0.5,57,81.5>, 1.5, <-0.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<2.5,57,81.5>, 1.5, <2.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<5.5,57,81.5>, 1.5, <5.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<8.5,57,81.5>, 1.5, <8.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<11.5,57,81.5>, 1.5, <11.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<14.5,57,81.5>, 1.5, <14.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<17.5,57,81.5>, 1.5, <17.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<20.5,57,81.5>, 1.5, <20.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<23.5,57,81.5>, 1.5, <23.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<26.5,57,81.5>, 1.5, <26.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} cone{<29.5,57,81.5>, 1.5, <29.5,58,81.5> 0 pigment {color rgb<1,1,0.6> rotate<0,0,0>}} union{ box{<30,10,155>, <30.1,25,145> pigment{color Black}} box{<30,10,143>, <30.1,25,133> pigment{color Black}} box{<30,10,131>, <30.1,25,121> pigment{color Black}} box{<30,10,119>, <30.1,25,109> pigment{color Black}} box{<30,10,107>, <30.1,25,97> pigment{color Black}} box{<30,10,95>, <30.1,25,85> pigment{color Black}} box{<30,30,155>, <30.1,45,145> pigment{color Black}} box{<30,30,143>, <30.1,45,133> pigment{color Black}} box{<30,30,131>, <30.1,45,121> pigment{color Black}} box{<30,30,119>, <30.1,45,109> pigment{color Black}} box{<30,30,107>, <30.1,45,97> pigment{color Black}} box{<30,30,95>, <30.1,45,85> pigment{color Black}} box{<0,15,155>, <-0.1,25,145> texture{T_Wood26 scale 20}} box{<0,15,143>, <-0.1,25,133> texture{T_Wood26 scale 20}} box{<0,15,131>, <-0.1,25,121> texture{T_Wood26 scale 20}} box{<0,15,119>, <-0.1,25,109> texture{T_Wood26 scale 20}} box{<0,15,107>, <-0.1,25,97> texture{T_Wood26 scale 20}} box{<0,15,95>, <-0.1,25,85> texture{T_Wood26 scale 20}} box{<0,35,155>, <-0.1,45,145> texture{T_Wood26 scale 20}} box{<0,30,143>, <-0.1,45,133> texture{T_Wood26 scale 20}} box{<0,30,131>, <-0.1,45,121> texture{T_Wood26 scale 20}} box{<0,30,119>, <-0.1,45,109> texture{T_Wood26 scale 20}} box{<0,30,107>, <-0.1,45,97> texture{T_Wood26 scale 20}} box{<0,35,95>, <-0.1,45,85> texture{T_Wood26 scale 20}} rotate<0,0,0>} cylinder{<15,30,120> <15,31,120> 30 pigment{color rgb<1,1,0.8>}} difference{ cylinder{<15,31,120> <15,37,120> 30} cylinder{<15,31,120> <15,39,120> 28} pigment {color rgb<1,1,0.6>}} rotate <0,29,0>} //Haus 2 links cylinder{<2.5,-10,80> <2.5,66,80> 5 texture{T_Stone35 scale 50} rotate<0,29,0>} cylinder{<27.5,-10,80> <27.5,66,80> 5 texture{T_Stone35 scale 50} rotate<0,29,0>} cylinder{<2.5,-10,60> <2.5,66,60> 5 texture{T_Stone35 scale 50} rotate<0,29,0>} cylinder{<27.5,-10,60> <27.5,66,60> 5 texture{T_Stone35 scale 50} rotate<0,29,0>} cylinder{<2.5,-10,20> <2.5,66,20> 5 texture{T_Stone35 scale 50} rotate<0,29,0>} cylinder{<27.5,-10,20> <27.5,66,20> 5 texture{T_Stone35 scale 50} rotate<0,29,0>} cylinder{<2.5,-10,0> <2.5,66,0> 5 texture{T_Stone35 scale 50} rotate<0,29,0>} cylinder{<27.5,-10,0> <27.5,66,0> 5 texture{T_Stone35 scale 50} rotate<0,29,0>} box{<2.5,-10,80> <27.5,63,0> texture{T_Stone34 scale 300} rotate<0,29,0>} #declare Zwiebeldach = sor{16, <0, -.5>, <5, 0.5>, <6, 1>, <8, 4>, <8.2, 5>, <7.8, 6>, <7.4, 7>, <6.9, 8>, <5.5, 9>, <5.3, 9.3>, <5.2, 9.4>, <4.4, 9.5>, <3.1, 10> <2,11>, <0.7,14>, <0,15> texture {Rusty_Iron}} union{ object {Zwiebeldach translate <2.5,66,80>} object {Zwiebeldach translate <27.5,66,80>} object {Zwiebeldach translate <2.5,66,60>} object {Zwiebeldach translate <27.5,66,60>} object {Zwiebeldach translate <2.5,66,20>} object {Zwiebeldach translate <27.5,66,20>} object {Zwiebeldach translate <2.5,66,0>} object {Zwiebeldach translate <27.5,66,0>} rotate<0,29,0>} cylinder{<15,63,40> <15,70,40> 12 texture{T_Stone34 scale 300} rotate<0,29,0>} #declare Zwiebeldacha = sor{16, <0, -.5>, <12, 0.5>, <13, 1>, <15, 4>, <15.2, 5>, <14.8, 6>, <14.4, 7>, <13.9, 8>, <12.5, 9>, <12.3, 9.3>, <11.5, 9.4>, <10, 9.5>, <8, 10> <4,11>, <0.7,14>, <0,15> texture {Rusty_Iron}} union{ object {Zwiebeldacha translate <15,70,40> rotate<0,29,0>}} cylinder{<2.5,-10,40> <2.5,2,40> 20 texture{T_Stone34 scale 300} rotate<0,29,0>} cylinder{<2.5,2,40> <2.5,4,40> 15 texture{T_Stone34 scale 300} rotate<0,29,0>} cylinder{<2.5,4,40> <2.5,6,40> 10 texture{T_Stone34 scale 300} rotate<0,29,0>} box{<2,6,34>, <2.6,23,46> texture{T_Wood27} rotate<0,29,0>} cylinder{<2,23,40> <2.6,23,40> 6 texture{T_Wood27} rotate<0,29,0>} cylinder{<2,47,40> <2.05,47,40> 12 texture{T_Gold_3A} rotate<0,29,0>} cylinder{<2.05,47,34> <1.95,47,34> 5.5 pigment{color Blue} rotate<0,29,0>} cylinder{<2.05,47,46> <1.95,47,46> 5.5 pigment{color Blue} rotate<0,29,0>} cylinder{<2.05,41,40> <1.95,41,40> 5 pigment{color Red} rotate<0,29,0>} cylinder{<2.05,53,40> <1.95,53,40> 5 pigment{color Red} rotate<0,29,0>} cylinder{<2.05,50,37> <1.9,50,37> 2.5 pigment{color Green} rotate<0,29,0>} cylinder{<2.05,50,43> <1.9,50,43> 2.5 pigment{color Green} rotate<0,29,0>} cylinder{<2.05,44,37> <1.9,44,37> 2.5 pigment{color Green} rotate<0,29,0>} cylinder{<2.05,44,43> <1.9,44,43> 2.5 pigment{color Green} rotate<0,29,0>} cylinder{<1.9,47,40> <1.8,47,40> 2 texture{T_Gold_3A} rotate<0,29,0>} //Haus 3 links box{<-9,-10,0> <33,54,-75> pigment{colour rgb <0.2,0.7,0.9>} rotate<0,29,0>} cylinder{<-17,-10,-30> <-17,21,-30> 1 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-17,-10,-45> <-17,19,-45> 1 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-33,-10,-30> <-33,15,-30> 1 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-33,-10,-45> <-33,14,-45> 1 texture{T_Wood12 scale 150} rotate<0,29,0>} box{<-9,5,-30> <-39,6.5,-45> texture{T_Wood12 scale 150} rotate<0,29,0>} box{<-9,54,0> <33,56,-75> texture{T_Wood12 scale 150} rotate<0,29,0>} box{<-9,5,-30>, <-9.5,29,-45> texture{T_Wood34} rotate<0,29,0>} box{<-9,30,-10>, <-9.5,50,-20> pigment{color Black} rotate<0,29,0>} box{<-9,30,-25>, <-9.5,50,-35> pigment{color Black} rotate<0,29,0>} box{<-9,30,-45>, <-9.5,50,-55> pigment{color Black} rotate<0,29,0>} box{<-9,10,-10>, <-9.5,25,-20> pigment{color Black} rotate<0,29,0>} cylinder{<-7,56,-7.5> <-7,60,-7.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-15> <-7,60,-15> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-22.5> <-7,60,-22.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-30> <-7,60,-30> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-37.5> <-7,60,-37.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-45> <-7,60,-45> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-52.5> <-7,60,-52.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-60> <-7,60,-60> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-67.5> <-7,60,-67.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-7,56,-74> <-7,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-7.5> <31,60,-7.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-15> <31,60,-15> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-22.5> <31,60,-22.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-30> <31,60,-30> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-37.5> <31,60,-37.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-45> <31,60,-45> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-52.5> <31,60,-52.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-60> <31,60,-60> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-67.5> <31,60,-67.5> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<31,56,-74> <31,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-6,56,-1> <-6,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-3,56,-1> <-3,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<0,56,-1> <0,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<3,56,-1> <3,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<6,56,-1> <6,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<9,56,-1> <9,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<12,56,-1> <12,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<15,56,-1> <15,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<18,56,-1> <18,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<21,56,-1> <21,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<24,56,-1> <24,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<27,56,-1> <27,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<30,56,-1> <30,60,-1> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-6,56,-74> <-6,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<-3,56,-74> <-3,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<0,56,-74> <0,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<3,56,-74> <3,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<6,56,-74> <6,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<9,56,-74> <9,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<12,56,-74> <12,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<15,56,-74> <15,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<18,56,-74> <18,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<21,56,-74> <21,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<24,56,-74> <24,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<27,56,-74> <27,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} cylinder{<30,56,-74> <30,60,-74> 1.3 texture{T_Wood12 scale 150} rotate<0,29,0>} box{<-9,60,0> <-7.5,61,-75> texture{T_Wood12 scale 150} rotate<0,29,0>} box{<31.5,60,0> <33,61,-75> texture{T_Wood12 scale 150} rotate<0,29,0>} box{<-7.5,60,0> <33,61,0> texture{T_Wood12 scale 150} rotate<0,29,0>} box{<-7.5,60,-75> <33,61,-75> texture{T_Wood12 scale 150} rotate<0,29,0>} //Haus 4 links box{<-13,-10,-75> <40,75,-158> pigment{color rgb<0.5,0.5,0.3>} rotate<0,29,0>} box{<-13,-10,-86.5> <-35,4,-146.5> pigment{color rgb<0.3,0.5,0.3>} rotate<0,29,0>} cylinder{<-23,4,-84> <-23,56,-84> 2 pigment{color rgb<0.5,0.5,0.3>} rotate<0,29,0>} cylinder{<-23,4,-140> <-23,56,-140> 2 pigment{color rgb<0.5,0.5,0.3>} rotate<0,29,0>} box{<-13,56,-86.5> <-27,60,-146.5> pigment{color rgb<0.3,0.5,0.3>} rotate<0,29,0>} box{<-14,8.5,-109.5>, <-14,36,-123.5> texture{T_Wood14} rotate<0,29,0>} cylinder{<-11,36,-116.5> <-14,36,-116.5> 7 texture{T_Wood14} rotate<0,29,0>} box{<-13,4,-106.5> <-21,5.5,-126.5> pigment{color rgb<0.5,0.5,0.3>} rotate<0,29,0>} box{<-13,5.5,-106.5> <-18,7,-126.5> pigment{color rgb<0.5,0.5,0.3>} rotate<0,29,0>} box{<-13,7,-106.5> <-15,8.5,-126.5> pigment{color rgb<0.5,0.5,0.3>} rotate<0,29,0>} //Platz links box{<-13,-10,-158> <150,4,-1030> texture{T_Grnt29} rotate<0,29,0>} //Haus 5 links box{<-15,-10,-1030> <190,8,-1400> texture{T_Stone43 scale 150} rotate<0,29,0>} box{<5,8,-1060> <160,90,-1370> texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<20,8,-1032> <20,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<45,8,-1032> <45,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<70,8,-1032> <70,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<95,8,-1032> <95,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<120,8,-1032> <120,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<145,8,-1032> <145,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<170,8,-1032> <170,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<20,8,-1398> <20,90,-1398> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<45,8,-1398> <45,90,-1398> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<70,8,-1398> <70,90,-1398> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<95,8,-1398> <95,90,-1398> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<120,8,-1398> <120,90,-1398> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<145,8,-1398> <145,90,-1398> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<170,8,-1398> <170,90,-1398> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1032> <-13,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1057> <-13,90,-1057> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1082> <-13,90,-1082> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1107> <-13,90,-1107> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1132> <-13,90,-1132> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1157> <-13,90,-1157> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1182> <-13,90,-1182> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1207> <-13,90,-1207> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1232> <-13,90,-1332> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1257> <-13,90,-1257> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1282> <-13,90,-1282> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1307> <-13,90,-1307> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1357> <-13,90,-1357> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<-13,8,-1383> <-13,90,-1382> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1032> <188,90,-1032> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1057> <188,90,-1057> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1082> <188,90,-1082> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1107> <188,90,-1107> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1132> <188,90,-1132> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1157> <188,90,-1157> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1182> <188,90,-1182> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1207> <188,90,-1207> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1232> <188,90,-1332> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1257> <188,90,-1257> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1282> <188,90,-1282> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1307> <188,90,-1307> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1357> <188,90,-1357> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} cylinder{<188,8,-1383> <188,90,-1382> 3 texture{T_Stone43 scale 150} rotate<0,29,0>} box{<-15,90,-1030> <190,95,-1400> texture{T_Stone43 scale 150} rotate<0,29,0>} box{<-5,95,-1040> <180,100,-1390> texture{T_Stone43 scale 150} rotate<0,29,0>} box{<5,100,-1050> <170,105,-1380> texture{T_Stone43 scale 150} rotate<0,29,0>} box{<15,105,-1060> <160,110,-1370> texture{T_Stone43 scale 150} rotate<0,29,0>} box{<25,110,-1070> <150,115,-1360> texture{T_Stone43 scale 150} rotate<0,29,0>} box{<35,115,-1080> <140,120,-1350> texture{T_Stone43 scale 150} rotate<0,29,0>} //Haus 1 rechts box{<-100,-10,180>, <-150,75,80> pigment {color rgb <0.8,0.6,0.4>} rotate<0,29,0> } box{<-80,0,160>, <-100,5,100> pigment {color rgb <0.8,0.6,0.4>} rotate<0,29,0> } box{<-85,5,155>, <-100,7,105> pigment {color rgb <0.8,0.6,0.4>} rotate<0,29,0> } box{<-90,7,150>, <-100,9,110> pigment {color rgb <0.8,0.6,0.4>} rotate<0,29,0> } box{<-99,9,145> <-110,30,115> texture{T_Brass_2A} finish {reflection 0.1 specular 0} rotate<0,29,0>} cylinder{<-99,30,130> <-100,30,130> 15 texture{T_Brass_2A} finish {reflection 0.1 specular 0} rotate<0,29,0>} box{<-99.9,50,169.5>, <-110,60,158.5> texture {T_Wood17} rotate<0,29,0> } box{<-99.9,50,153.5>, <-110,60,142.5> texture {T_Wood17} rotate<0,29,0> } box{<-99.9,50,137.5>, <-110,60,126.5> texture {T_Wood17} rotate<0,29,0> } box{<-99.9,50,121.5>, <-110,60,110.5> texture {T_Wood17} rotate<0,29,0> } //Haus 2 rechts box{<-95,-10,80>, <-160,90,10> texture {T_Stone13 scale 150} rotate<0,29,0> } cylinder{<-120,-10,45> <-120,70,45> 30 texture {T_Stone13 scale 150} rotate <0,29,0>} cylinder{<-120,70,45> <-120,73,45> 40 texture {T_Stone13 scale 150} rotate <0,29,0>} cylinder{<-120,-10,45> <-120,7,45> 50 texture {T_Stone13 scale 150} rotate <0,29,0>} cylinder{<-83,-10,45> <-83,70,45> 1.5 texture {T_Stone13 scale 150} rotate <0,29,0>} cylinder{<-88,-10,25> <-88,70,25> 1.5 texture {T_Stone13 scale 150} rotate <0,29,0>} cylinder{<-88,-10,65> <-88,70,65> 1.5 texture {T_Stone13 scale 150} rotate <0,29,0>} //Haus 3 rechts box{<-90,-10,10>, <-170,63,-60> pigment {color rgb <0.3,0.3,0.4>} rotate<0,29,0> } box{<-88,63,10>, <-172,66,-60> pigment {color rgb <0.3,0.3,0.6>} rotate<0,29,0> } box{<-90,66,10>, <-170,69,-60> pigment {color rgb <0.3,0.3,0.6>} rotate<0,29,0> } box{<-92,69,10>, <-168,73,-60> pigment {color rgb <0.3,0.3,0.6>} rotate<0,29,0> } box{<-90.5,15,2.5>, <-95,30,-12.5> pigment {color Black} rotate<0,29,0> } box{<-90.5,15,-17.5>, <-95,30,-32.5> pigment {color Black} rotate<0,29,0> } box{<-90.5,15,-37.5>, <-95,30,-52.5> pigment {color Black} rotate<0,29,0> } box{<-90.5,40,2.5>, <-95,55,-12.5> pigment {color Black} rotate<0,29,0> } box{<-90.5,40,-17.5>, <-95,55,-32.5> pigment {color Black} rotate<0,29,0> } box{<-90.5,40,-37.5>, <-95,55,-52.5> pigment {color Black} rotate<0,29,0> } //Platz rechts box{<-90,-10,-60> <-170,4,-610> texture{T_Grnt29 } rotate<0,29,0>} cylinder{<-130,-10,-610> <-130,4,-610> 40 texture{T_Grnt29 } rotate<0,29,0>} //Brücke #declare WOOD___LIGHT_OAK = texture { finish { ambient 0.10 diffuse 0.90 phong 0.42 phong_size 12.6 metallic } pigment { rgb <0.624, 0.624, 0.624>} /* Image map: WHITEASH.GIF, Strength: 0.21 */ } // Object CenterX CenterY CenterZ LengthX LengthY LengthZ // ---------- ---------- ---------- ---------- ---------- ---------- ---------- // rail6 -102.24 -293.48 -72.74 23.92 336.35 88.09 // rail -102.24 -293.48 -72.74 23.92 336.35 88.09 // rail14 100.58 70.23 -78.81 23.92 335.82 95.90 // rail07 100.58 70.23 -21.13 23.92 335.82 95.90 // rail06 -102.24 70.23 -78.81 23.92 335.82 95.90 // rail05 -102.24 70.23 -21.13 23.92 335.82 95.90 // rail13 102.67 -293.47 -14.61 23.92 337.05 82.35 // rail12 103.07 -168.95 -41.19 23.12 87.28 24.99 // rail11 103.07 -252.91 -47.84 23.12 89.07 34.23 // rail10 103.07 -335.49 -65.24 23.12 89.81 45.80 // rail09 102.27 -416.89 -91.41 23.12 89.53 50.75 // rail08 -102.24 -293.47 -14.61 23.92 337.05 82.35 // POST05 103.13 -471.70 -69.37 40.54 40.58 169.16 // POST04 103.13 -113.66 3.63 40.54 40.54 166.25 // POST03 103.13 238.49 -76.28 40.54 40.54 172.37 // POST02 -103.13 238.49 -75.73 40.54 40.54 171.13 // POST01 -103.13 -113.66 3.63 40.54 40.54 166.25 // POST -103.13 -471.68 -70.64 40.54 40.54 171.69 // PLANK09 0.00 -459.57 -147.50 252.24 72.81 39.51 // PLANK08 0.00 -387.61 -121.04 252.24 74.92 33.88 // PLANK07 0.00 -312.87 -100.90 252.24 76.26 27.85 // PLANK06 0.00 -234.21 -87.15 252.24 76.77 21.33 // PLANK05 0.00 80.10 -103.31 252.24 75.75 28.74 // PLANK04 0.00 154.03 -124.40 252.24 74.14 34.77 // PLANK03 0.00 224.95 -151.84 252.24 71.77 40.41 // PLANK02 0.00 -154.34 -80.57 252.24 76.50 14.56 // PLANK01 0.00 -75.61 -81.13 252.24 76.48 15.64 // PLANK 0.00 2.06 -88.59 252.24 76.55 22.23 object {union{#include "BRIDGE.inc"}rotate <-90,90,0> scale 0.12 translate<-66,23,-510> rotate<0,29,0>} //Laternen //#declare V_WorldBoundMin = <-9.500000, -9.015152, -69.950134>; //#declare V_WorldBoundMax = <9.500000, 22.800291, 39.006668>; #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,270,0> scale 0.4 translate <-5,43,-180> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,270,0> scale 0.4 translate <-5,43,-280> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,270,0> scale 0.4 translate <-5,43,-380> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,270,0> scale 0.4 translate <-5,43,-480> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,270,0> scale 0.4 translate <-5,43,-580> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,270,0> scale 0.4 translate <-5,43,-680> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,270,0> scale 0.4 translate <-5,43,-780> rotate <0,29,0>} //rechts #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,90,0> scale 0.4 translate <-100,43,-100> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,90,0> scale 0.4 translate <-100,43,-200> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,90,0> scale 0.4 translate <-100,43,-300> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,90,0> scale 0.4 translate <-100,43,-400> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,90,0> scale 0.4 translate <-100,43,-500> rotate <0,29,0>} #include "lantern_g.inc" union{ object{ P_Pole } object{ P_Support } object{ P_lampbase } object{ P_basesides } object{ P_Obj_000005 } object{ P_Obj_000006 } object{ P_roofbase } object{ P_Obj_000008 } object{ P_Obj_000009 } object{ P_Obj_000010 } object{ P_Obj_000011 } object{ P_bulb } object{ P_Obj_000013 } object{ P_Obj_000014 } object{ P_Obj_000015 } object{ P_Obj_000016 } object{ P_Roof } object{ P_toparch } object{ P_Obj_000019 } object{ P_RingOne } rotate <270,270,0> scale 0.4 translate <-100,43,-600> rotate <0,29,0>} //Boot //#declare Boot= //#declare V_WorldBoundMin = <-102.734375, -120.211922, -5.044211>; //#declare V_WorldBoundMax = <105.013710, 50.700005, 74.738747>; #include "boot1_g.inc" union{ object{ P_Planke1 } object{ P_Planke2 } object{ P_Paddel0 } object{ P_Paddel2 } object{ P_Loch1 } object{ P_Loch2 } object{ P_Rumpf } rotate <270,60,0> scale 0.17 translate <15,3,140> } //object{ P_def_light1 } //object{ P_def_light2 } //object{ P_def_light3 } //object{ P_Planke1 } //object{ P_Planke2 } //object{ P_Paddel0 } //object{ P_Paddel2 } //object{ P_Loch1 } //object{ P_Loch2 } //object{ P_Rumpf } //object {Boot translate <15,0,180>} // Bäume union{#local Test=on; #ifndef (gruen) #local gruen=on; #end #if (Test) #end #declare rnd=seed(723645); #include "functions.inc" #local blattpig=pigment{image_map{ png "Blaetter.png" transmit 0, 1}}; #local Blaetter=union{ // cylinder{<0,0,0>,<0,2,0>,0.01} polygon { 5, // number of points <-.25, 0>, <-.25, 2.25>, <.25, 2.25>, <.25, 0>, <-.25, 0> pigment{ blattpig scale<.5,2.3,1> translate<-.25,0,0> } rotate<0,90,0> } hollow } #macro get_Ast(tiefe,links,rechts,generation) #if (generation=0&tiefe>2) union{ #if (gruen) object{Blaetter rotate<0,90,0>} object{Blaetter rotate<0,90,0> translate<0,2,0>} #end cylinder{<0,0,0>,<0,4,0>,0.01*tiefe} #local move_y=4; #else #if (gruen|tiefe>0) union{ #else object{ #end #if (gruen) object{Blaetter rotate<0,90,0>} #end cylinder{<0,0,0>,<0,2,0>,0.01*tiefe} #local move_y=2; #end #if (tiefe>0) object{get_Ast(tiefe-1,on,on,generation) rotate translate<0,move_y,0>} #if (generation=0) #local move_y=0; #end #if (links) object{get_Ast(tiefe-1,links,on,generation+1) rotate translate<0,move_y,0>} #end #if (rechts) object{get_Ast(tiefe-1,on,rechts,generation+1) rotate translate<0,move_y,0>} #end #end } #end #local Ast=object{get_Ast(3,on,on,0) rotate<0,0,0>} #include "math.inc" //#include "Busch.pov" #macro Baumkrone(Punkte,anz_punkte,bewegung,Astdicke,mitte_fak,Mitte_einfluss,dicke_einfluss) union{ #debug "Erzeuge Baumkrone...\n" #local benutzt=array[anz_punkte]; #local dicke=array[anz_punkte]; #debug " - Initialisiere...\n" #local Schwerpunkt=<0,0,0>; #local lauf=0; #while (lauf1) #local Punkt1=Punkt1+1; #if (Punkt1>max_idx) #local Punkt1=0; #end #if (benutzt[Punkt1]=0) //Punkt suchen in O(n) #local lauf=Punkt1; #while(lauf<=max_idx&benutzt[lauf]=0) #local lauf=lauf+1; #end #if(benutzt[lauf]=0|lauf>max_idx) #local lauf=0; #while(benutzt[lauf]=0) #local lauf=lauf+1; #end #end #local Punkt1=lauf; #end #local lauf=0; #local dist=10E10; #local last_punkt=0; #local Punkt2=-1; #while (lauf<=max_idx) //Nachbar suchen in O(n) #if (benutzt[lauf]=1) #local last_punkt=lauf; #local ndist=(vlength(Punkte[Punkt1]-Punkte[lauf])+vlength(Punkte[lauf]-Schwerpunkt)*Mitte_einfluss)-sqrt(dicke[lauf])*dicke_einfluss; #if (ndist0)&(ziel_dicke>7)) #local senke=1; #if (y_delta>7) #local y_delta=3+rand(rnd); #local senke=2; #end #local ziel_vek=ziel_vek-<0,y_delta*2,0>; #end #local Schwerpunkt=Schwerpunkt+bewegung; #if (dicke[Punkt1]=1) #local rVek=Punkte[Punkt1]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt1],ziel_vek,sqrt(dicke[Punkt1])*Astdicke} #end #if (dicke[Punkt2]=1) #local rVek=Punkte[Punkt2]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt2],ziel_vek,sqrt(dicke[Punkt2])*Astdicke} sphere{ziel_vek,sqrt(ziel_dicke)*Astdicke} #end #local Punkte[ziel]=ziel_vek; //Daten aktualisieren #local dicke[ziel]=ziel_dicke; #local benutzt[max(Punkt1,Punkt2)]=0; #local Anzahl=Anzahl-1; #end #debug "fertig.\n" } #end #local Baumtex=texture{ pigment{ bumps pigment_map{ [0 color rgb<.3,.25,.05>] [.33 color rgb<.3,.24,.05>] [.7 color rgb<.15,.11,.02>] [1 color rgb<.12,.1,.015>] } scale <1,2,1>*.01 }} #if (Test) #declare rnd=seed(84634535); #local anzahl=275; #local Punktwolke=array[anzahl]; #local lauf=0; #while (lauf,); #local Punktwolke[lauf]=; #local lauf=lauf+1; #end object{Baumkrone(Punktwolke,anzahl,<0,-.055,0>,.05,1,.66,.0251) texture{Baumtex} translate<0,10,0>} #end scale 0.4 translate <-18,15,-230> rotate <0,0,0> rotate <0,29,0>} union{#local Test=on; #ifndef (gruen) #local gruen=on; #end #if (Test) #end #declare rnd=seed(723645); #include "functions.inc" #local blattpig=pigment{image_map{ png "Blaetter.png" transmit 0, 1}}; #local Blaetter=union{ // cylinder{<0,0,0>,<0,2,0>,0.01} polygon { 5, // number of points <-.25, 0>, <-.25, 2.25>, <.25, 2.25>, <.25, 0>, <-.25, 0> pigment{ blattpig scale<.5,2.3,1> translate<-.25,0,0> } rotate<0,90,0> } hollow } #macro get_Ast(tiefe,links,rechts,generation) #if (generation=0&tiefe>2) union{ #if (gruen) object{Blaetter rotate<0,90,0>} object{Blaetter rotate<0,90,0> translate<0,2,0>} #end cylinder{<0,0,0>,<0,4,0>,0.01*tiefe} #local move_y=4; #else #if (gruen|tiefe>0) union{ #else object{ #end #if (gruen) object{Blaetter rotate<0,90,0>} #end cylinder{<0,0,0>,<0,2,0>,0.01*tiefe} #local move_y=2; #end #if (tiefe>0) object{get_Ast(tiefe-1,on,on,generation) rotate translate<0,move_y,0>} #if (generation=0) #local move_y=0; #end #if (links) object{get_Ast(tiefe-1,links,on,generation+1) rotate translate<0,move_y,0>} #end #if (rechts) object{get_Ast(tiefe-1,on,rechts,generation+1) rotate translate<0,move_y,0>} #end #end } #end #local Ast=object{get_Ast(3,on,on,0) rotate<0,0,0>} #include "math.inc" //#include "Busch.pov" #macro Baumkrone(Punkte,anz_punkte,bewegung,Astdicke,mitte_fak,Mitte_einfluss,dicke_einfluss) union{ #debug "Erzeuge Baumkrone...\n" #local benutzt=array[anz_punkte]; #local dicke=array[anz_punkte]; #debug " - Initialisiere...\n" #local Schwerpunkt=<0,0,0>; #local lauf=0; #while (lauf1) #local Punkt1=Punkt1+1; #if (Punkt1>max_idx) #local Punkt1=0; #end #if (benutzt[Punkt1]=0) //Punkt suchen in O(n) #local lauf=Punkt1; #while(lauf<=max_idx&benutzt[lauf]=0) #local lauf=lauf+1; #end #if(benutzt[lauf]=0|lauf>max_idx) #local lauf=0; #while(benutzt[lauf]=0) #local lauf=lauf+1; #end #end #local Punkt1=lauf; #end #local lauf=0; #local dist=10E10; #local last_punkt=0; #local Punkt2=-1; #while (lauf<=max_idx) //Nachbar suchen in O(n) #if (benutzt[lauf]=1) #local last_punkt=lauf; #local ndist=(vlength(Punkte[Punkt1]-Punkte[lauf])+vlength(Punkte[lauf]-Schwerpunkt)*Mitte_einfluss)-sqrt(dicke[lauf])*dicke_einfluss; #if (ndist0)&(ziel_dicke>7)) #local senke=1; #if (y_delta>7) #local y_delta=3+rand(rnd); #local senke=2; #end #local ziel_vek=ziel_vek-<0,y_delta*2,0>; #end #local Schwerpunkt=Schwerpunkt+bewegung; #if (dicke[Punkt1]=1) #local rVek=Punkte[Punkt1]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt1],ziel_vek,sqrt(dicke[Punkt1])*Astdicke} #end #if (dicke[Punkt2]=1) #local rVek=Punkte[Punkt2]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt2],ziel_vek,sqrt(dicke[Punkt2])*Astdicke} sphere{ziel_vek,sqrt(ziel_dicke)*Astdicke} #end #local Punkte[ziel]=ziel_vek; //Daten aktualisieren #local dicke[ziel]=ziel_dicke; #local benutzt[max(Punkt1,Punkt2)]=0; #local Anzahl=Anzahl-1; #end #debug "fertig.\n" } #end #local Baumtex=texture{ pigment{ bumps pigment_map{ [0 color rgb<.3,.25,.05>] [.33 color rgb<.3,.24,.05>] [.7 color rgb<.15,.11,.02>] [1 color rgb<.12,.1,.015>] } scale <1,2,1>*.01 }} #if (Test) #declare rnd=seed(84634535); #local anzahl=275; #local Punktwolke=array[anzahl]; #local lauf=0; #while (lauf,); #local Punktwolke[lauf]=; #local lauf=lauf+1; #end object{Baumkrone(Punktwolke,anzahl,<0,-.055,0>,.05,1,.66,.0251) texture{Baumtex} translate<0,10,0>} #end scale 0.4 translate <-18,15,-530> rotate <0,0,0> rotate <0,29,0>} union{#local Test=on; #ifndef (gruen) #local gruen=on; #end #if (Test) #end #declare rnd=seed(723645); #include "functions.inc" #local blattpig=pigment{image_map{ png "Blaetter.png" transmit 0, 1}}; #local Blaetter=union{ // cylinder{<0,0,0>,<0,2,0>,0.01} polygon { 5, // number of points <-.25, 0>, <-.25, 2.25>, <.25, 2.25>, <.25, 0>, <-.25, 0> pigment{ blattpig scale<.5,2.3,1> translate<-.25,0,0> } rotate<0,90,0> } hollow } #macro get_Ast(tiefe,links,rechts,generation) #if (generation=0&tiefe>2) union{ #if (gruen) object{Blaetter rotate<0,90,0>} object{Blaetter rotate<0,90,0> translate<0,2,0>} #end cylinder{<0,0,0>,<0,4,0>,0.01*tiefe} #local move_y=4; #else #if (gruen|tiefe>0) union{ #else object{ #end #if (gruen) object{Blaetter rotate<0,90,0>} #end cylinder{<0,0,0>,<0,2,0>,0.01*tiefe} #local move_y=2; #end #if (tiefe>0) object{get_Ast(tiefe-1,on,on,generation) rotate translate<0,move_y,0>} #if (generation=0) #local move_y=0; #end #if (links) object{get_Ast(tiefe-1,links,on,generation+1) rotate translate<0,move_y,0>} #end #if (rechts) object{get_Ast(tiefe-1,on,rechts,generation+1) rotate translate<0,move_y,0>} #end #end } #end #local Ast=object{get_Ast(3,on,on,0) rotate<0,0,0>} #include "math.inc" //#include "Busch.pov" #macro Baumkrone(Punkte,anz_punkte,bewegung,Astdicke,mitte_fak,Mitte_einfluss,dicke_einfluss) union{ #debug "Erzeuge Baumkrone...\n" #local benutzt=array[anz_punkte]; #local dicke=array[anz_punkte]; #debug " - Initialisiere...\n" #local Schwerpunkt=<0,0,0>; #local lauf=0; #while (lauf1) #local Punkt1=Punkt1+1; #if (Punkt1>max_idx) #local Punkt1=0; #end #if (benutzt[Punkt1]=0) //Punkt suchen in O(n) #local lauf=Punkt1; #while(lauf<=max_idx&benutzt[lauf]=0) #local lauf=lauf+1; #end #if(benutzt[lauf]=0|lauf>max_idx) #local lauf=0; #while(benutzt[lauf]=0) #local lauf=lauf+1; #end #end #local Punkt1=lauf; #end #local lauf=0; #local dist=10E10; #local last_punkt=0; #local Punkt2=-1; #while (lauf<=max_idx) //Nachbar suchen in O(n) #if (benutzt[lauf]=1) #local last_punkt=lauf; #local ndist=(vlength(Punkte[Punkt1]-Punkte[lauf])+vlength(Punkte[lauf]-Schwerpunkt)*Mitte_einfluss)-sqrt(dicke[lauf])*dicke_einfluss; #if (ndist0)&(ziel_dicke>7)) #local senke=1; #if (y_delta>7) #local y_delta=3+rand(rnd); #local senke=2; #end #local ziel_vek=ziel_vek-<0,y_delta*2,0>; #end #local Schwerpunkt=Schwerpunkt+bewegung; #if (dicke[Punkt1]=1) #local rVek=Punkte[Punkt1]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt1],ziel_vek,sqrt(dicke[Punkt1])*Astdicke} #end #if (dicke[Punkt2]=1) #local rVek=Punkte[Punkt2]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt2],ziel_vek,sqrt(dicke[Punkt2])*Astdicke} sphere{ziel_vek,sqrt(ziel_dicke)*Astdicke} #end #local Punkte[ziel]=ziel_vek; //Daten aktualisieren #local dicke[ziel]=ziel_dicke; #local benutzt[max(Punkt1,Punkt2)]=0; #local Anzahl=Anzahl-1; #end #debug "fertig.\n" } #end #local Baumtex=texture{ pigment{ bumps pigment_map{ [0 color rgb<.3,.25,.05>] [.33 color rgb<.3,.24,.05>] [.7 color rgb<.15,.11,.02>] [1 color rgb<.12,.1,.015>] } scale <1,2,1>*.01 }} #if (Test) #declare rnd=seed(84634535); #local anzahl=275; #local Punktwolke=array[anzahl]; #local lauf=0; #while (lauf,); #local Punktwolke[lauf]=; #local lauf=lauf+1; #end object{Baumkrone(Punktwolke,anzahl,<0,-.055,0>,.05,1,.66,.0251) texture{Baumtex} translate<0,10,0>} #end scale 0.4 translate <-18,15,-430> rotate <0,0,0> rotate <0,29,0>} union{#local Test=on; #ifndef (gruen) #local gruen=on; #end #if (Test) #end #declare rnd=seed(723645); #include "functions.inc" #local blattpig=pigment{image_map{ png "Blaetter.png" transmit 0, 1}}; #local Blaetter=union{ // cylinder{<0,0,0>,<0,2,0>,0.01} polygon { 5, // number of points <-.25, 0>, <-.25, 2.25>, <.25, 2.25>, <.25, 0>, <-.25, 0> pigment{ blattpig scale<.5,2.3,1> translate<-.25,0,0> } rotate<0,90,0> } hollow } #macro get_Ast(tiefe,links,rechts,generation) #if (generation=0&tiefe>2) union{ #if (gruen) object{Blaetter rotate<0,90,0>} object{Blaetter rotate<0,90,0> translate<0,2,0>} #end cylinder{<0,0,0>,<0,4,0>,0.01*tiefe} #local move_y=4; #else #if (gruen|tiefe>0) union{ #else object{ #end #if (gruen) object{Blaetter rotate<0,90,0>} #end cylinder{<0,0,0>,<0,2,0>,0.01*tiefe} #local move_y=2; #end #if (tiefe>0) object{get_Ast(tiefe-1,on,on,generation) rotate translate<0,move_y,0>} #if (generation=0) #local move_y=0; #end #if (links) object{get_Ast(tiefe-1,links,on,generation+1) rotate translate<0,move_y,0>} #end #if (rechts) object{get_Ast(tiefe-1,on,rechts,generation+1) rotate translate<0,move_y,0>} #end #end } #end #local Ast=object{get_Ast(3,on,on,0) rotate<0,0,0>} #include "math.inc" //#include "Busch.pov" #macro Baumkrone(Punkte,anz_punkte,bewegung,Astdicke,mitte_fak,Mitte_einfluss,dicke_einfluss) union{ #debug "Erzeuge Baumkrone...\n" #local benutzt=array[anz_punkte]; #local dicke=array[anz_punkte]; #debug " - Initialisiere...\n" #local Schwerpunkt=<0,0,0>; #local lauf=0; #while (lauf1) #local Punkt1=Punkt1+1; #if (Punkt1>max_idx) #local Punkt1=0; #end #if (benutzt[Punkt1]=0) //Punkt suchen in O(n) #local lauf=Punkt1; #while(lauf<=max_idx&benutzt[lauf]=0) #local lauf=lauf+1; #end #if(benutzt[lauf]=0|lauf>max_idx) #local lauf=0; #while(benutzt[lauf]=0) #local lauf=lauf+1; #end #end #local Punkt1=lauf; #end #local lauf=0; #local dist=10E10; #local last_punkt=0; #local Punkt2=-1; #while (lauf<=max_idx) //Nachbar suchen in O(n) #if (benutzt[lauf]=1) #local last_punkt=lauf; #local ndist=(vlength(Punkte[Punkt1]-Punkte[lauf])+vlength(Punkte[lauf]-Schwerpunkt)*Mitte_einfluss)-sqrt(dicke[lauf])*dicke_einfluss; #if (ndist0)&(ziel_dicke>7)) #local senke=1; #if (y_delta>7) #local y_delta=3+rand(rnd); #local senke=2; #end #local ziel_vek=ziel_vek-<0,y_delta*2,0>; #end #local Schwerpunkt=Schwerpunkt+bewegung; #if (dicke[Punkt1]=1) #local rVek=Punkte[Punkt1]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt1],ziel_vek,sqrt(dicke[Punkt1])*Astdicke} #end #if (dicke[Punkt2]=1) #local rVek=Punkte[Punkt2]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt2],ziel_vek,sqrt(dicke[Punkt2])*Astdicke} sphere{ziel_vek,sqrt(ziel_dicke)*Astdicke} #end #local Punkte[ziel]=ziel_vek; //Daten aktualisieren #local dicke[ziel]=ziel_dicke; #local benutzt[max(Punkt1,Punkt2)]=0; #local Anzahl=Anzahl-1; #end #debug "fertig.\n" } #end #local Baumtex=texture{ pigment{ bumps pigment_map{ [0 color rgb<.3,.25,.05>] [.33 color rgb<.3,.24,.05>] [.7 color rgb<.15,.11,.02>] [1 color rgb<.12,.1,.015>] } scale <1,2,1>*.01 }} #if (Test) #declare rnd=seed(84634535); #local anzahl=275; #local Punktwolke=array[anzahl]; #local lauf=0; #while (lauf,); #local Punktwolke[lauf]=; #local lauf=lauf+1; #end object{Baumkrone(Punktwolke,anzahl,<0,-.055,0>,.05,1,.66,.0251) texture{Baumtex} translate<0,10,0>} #end scale 0.4 translate <-18,15,-330> rotate <0,0,0> rotate <0,29,0>} union{#local Test=on; #ifndef (gruen) #local gruen=on; #end #if (Test) #end #declare rnd=seed(723645); #include "functions.inc" #local blattpig=pigment{image_map{ png "Blaetter.png" transmit 0, 1}}; #local Blaetter=union{ // cylinder{<0,0,0>,<0,2,0>,0.01} polygon { 5, // number of points <-.25, 0>, <-.25, 2.25>, <.25, 2.25>, <.25, 0>, <-.25, 0> pigment{ blattpig scale<.5,2.3,1> translate<-.25,0,0> } rotate<0,90,0> } hollow } #macro get_Ast(tiefe,links,rechts,generation) #if (generation=0&tiefe>2) union{ #if (gruen) object{Blaetter rotate<0,90,0>} object{Blaetter rotate<0,90,0> translate<0,2,0>} #end cylinder{<0,0,0>,<0,4,0>,0.01*tiefe} #local move_y=4; #else #if (gruen|tiefe>0) union{ #else object{ #end #if (gruen) object{Blaetter rotate<0,90,0>} #end cylinder{<0,0,0>,<0,2,0>,0.01*tiefe} #local move_y=2; #end #if (tiefe>0) object{get_Ast(tiefe-1,on,on,generation) rotate translate<0,move_y,0>} #if (generation=0) #local move_y=0; #end #if (links) object{get_Ast(tiefe-1,links,on,generation+1) rotate translate<0,move_y,0>} #end #if (rechts) object{get_Ast(tiefe-1,on,rechts,generation+1) rotate translate<0,move_y,0>} #end #end } #end #local Ast=object{get_Ast(3,on,on,0) rotate<0,0,0>} #include "math.inc" //#include "Busch.pov" #macro Baumkrone(Punkte,anz_punkte,bewegung,Astdicke,mitte_fak,Mitte_einfluss,dicke_einfluss) union{ #debug "Erzeuge Baumkrone...\n" #local benutzt=array[anz_punkte]; #local dicke=array[anz_punkte]; #debug " - Initialisiere...\n" #local Schwerpunkt=<0,0,0>; #local lauf=0; #while (lauf1) #local Punkt1=Punkt1+1; #if (Punkt1>max_idx) #local Punkt1=0; #end #if (benutzt[Punkt1]=0) //Punkt suchen in O(n) #local lauf=Punkt1; #while(lauf<=max_idx&benutzt[lauf]=0) #local lauf=lauf+1; #end #if(benutzt[lauf]=0|lauf>max_idx) #local lauf=0; #while(benutzt[lauf]=0) #local lauf=lauf+1; #end #end #local Punkt1=lauf; #end #local lauf=0; #local dist=10E10; #local last_punkt=0; #local Punkt2=-1; #while (lauf<=max_idx) //Nachbar suchen in O(n) #if (benutzt[lauf]=1) #local last_punkt=lauf; #local ndist=(vlength(Punkte[Punkt1]-Punkte[lauf])+vlength(Punkte[lauf]-Schwerpunkt)*Mitte_einfluss)-sqrt(dicke[lauf])*dicke_einfluss; #if (ndist0)&(ziel_dicke>7)) #local senke=1; #if (y_delta>7) #local y_delta=3+rand(rnd); #local senke=2; #end #local ziel_vek=ziel_vek-<0,y_delta*2,0>; #end #local Schwerpunkt=Schwerpunkt+bewegung; #if (dicke[Punkt1]=1) #local rVek=Punkte[Punkt1]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt1],ziel_vek,sqrt(dicke[Punkt1])*Astdicke} #end #if (dicke[Punkt2]=1) #local rVek=Punkte[Punkt2]-ziel_vek; #if (rVek.x=0&rVek.z=0) #local y_rot=0; #else #local y_rot=VAngle(,<1,0,0>)*180/pi; #end #if (rVek.z<0) #local y_rot=y_rot*-1; #end #if (rVek.x=0&rVek.y=0) #local z_rot=180; #else #local z_rot=VAngle(,<0,1,0>)*180/pi;//+180; #end #if (abs(z_rot)>90) #local a_rot=-90; #else #local a_rot=90; #end #local invtrans=transform{ rotate <0,0,-z_rot> rotate <0,-y_rot,0> translate ziel_vek } #if (vlength(rVek)>0) object{Ast rotate transform{invtrans}} #end #else cylinder{Punkte[Punkt2],ziel_vek,sqrt(dicke[Punkt2])*Astdicke} sphere{ziel_vek,sqrt(ziel_dicke)*Astdicke} #end #local Punkte[ziel]=ziel_vek; //Daten aktualisieren #local dicke[ziel]=ziel_dicke; #local benutzt[max(Punkt1,Punkt2)]=0; #local Anzahl=Anzahl-1; #end #debug "fertig.\n" } #end #local Baumtex=texture{ pigment{ bumps pigment_map{ [0 color rgb<.3,.25,.05>] [.33 color rgb<.3,.24,.05>] [.7 color rgb<.15,.11,.02>] [1 color rgb<.12,.1,.015>] } scale <1,2,1>*.01 }} #if (Test) #declare rnd=seed(84634535); #local anzahl=275; #local Punktwolke=array[anzahl]; #local lauf=0; #while (lauf,); #local Punktwolke[lauf]=; #local lauf=lauf+1; #end object{Baumkrone(Punktwolke,anzahl,<0,-.055,0>,.05,1,.66,.0251) texture{Baumtex} translate<0,10,0>} #end scale 0.4 translate <-18,15,-130> rotate <0,0,0> rotate <0,29,0>}