3d/pr/schneller_kreuzer/deck_14.pov

135 lines
2.2 KiB
POVRay

#include "treibstofftank.pov"
#include "andruckabsorber.pov"
#include "hufeisenpult.pov"
#declare deck_14 =
union {
#if (1)
intersection {
union {
difference {
object { huelle }
// Ausschnitte
}
}
box {
<-50, 20, -50>
< 50, 15, 50>
}
}
#end
difference {
cone {
<0, 15.2, 0> 46.6
<0, 14.8, 0> 46.7
texture { T_arkonstahl }
}
// Ausschnitt f. Anlagen v. Deck 13.
difference {
cylinder {
<0, 14, 0> <0, 16, 0> 25
}
cylinder {
<0, 14, 0> <0, 16, 0> 15
}
}
difference {
cylinder {
<0, 14, 0> <0, 16, 0> 45
}
cylinder {
<0, 14, 0> <0, 16, 0> 40
}
}
#ifdef (SCHNITT_1)
box {
<0, -0.3, 0>
<-50, 0.3, -50>
translate <0, 15.0, 0>
}
#end
}
#local rr = 25.5;
#while (rr < 40.0)
#local da = degrees(asin(0.5/rr))*2;
#local aa = 0;
#while (aa <= 360 - da)
#local ss = 1;
#ifdef (SCHNITT_1)
#local pp = vrotate(<rr, 0, 0>, <0, aa, 0>);
#if (pp.x < 0 & pp.z < 0)
#local ss = 0;
#end
#end
#if (ss)
object {
treibstofftank
translate <rr, 15.2, 0>
rotate <0, aa, 0>
}
#end
#local aa = aa + da;
#end
#local rr = rr + 1.0;
#end
object {
andruckabsorber
translate <0, 15.2, 0>
}
#local a = 10;
#while (a < 360)
union {
sphere { <45.5, 17.5, 0>, 2 }
difference {
cone {
<45.5, 17.5, 0>, 0.3
<50.0, 19.0, 0>, 0.2
}
cone {
<45.5, 17.5, 0>, 0.2
<50.1, 19.1, 0>, 0.15
}
}
union {
box {
<46.0, 15.2, 0.5>
<39.9, 15.1, -0.5>
}
cone {
<43.4, 15.2, 0> 1
<43.4, 15.1, 0> 1
}
// texture { pigment { rgb <1, 1, 0> } }
}
#local r = 40;
#while (r <= 42.5)
cone {
<r, 15.2, 0.5> 0.01
<r, 16.2, 0.5> 0.01
}
cone {
<r, 15.2, -0.5> 0.01
<r, 16.2, -0.5> 0.01
}
#local r = r + 0.5;
#end
cone {
<40, 16.2, -0.5> 0.01
<42.5, 16.2, -0.5> 0.01
}
cone {
<40, 16.2, +0.5> 0.01
<42.5, 16.2, +0.5> 0.01
}
object {
hufeisenpult
translate <43.4, 15.2, 0>
}
texture { T_arkonstahl }
rotate <0, a, 0>
}
#local a = a + 60;
#end
}