3d/pr/schneller_kreuzer/deck_12.pov

248 lines
3.8 KiB
POVRay

#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 < 6)
box {
<-10+(I+1)*0.4, 14.8-3*2.84 - I*0.18, 0>
<-10+I*0.4, 14.8-3*2.84 - I*0.18 - 0.1, +1>
texture { T_bodenbelag }
}
#local I = I + 1;
#end
#local I= 0;
#while (I < 10)
box {
<-10+(I+1)*0.4, 14.8-4*2.84 + I*0.196, 0>
<-10+I*0.4, 14.8-4*2.84 + I*0.196 - 0.1, -1>
texture { pigment { rgb <1, 1, 0> } }
}
#local I = I + 1;
#end
box {
<-6, 5.2, 0>
<-7.6, 5.2 - 0.1, +1>
texture { pigment { rgb <1, 0, 0> } }
}
rotate <0, J, 0>
}
union {
#local I= 0;
#while (I < 4)
box {
<-10+(I+1)*0.4, 14.8-2*2.84 - I*0.205 0>
<-10+I*0.4, 14.8-2*2.84 - I*0.205 - 0.1, +1>
texture { T_bodenbelag }
}
#local I = I + 1;
#end
#local I= 0;
#while (I < 10)
box {
<-10+(I+1)*0.4, 14.8-3*2.84 + I*0.202, 0>
<-10+I*0.4, 14.8-3*2.84 + I*0.202 - 0.1, -1>
texture { pigment { rgb <1, 1, 0> } }
}
#local I = I + 1;
#end
box {
<-6, 8.3, 0>
<-8.4, 8.3 - 0.1, +1>
texture { pigment { rgb <1, 0, 0> } }
}
rotate <0, J, 0>
}
#local J = J + 90;
#end
}