#include "treibstofftank.pov" #include "andruckabsorber.pov" #include "hufeisenpult.pov" #local Z = -20; #declare deck_07 = union { #if (1) intersection { union { difference { object { huelle } // Ausschnitte } } box { <-50, Z+5, -50> < 50, Z+0, 50> } } #end difference { cone { <0, Z+0.2, 0> sqrt(pow(49,2)-pow((Z+0.2),2)), <0, Z-0.2, 0> sqrt(pow(49,2)-pow((Z-0.2),2)) texture { T_arkonstahl } } // AG cylinder { <0, -39, 0> <0, -41, 0> 2 } // Ausschnitt für Kraftwerke (Deck 5) difference { cylinder { <0, Z-0.3, 0> <0, Z+0.3, 0> 24+5 } cylinder { <0, Z-0.3, 0> <0, Z+0.3, 0> 24-5 } } #ifdef (SCHNITT_1) box { <0, -0.3, 0> <-50, 0.3, -50> translate <0, Z, 0> } #end } #local rr = 24+5.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(, <0, aa, 0>); #if (pp.x < 0 & pp.z < 0) #local ss = 0; #end #end #if (ss) object { treibstofftank translate rotate <0, aa, 0> } #end #local aa = aa + da; #end #local rr = rr + 1.0; #end object { andruckabsorber translate <0, Z+0.2, 0> } #local a = 10; #while (a < 360) union { #local rr = sqrt(pow(49,2)-pow((Z+2.5),2)); sphere { , 2 } difference { cone { , 0.3 <50.0, Z+1.0, 0>, 0.2 } cone { , 0.2 <50.1, Z+1.0, 0>, 0.15 } } object { hufeisenpult translate } texture { T_arkonstahl } rotate <0, a, 0> } #local a = a + 60; #end }