diff --git a/pr/schneller_kreuzer/GNUmakefile b/pr/schneller_kreuzer/GNUmakefile index 4afccd9..682f0fb 100644 --- a/pr/schneller_kreuzer/GNUmakefile +++ b/pr/schneller_kreuzer/GNUmakefile @@ -6,6 +6,9 @@ all: \ test-rounded_box.png \ test-zentrale.png \ test-kabine.png \ + test-kabine2.png \ + test-kabine3.png \ + test-kabine4.png \ test-speicherbank.png \ test-deck_20.png \ test-deck_19.png \ @@ -63,13 +66,30 @@ test-deck_14.png: test-deck_14.pov \ test-deck_13.png: test-deck_13.pov \ huelle.pov \ deck_13.pov \ - kraftwerk.pov + kabine.pov \ + kabine4.pov \ + kraftwerk.pov \ + T_bodenbelag.pov \ + zentrale.pov test-speicherbank.png: test-speicherbank.pov \ speicherbank.pov \ test-kabine.png: test-kabine.pov \ kabine.pov \ + einrichtung.pov \ + +test-kabine2.png: test-kabine2.pov \ + kabine2.pov \ + einrichtung.pov \ + +test-kabine3.png: test-kabine3.pov \ + kabine3.pov \ + einrichtung.pov \ + +test-kabine4.png: test-kabine4.pov \ + kabine4.pov \ + einrichtung.pov \ test-zentrale.png: test-zentrale.pov \ zentrale.pov \ diff --git a/pr/schneller_kreuzer/Notes b/pr/schneller_kreuzer/Notes index 1a9afa2..0855849 100644 --- a/pr/schneller_kreuzer/Notes +++ b/pr/schneller_kreuzer/Notes @@ -21,6 +21,12 @@ Truppentransport. 50 Einzel, 100 Doppelkabinen? nach innen und alle 6 Kabinen == 18 m. d.h. Umfang (18 + 2) * 4 == 80 m. Außendurchmesser der Kabinenflucht: 25 + 5 + 10 == 40 m. +(Berichtigung: Es sind nur 30 m - (15 m Radius) geht sich das aus?) + +12*3 = 36 Offizierskabinen. +24*3 = 72 Mannschaftskabinen mit je ca. 12 m², also eigentlich eh alle +gleich groß (bzw. klein), somit 118 Kabinen). + Zentrale 15 m Durchmesser. diff --git a/pr/schneller_kreuzer/deck_13.pov b/pr/schneller_kreuzer/deck_13.pov index ca22367..38a972e 100644 --- a/pr/schneller_kreuzer/deck_13.pov +++ b/pr/schneller_kreuzer/deck_13.pov @@ -1,9 +1,111 @@ #include "kraftwerk.pov" #include "treibstofftank.pov" #include "kabine.pov" +#include "kabine4.pov" +#include "T_bodenbelag.pov" +#include "zentrale.pov" + +#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; + object { + kabine4 + rotate <0, A, 0> + } + #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 + } + } + #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_13 = union { + + // Deck #if (1) intersection { union { @@ -24,6 +126,10 @@ <0, 9.8, 0> 46.7 texture { T_arkonstahl } } + torus { + (15+6)/2, (15-6)/2 + translate <0, 10.0, 0> + } #ifdef (SCHNITT_1) intersection { torus { @@ -42,16 +148,28 @@ } #end } - torus { - 15, 0.5 + + // Zentrale + object { + zentrale translate <0, 10.2, 0> - texture { pigment {color rgb <1, 0, 0>}} } - torus { - 25, 0.5 - translate <0, 10.2, 0> - texture { pigment {color rgb <1, 0, 0>}} + + + + // Kabinen + + + object { + kabinen_deck + translate <0, 14.8-2.84, 0> } + object { + kabinen_deck + translate <0, 14.8-2*2.84, 0> + } + + // Treibstofftanks #local rr = 25.5; #while (rr < 40.0) #local da = degrees(asin(0.5/rr))*2; @@ -77,6 +195,7 @@ #local rr = rr + 1.0; #end + // Kraftwerke #local rr = 20; #local da = degrees(asin(5/rr))*2; #debug concat ("\nDa(1): ", str(da, 0, 0)) @@ -101,55 +220,6 @@ #local aa = aa + da; #end - object { - kabine1 - translate <0, 10.2, 0> - } - object { - kabine1 - scale <-1, 1, +1> - translate <0, 10.2, 0> - } - - object { - kabine1 - translate <0, 10.2, 0> - rotate <0, 90, 0> - } - object { - kabine1 - scale <-1, 1, +1> - translate <0, 10.2, 0> - rotate <0, 90, 0> - } - - #ifndef (SCHNITT_1) - object { - kabine1 - translate <0, 10.2, 0> - rotate <0, 180, 0> - } - #end - object { - kabine1 - scale <-1, 1, +1> - translate <0, 10.2, 0> - rotate <0, 180, 0> - } - - object { - kabine1 - translate <0, 10.2, 0> - rotate <0, 270, 0> - } - #ifndef (SCHNITT_1) - object { - kabine1 - scale <-1, 1, +1> - translate <0, 10.2, 0> - rotate <0, 270, 0> - } - #end } diff --git a/pr/schneller_kreuzer/kabine.pov b/pr/schneller_kreuzer/kabine.pov index e700602..e93c79b 100644 --- a/pr/schneller_kreuzer/kabine.pov +++ b/pr/schneller_kreuzer/kabine.pov @@ -1,143 +1,20 @@ +/* + + Kabinenentwurf 1: + + (für Aufteilung: 12 m Zentrale, 30 m Kabinen) + + Innendurchmesser 6.0 m, Außendurchmesser 10.0, + 4 Blöcke á 2 Kabinen + + + */ + #declare eps=1E-3; -#declare bett = - box { - <0, 0.2, 0> - <2, 0.4, 1> - texture { - pigment { - color <1.0, 1.0, 0.8> - } - } - } -#declare kasten = - box { - <0, 0.0, 0> - <1.5, 2.0, 0.6> - texture { - pigment { - color <0.8, 1.0, 0.8> - } - } - } - -#declare klo = - intersection { - difference { - sphere { - 0, 1 - scale <0.22, 0.4, 0.2> - } - sphere { - 0, 1 - scale <0.17, 0.2, 0.16> - } - translate <0, 0.4, 0> - } - box { - <-0.22, 0, -0.2> - <+0.22, 0.4, 0.2> - } - texture { - pigment { - color <1.0, 1.0, 1.0> - } - } - } - -#declare tisch = - union { - cylinder { - <0, 0.68, 0> - <0, 0.70, 0> - 0.5 - } - cylinder { - <0, 0.68, 0> - <0, 0.00, 0> - 0.05 - } - texture { - pigment { - color <0.4, 0.4, 0.2> - } - } - } - -#declare stuhl = - union { - box { - <-0.2, 0.38, -0.2> - <+0.2, 0.38, +0.2> - } - box { - <+0.3, 0.38, -0.2> - <+0.3, 0.80, +0.2> - } - cylinder { - <-0.19, 0, -0.19>, - <-0.19, 0.38, -0.19>, - 0.01 - } - cylinder { - <-0.19, 0, +0.19>, - <-0.19, 0.38, +0.19>, - 0.01 - } - cylinder { - <+0.19, 0, +0.19>, - <+0.19, 0.38, +0.19>, - 0.01 - } - cylinder { - <+0.19, 0, -0.19>, - <+0.19, 0.38, -0.19>, - 0.01 - } - texture { - pigment { - color <0.4, 0.4, 0.2> - } - } - } - -#declare duschwanne = - difference { - box { - <-0.4, 0, -0.4> - <+0.4, 0.2, 0.4> - } - superellipsoid { - <0.1, 0.1> - scale <0.35, 0.15, 0.35> - translate <0, 0.2, 0> - } - texture { - pigment { - color <1.0, 1.0, 1.0> - } - } - } - -#declare waschbecken = - difference { - box { - <-0.2, 0, -0.3> - <+0.2, 0.3, 0.3> - } - superellipsoid { - <0.1, 0.1> - scale <0.14, 0.25, 0.28> - translate <-0.04, 0.3, 0> - } - translate <-0.2, 0.7, 0> - texture { - pigment { - color <1.0, 1.0, 1.0> - } - } - } +#declare H = 2.9; +#include "einrichtung.pov" #declare kabine1 = union { @@ -146,26 +23,58 @@ difference { cylinder { <0, 0, 0> - <0, 5, 0> + <0, H, 0> 6.1 } cylinder { <0, 0-eps, 0> - <0, 5+eps, 0> + <0, H+eps, 0> 6.0 } } difference { cylinder { <0, 0, 0> - <0, 5, 0> + <0, H, 0> 10.0 } cylinder { <0, 0-eps, 0> - <0, 5+eps, 0> + <0, H+eps, 0> 9.9 } + superellipsoid { + <0.2, 0.2> + scale <0.5, 1, 1> + translate <0, 1, 10> + rotate <0, +22.5, 0> + } + } + // Schott + intersection { + difference { + cylinder { + <0, 0, 0> + <0, H, 0> + 9.98 + } + cylinder { + <0, 0-eps, 0> + <0, H+eps, 0> + 9.92 + } + } + superellipsoid { + <0.2, 0.2> + scale <0.5, 1, 1> + translate <0, 1, 10> + } + texture { + pigment { + color <0.9, 1.0, 0.8> + } + } + rotate <0, +22.5, 0> } } plane { @@ -184,12 +93,12 @@ } box { <6.0, 0, -0.05> - <10.0, 5, 0.05> + <10.0, H, 0.05> rotate <0, -45, 0> } box { <1.0, 0, sqrt(35)> - <1.1, 5, sqrt(99)> + <1.1, H, sqrt(99)> } object { bett @@ -221,7 +130,7 @@ box { <1, 0, 7.5> - <2, 5, 7.51> + <2, H, 7.51> texture { pigment { color White } } @@ -229,7 +138,7 @@ box { <2, 0, 7.5> - <2.01, 5, sqrt(10*10-2*2)> + <2.01, H, sqrt(10*10-2*2)> texture { pigment { color White } } diff --git a/pr/schneller_kreuzer/povray.ini b/pr/schneller_kreuzer/povray.ini index face391..98e4ffb 100644 --- a/pr/schneller_kreuzer/povray.ini +++ b/pr/schneller_kreuzer/povray.ini @@ -1,6 +1,6 @@ +MB5 -+Q4 --A ++Q9 ++A +HTN +fp +w640 +h480 +d1 display_gamma = 2.2 diff --git a/pr/schneller_kreuzer/schneller_kreuzer.pov b/pr/schneller_kreuzer/schneller_kreuzer.pov index f6be021..f02d4ff 100644 --- a/pr/schneller_kreuzer/schneller_kreuzer.pov +++ b/pr/schneller_kreuzer/schneller_kreuzer.pov @@ -1,5 +1,6 @@ #include "T_arkonstahl.pov" #include "huelle.pov" +#if (1) #include "deck_20.pov" #include "deck_19.pov" #include "deck_18.pov" @@ -7,6 +8,7 @@ #include "deck_16.pov" #include "deck_15.pov" #include "deck_14.pov" +#end #include "deck_13.pov" #declare schneller_kreuzer = @@ -15,7 +17,6 @@ object { deck_20 } - #end object { deck_19 } @@ -34,9 +35,11 @@ object { deck_14 } + #end object { deck_13 } + #if (0) intersection { object { huelle @@ -48,5 +51,6 @@ } #end } + #end } diff --git a/pr/schneller_kreuzer/sk.obj b/pr/schneller_kreuzer/sk.obj index acc0695..ee369e8 100644 --- a/pr/schneller_kreuzer/sk.obj +++ b/pr/schneller_kreuzer/sk.obj @@ -1,10 +1,10 @@ %TGIF 4.1.34 -state(1,37,100.000,0,0,0,16,1,9,1,1,0,0,0,0,1,1,'Courier',0,80640,0,0,1,5,1,0,1,1,0,16,0,0,2,6,1,1,1408,1088,1,0,5760,0). +state(1,37,100.000,355,255,1,16,1,9,1,1,0,0,0,0,1,1,'Courier',0,80640,0,0,1,5,1,1,1,1,0,16,0,0,1,6,1,1,1408,1088,1,0,5760,0). % % @(#)$Header$ % %W% % -unit("1 pixel/pixel"). +unit("10 pixel/m"). color_info(11,65535,0,[ "magenta", 65535, 0, 65535, 65535, 0, 65535, 1, "red", 65535, 0, 0, 65535, 0, 0, 1, @@ -44,17 +44,17 @@ poly('black','',2,[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ - 550,500,700,500],0,1,1,7,0,0,0,0,0,0,0,'1',0,0, + 550,500,620,500],0,1,1,7,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ - 550,450,700,450],0,1,1,8,0,0,0,0,0,0,0,'1',0,0, + 550,450,620,450],0,1,1,8,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). poly('black','',2,[ - 620,400,620,600],0,1,1,9,0,0,0,0,0,0,0,'1',0,0, + 620,400,620,550],0,1,1,9,0,0,0,0,0,0,0,'1',0,0, "0","",[ 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ ]). @@ -381,7 +381,7 @@ str_seg('black','Courier',0,80640,63,13,3,0,-1,0,0,0,0,0, "Kabinen")]) ]) ])]). -text('black',630,457,1,0,1,63,16,158,13,3,0,0,0,0,2,63,16,0,0,"",0,0,0,0,470,'',[ +text('black',630,437,1,0,1,63,16,158,13,3,0,0,0,0,2,63,16,0,0,"",0,0,0,0,450,'',[ minilines(63,16,0,0,0,0,0,[ mini_line(63,13,3,0,0,0,[ str_block(0,63,13,3,0,-1,0,0,0,[ @@ -389,7 +389,7 @@ str_seg('black','Courier',0,80640,63,13,3,0,-1,0,0,0,0,0, "Kabinen")]) ]) ])]). -text('black',630,507,1,0,1,63,16,162,13,3,0,0,0,0,2,63,16,0,0,"",0,0,0,0,520,'',[ +text('black',630,467,1,0,1,63,16,162,13,3,0,0,0,0,2,63,16,0,0,"",0,0,0,0,480,'',[ minilines(63,16,0,0,0,0,0,[ mini_line(63,13,3,0,0,0,[ str_block(0,63,13,3,0,-1,0,0,0,[ @@ -704,6 +704,42 @@ str_seg('red','Courier',0,80640,9,13,3,0,-3,0,0,0,0,0, "1")]) ]) ])]). +poly('black','',2,[ + 620,520,700,520],0,1,1,997,0,0,0,0,0,0,0,'1',0,0, + "0","",[ + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ +]). +poly('black','',2,[ + 620,490,700,490],0,1,1,998,0,0,0,0,0,0,0,'1',0,0, + "0","",[ + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ +]). +poly('black','',2,[ + 620,460,700,460],0,1,1,999,0,0,0,0,0,0,0,'1',0,0, + "0","",[ + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ +]). +poly('black','',2,[ + 620,430,700,430],0,1,1,1000,0,0,0,0,0,0,0,'1',0,0, + "0","",[ + 0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[ +]). +text('black',630,497,1,0,1,63,16,1001,13,3,0,0,0,0,2,63,16,0,0,"",0,0,0,0,510,'',[ +minilines(63,16,0,0,0,0,0,[ +mini_line(63,13,3,0,0,0,[ +str_block(0,63,13,3,0,-1,0,0,0,[ +str_seg('black','Courier',0,80640,63,13,3,0,-1,0,0,0,0,0, + "Kabinen")]) +]) +])]). +text('black',630,527,1,0,1,63,16,1002,13,3,0,0,0,0,2,63,16,0,0,"",0,0,0,0,540,'',[ +minilines(63,16,0,0,0,0,0,[ +mini_line(63,13,3,0,0,0,[ +str_block(0,63,13,3,0,-1,0,0,0,[ +str_seg('black','Courier',0,80640,63,13,3,0,-1,0,0,0,0,0, + "Kabinen")]) +]) +])]). page(2,"",1,''). oval('black','',50,50,650,650,0,1,1,878,0,0,0,0,0,'1',0,[ ]). @@ -1039,6 +1075,38 @@ str_seg('black','Courier',0,80640,90,13,3,0,-1,0,0,0,0,0, "Beobachter")]) ]) ])]). +text('black',15,327,1,1,1,18,16,987,13,3,0,1,0,0,2,18,16,0,0,"",0,0,0,0,340,'',[ +minilines(18,16,0,0,1,1,0,[ +mini_line(18,13,3,0,0,0,[ +str_block(0,18,13,3,0,-1,0,0,0,[ +str_seg('black','Courier',0,80640,18,13,3,0,-1,0,0,0,0,0, + "+x")]) +]) +])]). +text('black',365,17,1,1,1,18,16,989,13,3,0,1,0,0,2,18,16,0,0,"",0,0,0,0,30,'',[ +minilines(18,16,0,0,1,1,0,[ +mini_line(18,13,3,0,0,0,[ +str_block(0,18,13,3,0,-3,0,0,0,[ +str_seg('black','Courier',0,80640,18,13,3,0,-3,0,0,0,0,0, + "-z")]) +]) +])]). +text('black',665,322,1,1,1,18,16,991,13,3,0,1,0,0,2,18,16,0,0,"",0,0,0,0,335,'',[ +minilines(18,16,0,0,1,1,0,[ +mini_line(18,13,3,0,0,0,[ +str_block(0,18,13,3,0,-1,0,0,0,[ +str_seg('black','Courier',0,80640,18,13,3,0,-1,0,0,0,0,0, + "-x")]) +]) +])]). +text('black',365,667,1,1,1,18,16,993,13,3,0,1,0,0,2,18,16,0,0,"",0,0,0,0,680,'',[ +minilines(18,16,0,0,1,1,0,[ +mini_line(18,13,3,0,0,0,[ +str_block(0,18,13,3,0,-3,0,0,0,[ +str_seg('black','Courier',0,80640,18,13,3,0,-3,0,0,0,0,0, + "+z")]) +]) +])]). page(3,"",1,''). box('black','',160,600,580,680,0,1,1,170,0,0,0,0,0,'1',0,[ ]). diff --git a/pr/schneller_kreuzer/test-deck_13.png b/pr/schneller_kreuzer/test-deck_13.png index 0427d2b..b19c145 100644 Binary files a/pr/schneller_kreuzer/test-deck_13.png and b/pr/schneller_kreuzer/test-deck_13.png differ diff --git a/pr/schneller_kreuzer/test-ein-mann-jaeger.pov b/pr/schneller_kreuzer/test-ein-mann-jaeger.pov index 004a972..40b3e99 100644 --- a/pr/schneller_kreuzer/test-ein-mann-jaeger.pov +++ b/pr/schneller_kreuzer/test-ein-mann-jaeger.pov @@ -20,10 +20,10 @@ light_source { color White*0.5 } camera { + orthographic location <20, 1, 7.5> look_at <-0, 1, 7.5> angle 40 - orthographic } #include "ein-mann-jaeger.pov" diff --git a/pr/schneller_kreuzer/test-kabine.pov b/pr/schneller_kreuzer/test-kabine.pov index 09c3de4..bca2794 100644 --- a/pr/schneller_kreuzer/test-kabine.pov +++ b/pr/schneller_kreuzer/test-kabine.pov @@ -19,7 +19,7 @@ light_source { color White*0.5 } -#declare CP = <+02, 17, +7>; +#declare CP = <+02, 1.7, +7>; light_source { CP color White*0.9 @@ -27,7 +27,7 @@ light_source { camera { location CP - look_at <+4, 1, 7> + look_at <+4, 1, 10> angle 40 } diff --git a/pr/schneller_kreuzer/test-schneller_kreuzer.pov b/pr/schneller_kreuzer/test-schneller_kreuzer.pov index cc7e97a..a90eaea 100644 --- a/pr/schneller_kreuzer/test-schneller_kreuzer.pov +++ b/pr/schneller_kreuzer/test-schneller_kreuzer.pov @@ -1,4 +1,3 @@ -#version unofficial MegaPov 0.5; #include "colors.inc" #include "shapes.inc" #include "textures.inc" @@ -6,17 +5,11 @@ #include "stones.inc" #declare SCHNITT_1 = 1; // Quadrant -/*/- -#declare HUELLE = 1; // Quadrant -/*/- - -global_settings { - post_process {find_edges{10000,.05,1,1,1,rgb 0}} -} -#default {finish {ambient 0.4 diffuse 0.3 brilliance 0}} +#declare HUELLE = 1; global_settings { assumed_gamma 1.0 ambient_light rgb<0.5, 0.5, 0.5> - radiosity {} } background { color rgb<0.2, 0.4, 0.8> } light_source { @@ -24,22 +17,21 @@ light_source { color White } -#local CP = <-150, 200, -150>; +#local CP = <-200, 200, -100>; light_source { CP color White*0.5 } camera { location CP - look_at <-0, 60, -0> - angle 32 + look_at <-0, 15, -0> + angle 20 } #include "schneller_kreuzer.pov" object { schneller_kreuzer - translate <0, 60, 0> } @@ -56,3 +48,20 @@ cylinder { } } +cone { + <0, 0, 0>, 0 + <1000, 0, 0>, 10 + pigment { color <1, 0, 0> } +} + +cone { + <0, 0, 0>, 0 + <0, 1000, 0>, 10 + pigment { color <0, 1, 0> } +} + +cone { + <0, 0, 0>, 0 + <0, 0, 1000>, 10 + pigment { color <0, 0, 1> } +}