3d/pr/schneller_kreuzer/deck_08.pov

101 lines
1.6 KiB
POVRay

#include "T_bodenbelag.pov"
#include "feldschirm_projektor.pov"
#include "treibstofftank.pov"
#declare deck_08 =
union {
// Deck
#if (1)
intersection {
union {
difference {
object { huelle }
// Ausschnitte
}
}
box {
< 50, -10, 50>
<-50, -15, -50>
}
}
#end
difference { // XXX
cone {
<0, -14.8, 0> 40.0
<0, -15.2, 0> 40.0
// texture { T_arkonstahl }
// texture { T_bodenbelag }
texture { pigment { rgb < 1, 0, 0 > } }
}
torus {
(15+6)/2, (15-6)/2
translate <0, -15.0, 0>
}
#ifdef (SCHNITT_1)
intersection {
cone {
<0, -0.3, 0> 47.1
<0, 0.3, 0> 47.1
}
plane {
<0, 0, -1> 0
rotate <0, 45, 0>
}
plane {
<0, 0, +1> 0
rotate <0, -45, 0>
}
rotate <0, 135, 0>
translate <0, -15.0, 0>
texture { pigment { rgb < 1, 0, 0 > } }
}
#end
}
// Treibstofftanks
#local rr = 25.5;
#while (rr < 40.0)
#local da = degrees(asin(0.5/rr))*2;
#local da = 360 / int(360 / da);
#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, -14.8, 0>
rotate <0, aa, 0>
}
#end
#local aa = aa + da;
#end
#local rr = rr + 1.0;
#end
#local a = 0;
#while (a < 360)
#if (!SCHNITT_1 | a <= 270)
object {
feldschirm_projektor
scale <0, -1, 0>
rotate <0, a, 0>
}
#end
#local a = a + 20;
#end
}