3d/pr/entdecker/strut.pov

92 lines
2.6 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>}}
}
/*
* Teleskoplandestütze: Die Variable Strut_Ext bestimmt, wie weit sie
* ausgefahren ist:
* 0.0 vollständig eingezogem
* 1.0 vollständig ausgefahren
*
* Normalstellung:
* Boden bei -30 m == 100 - (60 + 50 + 40) * Strut_Ext - 20
* -30 == 80 - 150 * Strut_Ext
* 110 == 150 * Strut_Ext
* 11/15 == Strut_Ext
*/
#declare strut =
union {
object {
Half_Sphere
scale 29
translate <0, 200, 0>
}
cone {
<0, 200, 0>, 29
<0, 100, 0>, 29
}
#declare Strut_Y_Off = 100 - 60 * Strut_Ext;
cone {
<0, 90, 0>, 25
<0, 0, 0>, 25
translate <0, Strut_Y_Off, 0>
}
#declare Strut_Y_Off = Strut_Y_Off - 50 * Strut_Ext;
cone {
<0, 80, 0>, 21
<0, 0, 0>, 21
translate <0, Strut_Y_Off, 0>
}
#declare Strut_Y_Off = Strut_Y_Off - 40 * Strut_Ext;
cone {
<0, 70, 0>, 17
<0, 0, 0>, 17
translate <0, Strut_Y_Off, 0>
}
#declare Strut_Y_Off = Strut_Y_Off - 10;
object {
Half_Sphere
scale 10
translate <0, Strut_Y_Off, 0>
texture {pigment {color White*0.25}}
}
#declare Strut_i = 0;
#while (Strut_i < 360)
cone {
<-4.0, 0, 10>, 6
< 4.0, 0, 10>, 6
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 <25, 5, 25>
translate <0, Strut_Y_Off-5, 0>
}
#declare Strut_Y_Off = Strut_Y_Off - 10;
#declare Strut_i = 0;
#while (Strut_i < 360)
superellipsoid {
<0.25, 0.25>
scale < 3, 0.5, 3>
translate <0, 0, 20>
rotate <0, Strut_i, 0>
translate <0, Strut_Y_Off, 0>
texture {pigment {color White*0.1}}
}
#declare Strut_i = Strut_i + 36;
#end
texture {Ynkelonium_Texture}
}