Triebwerke

This commit is contained in:
hjp 2007-12-23 16:35:17 +00:00
parent bfb041a30d
commit 6b103219b5
2 changed files with 348 additions and 43 deletions

View File

@ -1,60 +1,101 @@
#local Eps = 1E-6;
#include "triebwerk.pov"
#declare ringwulst =
difference {
union {
difference {
union {
difference {
union {
cylinder {
<0, -10, 0>
<0, 10, 0>
50
}
torus {
50, 15
scale <1, 10/15, 1>
}
}
cylinder {
<0, -10, 0>
<0, 10, 0>
50
}
torus {
50, 15
scale <1, 10/15, 1>
<0, -10 - Eps, 0>
<0, 10 + Eps, 0>
15
}
}
cylinder {
<0, -10 - Eps, 0>
<0, 10 + Eps, 0>
15
}
}
difference {
union {
difference {
union {
cylinder {
<0, -8, 0>
<0, 8, 0>
50
}
torus {
50, 13
scale <1, 8/13, 1>
}
}
cylinder {
<0, -8, 0>
<0, 8, 0>
50
}
torus {
50, 13
scale <1, 8/13, 1>
<0, -8 - Eps, 0>
<0, 8 + Eps, 0>
17
}
}
cylinder {
<0, -8 - Eps, 0>
<0, 8 + Eps, 0>
17
box {
<-100, -100, -100>
< 0, 100, 0>
}
}
box {
<-100, -100, -100>
< 0, 100, 0>
}
#local i = 0;
#while (i < 18)
#local aa = i * 360 / 18;
#local ss = 1;
#ifdef (SCHNITT_1)
#local pp = vrotate(<0, 0, 1>, <0, aa, 0>);
#if (pp.x < 0 & pp.z < 0)
#local ss = 0;
#end
#end
#if (ss)
object {
triebwerk_neg
rotate <0, aa, 0>
}
#end
#if (0)
texture {
crackle
texture_map {
[ 0.0 T_arkonstahl ]
[ 0.2 T_arkonstahl ]
[ 0.2 T_luft ]
[ 1.0 T_luft ]
#local i = i + 1;
#end
#if (0)
texture {
crackle
texture_map {
[ 0.0 T_arkonstahl ]
[ 0.2 T_arkonstahl ]
[ 0.2 T_luft ]
[ 1.0 T_luft ]
}
}
#else
texture { T_arkonstahl }
#end
}
#else
texture { T_arkonstahl }
#local i = 0;
#while (i < 18)
#local aa = i * 360 / 18;
#local ss = 1;
#ifdef (SCHNITT_1)
#local pp = vrotate(<0, 0, 1>, <0, aa, 0>);
#if (pp.x < 0 & pp.z < 0)
#local ss = 0;
#end
#end
#if (ss)
object {
triebwerk
rotate <0, aa, 0>
}
#end
#local i = i + 1;
#end
}

View File

@ -0,0 +1,264 @@
#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
}
}