#include "T_arkonstahl.pov" #include "glass.inc" #include "rounded_box.pov" #local Eps = 1E-6; #local l_a_r = union { cylinder { <0, 5.0, 0>, <2.8, 5.0, 0>, 0.1 } sphere { <2.8, 5.0, 0>, 0.1 } cylinder { <2.8, 5.0, 0>, <2.8, -5.0, 0>, 0.1 } sphere { <2.8, -5.0, 0>, 0.1 } } #local l_1_r = union { object { l_a_r translate <0, 0, 20> } cylinder { <2.8, -5.0, 20.0>, <2.8, -5.0, 21.0>, 0.1 } sphere { <2.8, -5.0, 21.0>, 0.1 } cylinder { <2.8, -5.0, 21.0>, <2.5, -5.0, 21.0>, 0.1 } pigment { rgb <1, 0.5, 0> } } #local l_2_r = union { object { l_a_r translate <0, 0, 27.5> } cylinder { <2.8, -5.0, 27.5>, <2.5, -5.0, 27.5>, 0.1 } pigment { rgb <1, 0.5, 0> } } #local l_3_r = union { object { l_a_r translate <0, 0, 35> } cylinder { <2.8, -5.0, 35.0>, <2.8, -5.0, 31.0>, 0.1 } sphere { <2.8, -5.0, 31.0>, 0.1 } cylinder { <2.8, -5.0, 31.0>, <2.5, -5.0, 31.0>, 0.1 } pigment { rgb <1, 0.5, 0> } } #declare triebwerk = union { union { sphere { <0, 0, 0>, 1 scale 2.5 } cone { <0, 0, 0>, 0 <0, 3, 0>, 1.0 } translate <0, 5.0, 20> pigment { rgb <1, 0.5, 0> } } object { l_1_r } object { l_1_r scale <-1, 1, 1> } union { sphere { <0, 0, 0>, 1 scale 2.5 } cone { <0, 0, 0>, 0 <0, 3, 0>, 1.0 } translate <0, 5.0, 27.5> pigment { rgb <1, 0.5, 0> } } object { l_2_r pigment { rgb <1, 0, 0> } } object { l_2_r scale <-1, 1, 1> } union { sphere { <0, 0, 0>, 1 scale 2.5 } cone { <0, 0, 0>, 0 <0, 3, 0>, 1.0 } translate <0, 5.0, 35> pigment { rgb <1, 0.5, 0> } } object { l_3_r } object { l_3_r scale <-1, 1, 1> } union { cylinder { <1, 0, 22>, <1, -2.5, 22>, 1 } cylinder { <-1, 0, 22>, <-1, -2.5, 22>, 1 } cylinder { <0, 0, 21> <0, 0, 32> 1.0 } #local z0 = 22; #while (z0 <= 32) sphere { <0, 0, 0>, 1 scale 0.2 translate <0, 1.1, z0> rotate <0, 0, z0 * 180> pigment { rgb <0, 0, 0.2> } } sphere { <0, 0, 0>, 1 scale 0.2 translate <0, -1.1, z0> rotate <0, 0, z0 * 180> pigment { rgb <0, 0, 0.2> } } #local z0 = z0 + 0.05; #end torus { 1,1 scale 1.0 rotate <90, 0, 0> translate <0, 0, 22.0> } cone { <0, 0, 32> 1.0 <0, 0, 40> 3.0 } cone { <0, 0, 40> 3.0 <0, 0, 49> 3.0 } cone { <0, 0, 49> 3.0 <0, 0, 50> 2.0 } cone { <0, 0, 50> 2.0 <0, 0, 56> 2.0 } sphere { <0, 0, 56>, 3.0 } intersection { union { difference { cone { <0, 0, 56> 0.5 <0, 10, 57.5> 3.0 } cone { <0, 0, 56> 0.1 <0, 10 + Eps, 57.5 + Eps> 2.5 } } difference { cone { <0, 0, 56> 0.5 <0, -10, 57.5> 3.0 } cone { <0, 0, 56> 0.1 <0, -10 + Eps, 57.5 + Eps> 2.5 } } } torus { 50, 15 scale <1, 10/15, 1> } } prism { -1, 1, 5, <3.5, -8> <-3.5, -8>, <-3, -1>, <3, -1>, <3.5, -8> rotate <-90, 0, 0> translate <0, 0, 41> } prism { -1, 1, 5, <3.5, -8> <-3.5, -8>, <-2.5, -1>, <2.5, -1>, <3.5, -8> rotate <-90, 0, 0> translate <0, 0, 53> } texture { T_arkonstahl } } object { rounded_box(<-2.5, -8, 20>, <2.5, -2.5, 32>, 0.5) texture { T_Ruby_Glass } interior { I_Glass } } } #declare triebwerk_neg = union { cone { <0, 0, 56> 0.5 <0, 10, 57.5> 3.0 } cone { <0, 0, 56> 0.5 <0, -10, 57.5> 3.0 } }