3d/pr/star/strut.pov

115 lines
3.2 KiB
POVRay

// Landing Strut in normal position:
#include "ynkelonium_texture.pov"
#declare Half_Sphere =
intersection {
sphere { <0, 0, 0>, 1}
plane { <0, -1, 0>, 0}
bounded_by { box {<-1, 0, -1>, <1, 1, 1>}}
}
#declare Strut =
union {
object {
Half_Sphere
scale 4.5
translate <0, 12, 0>
}
cone {
<0, 12, 0>, 4.5
<0, 0, 0>, 4.5
}
superellipsoid {
<1, 0.25>
rotate <90, 0, 0>
scale <6.2, 0.95, 6.2>
translate <0, -0.95, 0>
}
#declare Strut_Y_Off = -1.9 + 8.2 * (1 - Strut_Ext)
cone {
<0, 0, 0>, 2.8,
<0, -4.2, 0>, 2.8
translate <0, Strut_Y_Off, 0>
}
#declare Strut_i = 0
#while (Strut_i < 360)
cone {
<0, -4.2, 2.4>, 0.3
<0, -4.5, 2.4>, 0.25
rotate <0, Strut_i, 0>
translate <0, Strut_Y_Off, 0>
texture {pigment {color White*0.5}}
}
#declare Strut_i = Strut_i + 72
#end
#declare Strut_Y_Off = Strut_Y_Off - 4.2 + 1.3 * (1 - Strut_Ext)
cone {
<0, 0, 0>, 2.1,
<0, -1.9, 0>, 2.1
translate <0, Strut_Y_Off, 0>
}
#declare Strut_Y_Off = Strut_Y_Off - 1.9
#declare Strut_i = 0
#while (Strut_i < 360)
cone {
<0, 1.6, 2.4>, 0.2
<0, 0.3, 2.4>, 0.2
rotate <0, Strut_i, 0>
translate <0, Strut_Y_Off, 0>
texture {pigment {color White*0.5}}
}
cone {
<0, 0.3, 2.4>, 0.25
<0, 0, 2.4>, 0.3
rotate <0, Strut_i, 0>
translate <0, Strut_Y_Off, 0>
texture {pigment {color White*0.5}}
}
#declare Strut_i = Strut_i + 72
#end
cone {
<0, 0, 0>, 2.7
<0, -1.9, 0>, 1.9
translate <0, Strut_Y_Off, 0>
}
#declare Strut_Y_Off = Strut_Y_Off - 1.9 - 1.5
object {
Half_Sphere
scale 2.0
translate <0, Strut_Y_Off, 0>
texture {pigment {color White*0.25}}
}
#declare Strut_i = 0
#while (Strut_i < 360)
cone {
<-0.5, 0, 2.7>, 1.5
< 0.5, 0, 2.7>, 1.5
rotate <0, Strut_i, 0>
translate <0, Strut_Y_Off, 0>
texture {pigment {color White*0.5}}
}
#declare Strut_i = Strut_i + 90
#end
superellipsoid {
<1, 0.25>
rotate <90, 0, 0>
scale <6.2, 1.1, 6.2>
translate <0, Strut_Y_Off-1.1, 0>
}
#declare Strut_Y_Off = Strut_Y_Off - 2.2
#declare Strut_i = 0
#while (Strut_i < 360)
superellipsoid {
<0.25, 0.25>
scale < 1.3, 0.2, 1.3>
translate <0, 0, 5.1>
rotate <0, Strut_i, 0>
translate <0, Strut_Y_Off, 0>
texture {pigment {color White}}
}
#declare Strut_i = Strut_i + 36
#end
texture {Ynkelonium_Texture}
}