/* Shift. Inspiriert von Rudolf Zengerles Risszeichnung. Länge: 9m [0..9] in z-Achse, Bug bei z=9. Spurweite: 3.8m Flügelspannweite: 7m [-3.5 .. +3.5] in x-Achse Höhe: 3m [0..3] in y-Achse */ #include "glass.inc" #include "textures.inc" #include "T_arkonstahl.pov" #declare shift_tf_r = union { intersection { difference { cylinder { <0, 0, 6.5> <0, 0, 2> 1 scale <0.6, 0.3, 1> translate <1.5, 1.5, 0> } cylinder { <0, 0, 6.51> <0, 0, 6.00> 1 scale <0.45, 0.25, 1> translate <1.5, 1.5, 0> } cylinder { <0, 0, 2.50> <0, 0, 1.99> 1 scale <0.45, 0.25, 1> translate <1.5, 1.5, 0> } } union { cylinder { <0, 0, 5.5> <0, 0, 3> 1 } sphere { <0, 0, 5.5> 1 } sphere { <0, 0, 3> 1 } scale <0.61, 0.31, 1> translate <1.5, 1.5, 0> } } intersection { cone { <0, 0, 0>, 1, <1, 0, 0>, 0 } box { <0, -1, 0>, <1, 1, 1> } matrix < 2.0, 0.00, 0.0, 0.0, 0.05, 0.0, -0.4, 0.00, 0.15, 1.5, 1.50, 5.00> } intersection { cone { <0, 0, 0>, 1, <1, 0, 0>, 0 } box { <0, -1, 0>, <1, 1, -1> } matrix < 2.0, 0.00, 0.0, 0.0, 0.05, 0.0, -0.4, 0.00, 2.00, 1.5, 1.50, 5.00> } } #declare shift_laufrad_r = union { cylinder { <0, 0, 0>, <0.5, 0, 0>, 0.20 } cone { <0.1, 0, 0>, 0.1, <-0.5, 0.6, -0.3>, 0.2 } cone { <0.1, 0, 0>, 0.1, <-0.5, 0.6, +0.3>, 0.2 } translate <0, 0.25, 0> } #declare shift_kette_r = union { union { cylinder { <0, 0, 0>, <0.5, 0, 0>, 0.20 } cone { <0.1, 0, 0>, 0.1, <-0.5, 0.3, 0>, 0.2 } translate <0, 0.5, 2.5> } object { shift_laufrad_r translate <0, 0, 3> } object { shift_laufrad_r translate <0, 0, 4> } object { shift_laufrad_r translate <0, 0, 5> } object { shift_laufrad_r translate <0, 0, 6> } object { shift_laufrad_r translate <0, 0, 7> } object { shift_laufrad_r translate <0, 0, 8> } union { cylinder { <0, 0, 0>, <0.5, 0, 0>, 0.20 } cone { <0.1, 0, 0>, 0.1, <-0.5, 0.3, 0>, 0.2 } translate <0, 0.5, 8.5> } #local i = 3; #while (i <= 8) box { <0, 0, -0.045>, <0.5, 0.05, 0.045> translate <0, 0, i> pigment { color <0.3, 0.3, 0.0> } } #local i = i + 0.1; #end #local i = 0; #while (i <= 0.55) box { <0, 0, -0.045>, <0.5, 0.05, 0.045> translate <0, -0.25, i> rotate <-26.56, 0, 0> translate <0, +0.25, 0> translate <0, 0, 8> pigment { color <0.3, 0.3, 0.0> } } #local i = i + 0.1; #end #local i = -40; #while (i >= -180) box { <0, 0, -0.045>, <0.5, 0.05, 0.045> translate <0, -0.25, 0> rotate translate <0, 0.5, 8.5> pigment { color <0.3, 0.3, 0.0> } } #local i = i - 28; #end #local i = 8.4; #while (i >= 2.5) box { <0, -0.20, -0.045>, <0.5, -0.25, 0.045> rotate <180, 0, 0> translate <0, 0.5, i> pigment { color <0.3, 0.3, 0.0> } } #local i = i - 0.1; #end #local i = 152; #while (i >= 25) box { <0, -0.20, -0.045>, <0.5, -0.25, 0.045> rotate translate <0, 0.5, 2.5> pigment { color <0.3, 0.3, 0.0> } } #local i = i - 28; #end #local i = 0.05; #while (i <= 0.55) box { <0, -0.20, -0.045>, <0.5, -0.25, 0.045> translate <0, 0, i> rotate <26.56, 0, 0> translate <0, 0.5, 2.5> pigment { color <0.3, 0.3, 0.0> } } #local i = i + 0.1; #end translate <1.4, 0, 0> } #declare shift_triebwerk = union { difference { cone { <0, 0, 0> 0.25, <0, 0, 0.5>, 0.20 } cone { <0, 0, -0.01> 0.24, <0, 0, 0.5>, 0.14 } } cone { <0, 0, 0.5>, 0.20 <0, 0, 1.0> 0.28 } translate <0, 0, 1> texture { pigment {color 0.1} } } #declare shift_strahler = union { difference { cone { <0, 0, 0> 0.10, <0, 0, 0.5>, 0.05 } cone { <0, 0, 0> 0.08, <0, 0, 0.51>, 0.04 } } sphere { <0, 0, 0>, 0.15 } } #declare shift = union { cylinder { <0, 0, 8> <0, 0, 2> 1 scale <0.5, 1, 1> translate <1, 1.5, 0> } cylinder { <0, 0, 8> <0, 0, 2> 1 scale <0.5, 1, 1> translate <-1, 1.5, 0> } box { <-1, 0.5, 2> <1, 2.5, 8> } sphere { <0, 0, 0> 1 scale <0.5, 1, 1.5> translate <-1, 1.5, 8> } sphere { <0, 0, 0> 1 scale <0.5, 1, 1.5> translate <+1, 1.5, 8> } cylinder { <-1, 0, 0> <1, 0, 0> 1 scale <1, 1, 1.5> translate <0, 1.5, 8> } object { shift_tf_r } object { shift_tf_r scale <-1, 1, 1> } sphere { <0, 0, 0> 1 scale <1, 0.5, 1.5> translate <0, 2.5, 5> texture { pigment { color red 0.3 green 0.3 blue 0.1} finish { ambient 0.0 diffuse 0.1 brilliance 1 reflection 0.2 specular 0.5 roughness 0.001 } } } object { shift_kette_r } object { shift_kette_r scale <-1, 1, 1> } #local i = 0; #while (i < 360) object { shift_triebwerk translate <0, 0.6, 0> rotate <0, 0, i> translate <0, 1.5, 0> } #local i = i + 60; #end object { shift_strahler translate <-0.8, 1.5, 9.5> } object { shift_strahler translate <+0.8, 1.5, 9.5> } object { shift_strahler translate <0, 2.2, 9.05> } texture { T_arkonstahl } translate <0, 0, -1> }