From 5b871b95b2adfdfe203dda6f667066131ff460f6 Mon Sep 17 00:00:00 2001 From: hjp Date: Sat, 9 Feb 2008 23:10:01 +0000 Subject: [PATCH] Deck 11 mit Maschinenzentrale. --- pr/schneller_kreuzer/GNUmakefile | 12 +- pr/schneller_kreuzer/deck_11.pov | 198 ++++++++++++++++++++ pr/schneller_kreuzer/maschinen_zentrale.pov | 105 +++++++++++ pr/schneller_kreuzer/schneller_kreuzer.pov | 4 + pr/schneller_kreuzer/test-deck_11.pov | 70 +++++++ pr/schneller_kreuzer/test-deck_12.pov | 4 +- 6 files changed, 390 insertions(+), 3 deletions(-) create mode 100644 pr/schneller_kreuzer/deck_11.pov create mode 100644 pr/schneller_kreuzer/maschinen_zentrale.pov create mode 100644 pr/schneller_kreuzer/test-deck_11.pov diff --git a/pr/schneller_kreuzer/GNUmakefile b/pr/schneller_kreuzer/GNUmakefile index a19ff39..3cbdb5b 100644 --- a/pr/schneller_kreuzer/GNUmakefile +++ b/pr/schneller_kreuzer/GNUmakefile @@ -18,6 +18,7 @@ all: \ test-deck_14.png \ test-deck_13.png \ test-deck_12.png \ + test-deck_11.png \ test-deck_18.png \ test-deck_03.png \ test-deck_02.png \ @@ -54,7 +55,8 @@ test-polgeschuetz.png: test-polgeschuetz.pov polgeschuetz.pov test-schneller_kreuzer.png: test-schneller_kreuzer.pov \ schneller_kreuzer.pov huelle.pov deck_20.pov polgeschuetz.pov \ deck_19.pov ein-mann-jaeger.pov deck_18.pov deck_17.pov \ - deck_16.pov deck_15.pov deck_14.pov deck_13.pov \ + deck_16.pov deck_15.pov deck_14.pov deck_13.pov deck_12.pov \ + deck_11.pov \ speicherbank.pov andruckabsorber.pov \ ringwulst.pov triebwerk.pov \ landestuetze.pov \ @@ -94,6 +96,14 @@ test-deck_12.png: test-deck_12.pov \ T_bodenbelag.pov \ ortung.pov +test-deck_11.png: test-deck_11.pov \ + huelle.pov \ + deck_11.pov \ + kabine.pov \ + kabine4.pov \ + T_bodenbelag.pov \ + maschinen_zentrale.pov + test-speicherbank.png: test-speicherbank.pov \ speicherbank.pov \ diff --git a/pr/schneller_kreuzer/deck_11.pov b/pr/schneller_kreuzer/deck_11.pov new file mode 100644 index 0000000..d736eec --- /dev/null +++ b/pr/schneller_kreuzer/deck_11.pov @@ -0,0 +1,198 @@ +#include "kabine.pov" +#include "kabine4.pov" +#include "T_bodenbelag.pov" +#include "maschinen_zentrale.pov" + +#declare Eps=1E-3; + +#local kabinen_deck = + union { + object { + kabine1 + translate <0, 0, 0> + } + object { + kabine1 + scale <-1, 1, +1> + translate <0, 0, 0> + } + + object { + kabine1 + translate <0, 0, 0> + rotate <0, 90, 0> + } + object { + kabine1 + scale <-1, 1, +1> + translate <0, 0, 0> + rotate <0, 90, 0> + } + + #ifndef (SCHNITT_1) + object { + kabine1 + translate <0, 0, 0> + rotate <0, 180, 0> + } + #end + object { + kabine1 + scale <-1, 1, +1> + translate <0, 0, 0> + rotate <0, 180, 0> + } + + object { + kabine1 + translate <0, 0, 0> + rotate <0, 270, 0> + } + #ifndef (SCHNITT_1) + object { + kabine1 + scale <-1, 1, +1> + translate <0, 0, 0> + rotate <0, 270, 0> + } + #end + + #local A0 = 0; + #while (A0 < 360) + #local I1 = 0; + #while (I1 < 4) + #local A = A0 + (-1.5 + I1) * Kw; + #local ss = 1; + #ifdef (SCHNITT_1) + #local pp = vrotate(<0, 0, 1>, <0, A, 0>); + #if (pp.x < 0 & pp.z < 0) + #local ss = 0; + #end + #end + #if (ss) + object { + kabine4 + rotate <0, A, 0> + } + #end + #local I1 = I1 + 1; + #end + #local A0 = A0 + 90; + #end + + difference { + intersection { + cone { + <0, 0, 0> 46.6 + <0, -0.1, 0> 46.7 + texture { T_bodenbelag } + } + torus { + (15+6)/2, (15-6)/2 + } + } + box { + <-5.9, -0.1-Eps, -1> + <-10, 0+Eps, +1> + texture { T_bodenbelag } + } + box { + <-5.9, -0.1-Eps, -1> + <-10, 0+Eps, +1> + texture { T_bodenbelag } + rotate <0, 90, 0> + } + box { + <-5.9, -0.1-Eps, -1> + <-10, 0+Eps, +1> + texture { T_bodenbelag } + rotate <0, 180, 0> + } + box { + <-5.9, -0.1-Eps, -1> + <-10, 0+Eps, +1> + texture { T_bodenbelag } + rotate <0, 270, 0> + } + #ifdef (SCHNITT_1) + intersection { + torus { + 23, 23 + } + plane { + <0, 0, -1> 0 + rotate <0, 45, 0> + } + plane { + <0, 0, +1> 0 + rotate <0, -45, 0> + } + rotate <0, 135, 0> + translate <0, 10.0, 0> + } + #end + } + } + +#declare deck_11 = + union { + + // Deck + difference { + cone { + <0, 0.2, 0> 15 + <0, -0.2, 0> 15 + texture { T_arkonstahl } + } + } + + // Zentrale + object { + maschinen_zentrale + translate <0, 0.2, 0> + } + + + + // Kabinen + + + object { + kabinen_deck + translate <0, 14.8-5*2.84, 0> + } + + // Stiegenhaeuser + #local J = 0; + #while (J < 360) + union { + #local I= 0; + #while (I < 16) + box { + <-10+(I+1)*0.2, 14.8-4*2.84 - I*0.2025, 0> + <-10+I*0.2, 14.8-4*2.84 - I*0.2025 - 0.1, +1> + texture { T_bodenbelag } + } + #local I = I + 1; + #end + + #local I= 0; + #while (I < 2) + box { + <-10+(I+1)*0.4, 14.8-5*2.84 - I*0.200, 0> + <-10+I*0.4, 14.8-5*2.84 - I*0.200 - 0.1, -1> + texture { pigment { rgb <1, 1, 0> } } + } + #local I = I + 1; + #end + + rotate <0, J, 0> + } + + #local J = J + 90; + #end + + } + + + diff --git a/pr/schneller_kreuzer/maschinen_zentrale.pov b/pr/schneller_kreuzer/maschinen_zentrale.pov new file mode 100644 index 0000000..21966ed --- /dev/null +++ b/pr/schneller_kreuzer/maschinen_zentrale.pov @@ -0,0 +1,105 @@ +/* + Maschinenzentrale + + */ +#local H = 5; // deckhoehe +#local Eps = 1E-6; + +#include "hufeisenpult.pov" +#include "rounded_box.pov" + + + +#declare tuer_neg = + object { + rounded_box(<5, 0, -1>, <7, 3, 1>, 0.2) + } + +#declare hufeisenpult_ortung = + union { + object { + hufeisenpult + } + union { + union { + rounded_box(<0, -0.2, -0.3>, <0.1, +0.2, +0.3>, 0.02) + pigment { color 0.5 } + } + union { + rounded_box(<-0.02, -0.18, -0.28>, <0.03, +0.18, +0.28>, 0.02) + pigment { color 0.1 } + } + rotate <0, 0, -30> + translate <0.9, 1.0, 0> + } + union { + union { + rounded_box(<0, -0.2, -0.2>, <0.1, +0.2, +0.2>, 0.02) + pigment { color 0.5 } + } + union { + rounded_box(<-0.02, -0.18, -0.18>, <0.03, +0.18, +0.18>, 0.02) + pigment { color 0.1 } + } + rotate <0, 0, -30> + translate <0.9, 1.0, 0> + rotate <0, 35, 0> + } + union { + union { + rounded_box(<0, -0.2, -0.2>, <0.1, +0.2, +0.2>, 0.02) + pigment { color 0.5 } + } + union { + rounded_box(<-0.02, -0.18, -0.18>, <0.03, +0.18, +0.18>, 0.02) + pigment { color 0.1 } + } + rotate <0, 0, -30> + translate <0.9, 1.0, 0> + rotate <0, -35, 0> + } + } +#declare maschinen_zentrale = + union { + difference { + cylinder { + <0, 0, 0>, <0, 5, 0>, 6 + } + cylinder { + <0, 0-Eps, 0>, <0, 4+Eps, 0>, 5.7 + } + cone { + <0, 4, 0>, 5.7 + <0, H, 0>, 5 + } + object { + tuer_neg + } + object { + tuer_neg + rotate <0, 180, 0> + } + object { + tuer_neg + rotate <0, 270, 0> + } + #if (SCHNITT_1) + cylinder { + <0, 0, 0> + <0, 5+Eps, 0> + 5 + } + #end + } + #local I = 0; + #while (I < 360) + object { + hufeisenpult_ortung + translate <-4.5, 0, 0> + rotate <0, I, 0> + } + #local I = I + 30; + #end + + texture { T_arkonstahl } + } diff --git a/pr/schneller_kreuzer/schneller_kreuzer.pov b/pr/schneller_kreuzer/schneller_kreuzer.pov index 260d549..dc8b56c 100644 --- a/pr/schneller_kreuzer/schneller_kreuzer.pov +++ b/pr/schneller_kreuzer/schneller_kreuzer.pov @@ -11,6 +11,7 @@ #end #include "deck_13.pov" #include "deck_12.pov" +#include "deck_11.pov" #include "ringwulst.pov" #include "deck_03.pov" #include "deck_02.pov" @@ -46,6 +47,9 @@ object { deck_12 } + object { + deck_11 + } object { ringwulst } diff --git a/pr/schneller_kreuzer/test-deck_11.pov b/pr/schneller_kreuzer/test-deck_11.pov new file mode 100644 index 0000000..1c48efa --- /dev/null +++ b/pr/schneller_kreuzer/test-deck_11.pov @@ -0,0 +1,70 @@ +#include "colors.inc" +#include "shapes.inc" +#include "textures.inc" +#include "metals.inc" +#include "stones.inc" + +#declare SCHNITT_1 = 1; // Quadrant -/*/- +#declare SHOW_Y_AXIS = 0; + +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, -200> + color White +} + +#local CP = <-70, 10, -70>; +light_source { + CP + color White*0.5 +} +camera { + location CP + look_at <-0, 0, -0> + angle 20 +} + +#include "huelle.pov" +#include "deck_11.pov" + + object { + deck_11 + } + + +cylinder { + <0, 0, 0>, + <0, -1, 0>, 1000 + pigment { + radial + color_map{ + [0.1 rgb 0.1 ] + [0.1 White] + } + frequency 16 + } +} + +cone { + <0, 0, 0>, 0 + <1000, 0, 0>, 10 + pigment { color <1, 0, 0> } +} + +#if (SHOW_Y_AXIS) +cone { + <0, 0, 0>, 0 + <0, 1000, 0>, 10 + pigment { color <0, 1, 0> } +} +#end + +cone { + <0, 0, 0>, 0 + <0, 0, 1000>, 10 + pigment { color <0, 0, 1> } +} diff --git a/pr/schneller_kreuzer/test-deck_12.pov b/pr/schneller_kreuzer/test-deck_12.pov index 6f53654..f3b8542 100644 --- a/pr/schneller_kreuzer/test-deck_12.pov +++ b/pr/schneller_kreuzer/test-deck_12.pov @@ -17,14 +17,14 @@ light_source { color White } -#local CP = <-50, 50, -50>; +#local CP = <-50, 10, -50>; light_source { CP color White*0.5 } camera { location CP - look_at <-6, 10, -0> + look_at <-0, 5, -0> angle 20 }