3d/pr/schneller_kreuzer/triebwerk.pov

265 lines
3.7 KiB
POVRay

#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
}
}