3d/pr/sol/sz.pov

229 lines
3.7 KiB
POVRay

#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
#include "metals.inc"
#include "glass.inc"
#include "ynkelonium_texture.pov"
#include "T_BlackMetal.pov"
#include "Triebwerk.pov"
#declare Hangars_Kugelschale_neg =
difference {
union {
#declare i = 0;
#while (i < 360)
union {
box {
<-80, 1030, 0>
< 80, 950, 2500>
}
box {
<-100, -850, 0>
< 100, -930, 2500>
}
rotate <0, i, 0>
}
union {
box {
<-100, 730, 0>
< 100, 650, 2500>
}
box {
< 180, 520, 2500>
<-180, 400, 0>
}
box {
<-180, -400, 0>
< 180, -520, 2500>
}
rotate <0, i+15, 0>
}
#declare i = i + 30;
#end
}
sphere {
<0, 0, 0>, 1240
}
texture {
Ynkelonium_Texture
}
}
#declare Geschuetze_Huelle_oben =
union {
#declare w = 30;
#while (w <= 60)
#declare i = 0;
#while (i < 360)
union {
sphere {
<0, 0, 0> 20
}
cone {
<0, 0, 0> 10
<30, 30, 0> 5
}
cone {
<0, 0, 0> 10
<30, -30, 0> 5
}
translate <1250, 0, 0>
rotate <0, 0, w>
rotate <0, i, 0>
}
#declare i = i + 10;
#end
#declare w = w + 15;
#end
texture {
Ynkelonium_Texture
}
}
#declare Geschuetze_Huelle_unten =
union {
#declare w = -55;
#while (w <= -35)
#declare i = 0;
#while (i < 360)
union {
sphere {
<0, 0, 0> 20
}
cone {
<0, 0, 0> 10
<30, 30, 0> 5
}
cone {
<0, 0, 0> 10
<30, -30, 0> 5
}
translate <1250, 0, 0>
rotate <0, 0, w>
rotate <0, i, 0>
}
#declare i = i + 10;
#end
#declare w = w + 20;
#end
texture {
Ynkelonium_Texture
}
}
#declare Kugelschale =
union {
sphere {
<0,0,0>, 1250
texture {
Ynkelonium_Texture
}
}
object {Geschuetze_Huelle_oben}
object {Geschuetze_Huelle_unten}
}
#declare R1 = 1250;
#declare R2 = 400;
#include "ringwulst.pov"
#declare Landestuetzen =
union {
#declare i = 15;
#while (i < 360)
#ifdef (Landestuetzen_ausgefahren)
#local j = 0;
#while (j < 3)
#local Rl = 1250*sqrt(0.5);
#local Yo = (1270 - Rl) * (3-j)/3 - 1270;
#local Zo = (1100 - Rl) * j/3 + Rl;
#local Yu = (1270 - Rl) * (2-j)/3 - 1270;
#local Zu = (1100 - Rl) * (j+1)/3 + Rl;
#debug concat ("\nlandestuetze: (",
str(Yo, 0, 0), ", ", str(Zo, 0, 0), ") - (",
str(Yu, 0, 0), ", ", str(Zu, 0, 0), ")")
#local Rl = 50 - 10 * j;
cone {
<0, Yo, Zo>, Rl
<0, Yu, Zu>, Rl
rotate <0, i, 0>
texture {
Ynkelonium_Texture
}
}
#local j = j + 1;
#end
union {
intersection {
sphere {
<0, 10, 0>, 50
}
cylinder {
<0, 10, 0>
<0, 60, 0>
50
}
}
cone {
<0, 0, 0>, 100
<0, 10, 0>, 100
}
texture {
pigment { color rgb <0.7, 0.5, 0.7> }
finish {
ambient 0.2
diffuse 0.35
specular 0.55
roughness 0.1
reflection 0.25
brilliance 1.0
}
}
translate <0, -1280, 1100>
rotate <0, i, 0>
}
#else
cone {
<0, 0, 0>, 100
<0, 10, 0>, 100
translate <0, -1260, 0>
rotate <45, 0, 0>
rotate <0, i, 0>
texture {
pigment { color rgb <0.7, 0.5, 0.7> }
finish {
ambient 0.2
diffuse 0.35
specular 0.55
roughness 0.1
reflection 0.25
brilliance 1.0
}
}
}
#end
#declare i = i + 30;
#end
}
#declare SZ =
union {
difference {
object {
Kugelschale
}
object {
Hangars_Kugelschale_neg
}
}
object {
Ringwulst
}
object {
Landestuetzen
}
}