Feldschirmprojektoren auf Deck 3.

Treibstofftanks schneiden sich nicht mehr mit Landestützen.
This commit is contained in:
hjp 2008-08-16 09:52:11 +00:00
parent 0d8e25344c
commit 2131fcfbee
4 changed files with 251 additions and 26 deletions

View File

@ -1,5 +1,45 @@
#include "treibstofftank.pov"
#include "landestuetze.pov"
#include "feldschirm_projektor_v.pov"
#local Z = -40;
#local treibstofftank_block =
union {
#local rr = 15.5;
#local rr2 = sqrt(48*48 - Z*Z);
#while (rr < rr2)
#local da = degrees(asin(0.5/rr))*2;
#if (rr < 21)
#local aa = degrees(asin(0.5/rr));
#else
#local aa = degrees(asin(2.6/rr));
#end
#local ae = 15 - degrees(asin(0.5/rr));
#local n = int((ae-aa)/da);
#local da = (ae-aa)/n;
#local i = 0;
#while (i <= n)
#local ss = 1;
#ifdef (SCHNITT_1)
#local pp = vrotate(<rr, 0, 0>, <0, aa, 0>);
#if (pp.x < 0 & pp.z < 0)
#local ss = 0;
#end
#end
#if (ss)
object {
treibstofftank
translate <rr, -39.8, 0>
rotate <0, aa, 0>
}
#end
#local aa = aa + da;
#local i = i + 1;
#end
#local rr = rr + 1.0;
#end
}
#declare deck_03 =
union {
@ -53,29 +93,69 @@
}
#end
}
#local rr = 15.5;
#while (rr < 27.2)
#local da = degrees(asin(0.5/rr))*2;
#local aa = 0;
#while (aa <= 360 - da)
#local ss = 1;
#ifdef (SCHNITT_1)
#local pp = vrotate(<rr, 0, 0>, <0, aa, 0>);
#if (pp.x < 0 & pp.z < 0)
#local ss = 0;
#end
#end
#if (ss)
object {
treibstofftank
translate <rr, -39.8, 0>
rotate <0, aa, 0>
}
#end
#local aa = aa + da;
#end
#local rr = rr + 1.0;
#local aa = 0;
#local da = 60;
#while (aa <= 360 - da)
object {
feldschirm_projektor_v
rotate <0, aa, 0>
}
#local aa = aa + da;
#end
// Ausschnitt f. Landestützen
#local aa = 0;
#while (aa < 360 )
difference {
union {
cone {
<23, Z+0.2, 0>, 2.1
<23, Z+4.8, 0>, 2.1
}
box {
<23, Z+0.2, -2.1>
<28, Z+4.8, +2.1>
}
cone {
<28, Z+0.2, 0>, 2.1
<28, Z+4.8, 0>, 2.1
}
texture { T_arkonstahl }
rotate <0, aa, 0>
}
union {
cone {
<23, Z+0.1, 0>, 2
<23, Z+4.9, 0>, 2
}
box {
<23, Z+0.1, -2>
<28, Z+4.9, +2>
}
cone {
<28, Z+0.1, 0>, 2
<28, Z+4.9, 0>, 2
}
texture { T_arkonstahl }
rotate <0, aa, 0>
}
}
#local aa = aa + 30;
#end
#local ii = 0;
#while (ii < 12)
object {
treibstofftank_block
rotate <0, ii*30, 0>
}
object {
treibstofftank_block
scale <1, 1, -1>
rotate <0, ii*30, 0>
}
#local ii = ii + 1;
#end
}

View File

@ -0,0 +1,97 @@
#include "metals.inc"
#local r1 = 41.0;
#declare feldschirm_projektor_v =
union {
intersection {
union {
difference {
sphere {
<0, 0, 0>, r1
}
sphere {
<0, 0, 0>, r1-0.5
}
}
difference {
sphere {
<0, 0, 0>, r1-1.0
}
sphere {
<0, 0, 0>, r1-1.5
}
}
difference {
sphere {
<0, 0, 0>, r1-2.0
}
sphere {
<0, 0, 0>, r1-2.5
}
}
texture { pigment { rgb < 0.2, 0.2, 0.4 > } }
}
cone {
<0,0,0>, 0
<0, -50, 0>, 5
scale <0.5, 1, 1>
rotate <0, 0, 18>
texture { pigment { rgb < 0.2, 0.2, 0.2 > } }
}
}
intersection {
cone {
<0,0,0>, 0
<0, -50, 0>, 1
scale <1, 1, 0.5>
rotate <0, 0, 18>
texture { pigment { rgb < 1.2, 0.2, 0.2 > } }
}
cone {
<0, -35.2, 0>, 15,
<0, -39.8, 0>, 15
}
}
#local fsp_t = r1 - 3.2;
cone {
<-4, -fsp_t, 0>, fsp_t/50 * 0.5
< 0, -fsp_t, 0>, fsp_t/50 * 0.5
scale <1, 1, 1>
rotate <0, 0, 18>
texture { pigment { rgb < 1.2, 0.2, 0.2 > } }
}
#local fsp_x = 9.0;
#local fsp_y = -40;
sphere {
<(fsp_x-0.5), (fsp_y+3.8), 0>, 1
texture { T_Copper_3D }
}
cone {
<-0, 3.6, 0>, 1
<-0, 0, 0>, 1.5
matrix <
1, 0, 0,
-0.5/3.6, 1, 0,
0, 0, 1,
0, 0, 0
>
translate <fsp_x, (fsp_y+0.2), 0>
texture { pigment { rgb < 1, 0.9, 1 > } }
}
cone {
<(fsp_x-0.5), (fsp_y+2), -3>, 0.5
<(fsp_x-0.5), (fsp_y+2), +3>, 0.5
texture { pigment { rgb < 1, 0.8, 1 > } }
}
sphere {
<(fsp_x-0.5), (fsp_y+2), -3>, 0.6
texture { T_Copper_3D }
}
sphere {
<(fsp_x-0.5), (fsp_y+2), +3>, 0.6
texture { T_Copper_3D }
}
}

View File

@ -5,6 +5,7 @@
#include "stones.inc"
#declare SCHNITT_1 = 1; // Quadrant -/*/-
#local LANDESTUETZEN = 0;
global_settings {
assumed_gamma 1.0
@ -16,7 +17,7 @@ light_source {
color White
}
#local CP = <-100, 50, -100>;
#local CP = <25, 95, -0>;
light_source {
CP
color White*0.5
@ -24,7 +25,7 @@ light_source {
camera {
orthographic
location CP
look_at <-0, 10, 0>
look_at <25, 20.0, 0>
angle 20
}
@ -35,6 +36,7 @@ union {
object {
deck_03
}
#if (LANDESTUETZEN)
#local i = 0;
#while (i < 12)
object {
@ -43,6 +45,7 @@ union {
}
#local i = i + 1;
#end
#end
cylinder {
<100, -43, -100>,
<100, -43, +100>,

View File

@ -0,0 +1,45 @@
#include "colors.inc"
#include "feldschirm_projektor_v.pov"
global_settings {
assumed_gamma 1.0
ambient_light rgb<0.5, 0.5, 0.5>
}
background { color rgb<0.2, 0.4, 0.8> }
light_source {
<200, 200, -00>
color White
}
light_source {
<200, 120, -171>
color White*0.5
}
camera {
orthographic
location <12.5, -37.5, -30>
look_at <12.5, -37.5, 0>
angle 40
}
object {
feldschirm_projektor_v
}
cylinder {
<0, -39.8, 0>,
<0, -40.2, 0>, 15
pigment {
radial
color_map{
[0.1 rgb 0.1 ]
[0.1 White]
}
frequency 16
}
}
cylinder {
<0, -35, 0>,
<15, -35, 0>, 0.2
color Red*0.5
}