diff --git a/pr/schneller_kreuzer/deck_12.pov b/pr/schneller_kreuzer/deck_12.pov new file mode 100644 index 0000000..79c7dd2 --- /dev/null +++ b/pr/schneller_kreuzer/deck_12.pov @@ -0,0 +1,216 @@ +#include "kabine.pov" +#include "kabine4.pov" +#include "T_bodenbelag.pov" +#include "ortung.pov" + +#declare Eps=1E-3; + +#local kabinen_deck = + union { + object { + kabine1 + translate <0, 0, 0> + } + object { + kabine1 + scale <-1, 1, +1> + translate <0, 0, 0> + } + + object { + kabine1 + translate <0, 0, 0> + rotate <0, 90, 0> + } + object { + kabine1 + scale <-1, 1, +1> + translate <0, 0, 0> + rotate <0, 90, 0> + } + + #ifndef (SCHNITT_1) + object { + kabine1 + translate <0, 0, 0> + rotate <0, 180, 0> + } + #end + object { + kabine1 + scale <-1, 1, +1> + translate <0, 0, 0> + rotate <0, 180, 0> + } + + object { + kabine1 + translate <0, 0, 0> + rotate <0, 270, 0> + } + #ifndef (SCHNITT_1) + object { + kabine1 + scale <-1, 1, +1> + translate <0, 0, 0> + rotate <0, 270, 0> + } + #end + + #local A0 = 0; + #while (A0 < 360) + #local I1 = 0; + #while (I1 < 4) + #local A = A0 + (-1.5 + I1) * Kw; + #local ss = 1; + #ifdef (SCHNITT_1) + #local pp = vrotate(<0, 0, 1>, <0, A, 0>); + #if (pp.x < 0 & pp.z < 0) + #local ss = 0; + #end + #end + #if (ss) + object { + kabine4 + rotate <0, A, 0> + } + #end + #local I1 = I1 + 1; + #end + #local A0 = A0 + 90; + #end + + difference { + intersection { + cone { + <0, 0, 0> 46.6 + <0, -0.1, 0> 46.7 + texture { T_bodenbelag } + } + torus { + (15+6)/2, (15-6)/2 + } + } + box { + <-5.9, -0.1-Eps, -1> + <-10, 0+Eps, +1> + texture { T_bodenbelag } + } + box { + <-5.9, -0.1-Eps, -1> + <-10, 0+Eps, +1> + texture { T_bodenbelag } + rotate <0, 90, 0> + } + box { + <-5.9, -0.1-Eps, -1> + <-10, 0+Eps, +1> + texture { T_bodenbelag } + rotate <0, 180, 0> + } + box { + <-5.9, -0.1-Eps, -1> + <-10, 0+Eps, +1> + texture { T_bodenbelag } + rotate <0, 270, 0> + } + #ifdef (SCHNITT_1) + intersection { + torus { + 23, 23 + } + plane { + <0, 0, -1> 0 + rotate <0, 45, 0> + } + plane { + <0, 0, +1> 0 + rotate <0, -45, 0> + } + rotate <0, 135, 0> + translate <0, 10.0, 0> + } + #end + } + } + +#declare deck_12 = + union { + + // Deck + #if (1) + intersection { + union { + difference { + object { huelle } + // Ausschnitte + } + } + box { + <-50, 10, -50> + < 50, 5, 50> + } + } + #end + difference { + cone { + <0, 5.2, 0> 6 + <0, 4.8, 0> 6 + texture { T_arkonstahl } + } + } + + // Zentrale + object { + ortungs_zentrale + translate <0, 5.2, 0> + } + + + + // Kabinen + + + object { + kabinen_deck + translate <0, 14.8-3*2.84, 0> + } + object { + kabinen_deck + translate <0, 14.8-4*2.84, 0> + } + // Stiegenhaeuser + #local J = 0; + #while (J < 360) + union { + #local I= 0; + #while (I < 10) + box { + <-10+(I+1)*0.4, 14.8-3*2.84 - I*0.196, 0> + <-10+I*0.4, 14.8-3*2.84 - I*0.196 - 0.1, +1> + texture { T_bodenbelag } + } + #local I = I + 1; + #end + #local I= 0; + #while (I < 6) + box { + <-10+(I+1)*0.4, 14.8-4*2.84 + I*0.18, 0> + <-10+I*0.4, 14.8-4*2.84 + I*0.18 - 0.1, -1> + texture { T_bodenbelag } + } + #local I = I + 1; + #end + box { + <-6, 10.2, 0> + <-7.6, 10.2 - 0.1, -1> + texture { T_bodenbelag } + } + rotate <0, J, 0> + } + #local J = J + 90; + #end + + } + + diff --git a/pr/schneller_kreuzer/schneller_kreuzer.pov b/pr/schneller_kreuzer/schneller_kreuzer.pov index e895197..5844df1 100644 --- a/pr/schneller_kreuzer/schneller_kreuzer.pov +++ b/pr/schneller_kreuzer/schneller_kreuzer.pov @@ -10,12 +10,13 @@ #include "deck_14.pov" #end #include "deck_13.pov" +#include "deck_12.pov" #include "ringwulst.pov" #include "deck_01.pov" #declare schneller_kreuzer = union { - #if (1) + #if (0) object { deck_20 } @@ -41,6 +42,9 @@ object { deck_13 } + object { + deck_12 + } object { ringwulst }