#include "treibstofftank.pov" #include "speicherbank.pov" #declare deck_15 = union { #if (1) intersection { union { difference { object { huelle } // Ausschnitte } } box { <-50, 25, -50> < 50, 20, 50> } } #end difference { cone { <0, 20.2, 0> 44.6 <0, 19.8, 0> 44.8 texture { T_arkonstahl } } // Ausschnitt f. Anlagen v. Deck 13. difference { cylinder { <0, 19, 0> <0, 21, 0> 25 } cylinder { <0, 19, 0> <0, 21, 0> 15 } } #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, 20.0, 0> } #end } #local rr = 25.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 #local da = 60; #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 { speicherbank translate <5, 20.2, 0> rotate <0, aa, 0> } #end #local aa = aa + da; #end }