125 lines
2.5 KiB
POVRay
125 lines
2.5 KiB
POVRay
/*
|
|
Sondenhangar:
|
|
|
|
Randbedingungen:
|
|
|
|
Platz eingeschränkt durch Hangars f. 1-Mann-Jäger. (16 m breit)
|
|
sowie Außenhülle (Schräge ca. <18, 4.8> .. <26, 0>)
|
|
1 m breiter Gang in der Mitte.
|
|
|
|
*/
|
|
|
|
#macro fach (b1, l1, r2)
|
|
#local p000 = <-(b1/2-r2), r2, r2>;
|
|
#local p001 = <-(b1/2-r2), r2, l1-r2>;
|
|
#local p010 = <-(b1/2-r2), b1-r2 r2>;
|
|
#local p011 = <-(b1/2-r2), b1-r2 l1-r2>;
|
|
#local p100 = <+(b1/2-r2), r2, r2>;
|
|
#local p101 = <+(b1/2-r2), r2, l1-r2>;
|
|
#local p110 = <+(b1/2-r2), b1-r2 r2>;
|
|
#local p111 = <+(b1/2-r2), b1-r2 l1-r2>;
|
|
|
|
union {
|
|
cylinder { p000, p001, r2 }
|
|
cylinder { p010, p011, r2 }
|
|
cylinder { p100, p101, r2 }
|
|
cylinder { p110, p111, r2 }
|
|
|
|
cylinder { p000, p010, r2 }
|
|
cylinder { p001, p011, r2 }
|
|
cylinder { p100, p110, r2 }
|
|
cylinder { p101, p111, r2 }
|
|
|
|
cylinder { p000, p100, r2 }
|
|
cylinder { p001, p101, r2 }
|
|
cylinder { p010, p110, r2 }
|
|
cylinder { p011, p111, r2 }
|
|
|
|
box { p000 - r2, p000 + r2 }
|
|
box { p001 - r2, p001 + r2 }
|
|
box { p010 - r2, p010 + r2 }
|
|
box { p011 - r2, p011 + r2 }
|
|
box { p100 - r2, p100 + r2 }
|
|
box { p101 - r2, p101 + r2 }
|
|
box { p110 - r2, p110 + r2 }
|
|
box { p111 - r2, p111 + r2 }
|
|
|
|
pigment { color Red }
|
|
|
|
}
|
|
|
|
#end
|
|
|
|
#declare sonden_hangar_r =
|
|
union {
|
|
#local r1 = 13;
|
|
#local b1 = 0.5;
|
|
#local l1 = 2.0;
|
|
#local r2 = 0.01;
|
|
#local da = atan2(b1/2, r1) * 2;
|
|
#local aa = atan2(1, 1) + da * 1.5;
|
|
|
|
#while (r1*cos(aa + da/2) > 8.05)
|
|
#debug concat("\naa = ", str(aa, 0, 5))
|
|
#local hh = 0;
|
|
#while (hh < 4.8 - b1)
|
|
object {
|
|
fach(b1, l1, r2)
|
|
|
|
translate <0, hh, r1>
|
|
rotate <0, degrees(aa), 0>
|
|
}
|
|
#local hh = hh + b1;
|
|
#end
|
|
|
|
#local aa = aa + da;
|
|
#end
|
|
|
|
#local r1 = 16;
|
|
#local b1 = 0.5;
|
|
#local r2 = 0.01;
|
|
#local da = atan2(b1/2, r1) * 2;
|
|
#local aa = atan2(1, 1) + da * 1.5;
|
|
|
|
#while (r1*cos(aa + da/2) > 8.05)
|
|
#debug concat("\naa = ", str(aa, 0, 5))
|
|
#local l1 = 5.0;
|
|
#local hh = 0;
|
|
#while (hh < 3.1 - b1)
|
|
object {
|
|
fach(b1, l1, r2)
|
|
|
|
translate <0, hh, r1>
|
|
rotate <0, degrees(aa), 0>
|
|
}
|
|
#local hh = hh + b1;
|
|
#end
|
|
|
|
#local l1 = 2.5;
|
|
#while (hh < 4.2 - b1)
|
|
object {
|
|
fach(b1, l1, r2)
|
|
|
|
translate <0, hh, r1>
|
|
rotate <0, degrees(aa), 0>
|
|
}
|
|
#local hh = hh + b1;
|
|
#end
|
|
|
|
#local aa = aa + da;
|
|
#end
|
|
|
|
}
|
|
|
|
#declare sonden_hangar =
|
|
union {
|
|
object { sonden_hangar_r }
|
|
object {
|
|
sonden_hangar_r
|
|
matrix <0, 0, 1,
|
|
0, 1, 0,
|
|
1, 0, 0,
|
|
0, 0, 0>
|
|
}
|
|
}
|