199 lines
3.3 KiB
POVRay
199 lines
3.3 KiB
POVRay
#include "treibstofftank.pov"
|
|
#include "landestuetze.pov"
|
|
#include "feldschirm_projektor_v.pov"
|
|
|
|
#local Z = -40;
|
|
|
|
#local treibstofftank_block =
|
|
union {
|
|
#local rr = 15.5;
|
|
#local rr2 = sqrt(48*48 - Z*Z);
|
|
#while (rr < rr2)
|
|
#local da = degrees(asin(0.5/rr))*2;
|
|
#if (rr < 21)
|
|
#local aa = degrees(asin(0.5/rr));
|
|
#else
|
|
#local aa = degrees(asin(2.6/rr));
|
|
#end
|
|
#local ae = 15 - degrees(asin(0.5/rr));
|
|
#local n = int((ae-aa)/da);
|
|
#local da = (ae-aa)/n;
|
|
#local i = 0;
|
|
#while (i <= n)
|
|
#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, -39.8, 0>
|
|
rotate <0, aa, 0>
|
|
}
|
|
#end
|
|
#local aa = aa + da;
|
|
#local i = i + 1;
|
|
#end
|
|
#local rr = rr + 1.0;
|
|
#end
|
|
}
|
|
|
|
#declare deck_03 =
|
|
union {
|
|
#if (1)
|
|
intersection {
|
|
union {
|
|
difference {
|
|
object { huelle }
|
|
// Ausschnitte
|
|
#local i = 0;
|
|
#while (i < 12)
|
|
object {
|
|
landestuetze_neg
|
|
rotate <0, i * 30, 0>
|
|
}
|
|
#local i = i + 1;
|
|
#end
|
|
}
|
|
}
|
|
box {
|
|
< 50, -40, 50>
|
|
<-50, -35, -50>
|
|
}
|
|
}
|
|
#end
|
|
difference {
|
|
cone {
|
|
<0, -40.2, 0> 29.5
|
|
<0, -39.8, 0> 30.0
|
|
texture { T_arkonstahl }
|
|
}
|
|
// AG
|
|
cylinder {
|
|
<0, -39, 0> <0, -41, 0> 2
|
|
}
|
|
#local aa = 0;
|
|
#while (aa < 360 )
|
|
union {
|
|
cone {
|
|
<27, Z-0.3, 0>, 2
|
|
<27, Z+0.3, 0>, 2
|
|
}
|
|
box {
|
|
<27, Z-0.3, -2>
|
|
<28, Z+0.3, +2>
|
|
}
|
|
cone {
|
|
<28, Z-0.3, 0>, 2
|
|
<28, Z+0.3, 0>, 2
|
|
}
|
|
texture { T_arkonstahl }
|
|
rotate <0, aa, 0>
|
|
}
|
|
#local aa = aa + 30;
|
|
#end
|
|
#ifdef (SCHNITT_1)
|
|
intersection {
|
|
torus {
|
|
28, 13
|
|
}
|
|
plane {
|
|
<0, 0, -1> 0
|
|
rotate <0, 45, 0>
|
|
}
|
|
plane {
|
|
<0, 0, +1> 0
|
|
rotate <0, -45, 0>
|
|
}
|
|
rotate <0, 135, 0>
|
|
translate <0, -40.0, 0>
|
|
}
|
|
#end
|
|
}
|
|
#local aa = 0;
|
|
#local da = 60;
|
|
#while (aa <= 360 - da)
|
|
object {
|
|
feldschirm_projektor_v
|
|
rotate <0, aa, 0>
|
|
}
|
|
#local aa = aa + da;
|
|
#end
|
|
|
|
// Ausschnitt f. Landestützen
|
|
#local aa = 0;
|
|
#while (aa < 360 )
|
|
#local ss = 1;
|
|
#if (SCHNITT_1 & (aa >= 120 & aa <= 150))
|
|
#local ss = 0;
|
|
#end
|
|
#if (ss)
|
|
difference {
|
|
union {
|
|
cone {
|
|
<23, Z+0.2, 0>, 2.1
|
|
<23, Z+4.8, 0>, 2.1
|
|
}
|
|
box {
|
|
<23, Z+0.2, -2.1>
|
|
<28, Z+4.8, +2.1>
|
|
}
|
|
cone {
|
|
<28, Z+0.2, 0>, 2.1
|
|
<28, Z+4.8, 0>, 2.1
|
|
}
|
|
texture { T_arkonstahl }
|
|
rotate <0, aa, 0>
|
|
}
|
|
union {
|
|
cone {
|
|
<23, Z+0.1, 0>, 2
|
|
<23, Z+4.9, 0>, 2
|
|
}
|
|
box {
|
|
<23, Z+0.1, -2>
|
|
<28, Z+4.9, +2>
|
|
}
|
|
cone {
|
|
<28, Z+0.1, 0>, 2
|
|
<28, Z+4.9, 0>, 2
|
|
}
|
|
texture { T_arkonstahl }
|
|
rotate <0, aa, 0>
|
|
}
|
|
object {
|
|
landestuetze_neg
|
|
color Red
|
|
rotate <0, aa, 0>
|
|
}
|
|
}
|
|
#end
|
|
#local aa = aa + 30;
|
|
#end
|
|
|
|
#local ii = 0;
|
|
#while (ii < 12)
|
|
#local ss = 1;
|
|
#if (SCHNITT_1 & (ii >= 3 & ii <= 6))
|
|
#local ss = 0;
|
|
#end
|
|
#if (ss)
|
|
object {
|
|
treibstofftank_block
|
|
rotate <0, ii*30, 0>
|
|
}
|
|
object {
|
|
treibstofftank_block
|
|
scale <1, 1, -1>
|
|
rotate <0, ii*30, 0>
|
|
}
|
|
#end
|
|
#local ii = ii + 1;
|
|
#end
|
|
|
|
|
|
}
|