diff --git a/pr/kr100/HB100.GIF b/pr/kr100/HB100.GIF new file mode 100644 index 0000000..dfb32e3 Binary files /dev/null and b/pr/kr100/HB100.GIF differ diff --git a/pr/kr100/HG23_100.GIF b/pr/kr100/HG23_100.GIF new file mode 100644 index 0000000..f0c428e Binary files /dev/null and b/pr/kr100/HG23_100.GIF differ diff --git a/pr/kr100/HG4_100.GIF b/pr/kr100/HG4_100.GIF new file mode 100644 index 0000000..dfb32e3 Binary files /dev/null and b/pr/kr100/HG4_100.GIF differ diff --git a/pr/kr100/KR100.INC b/pr/kr100/KR100.INC new file mode 100644 index 0000000..25bd9c5 --- /dev/null +++ b/pr/kr100/KR100.INC @@ -0,0 +1,996 @@ + +// Persistence of Vision Ray Tracer Include File +// POV-Ray 3.0 +// File: KR100.pov +// Vers: 1.0 +// Desc: Kugelraumer 100m Durchmesser +// Leichter Kreuzer der STÄDTE- / STAATEN-Klasse +// Date: 31.01.97 +// Auth: Harald Ottacher +// email: ottacher@iwf.tu-graz.ac.at +// +//////////////////////////////////////////////////// + +#declare _MAT_gif = "krpl100.gif" +#declare _M_ANGL = 0.0 + +#declare _FENSTER_R = 50 + +//#declare _STUETZE = 1 // wenn deklariert dann sind + // die Landstützen ausgefahren +//#declare _NO_F_LIGHT = 1 // wenn deklariert dann sind + // die Fenster dunkel +//#declare _NO_K_LIGHT = 1 // wenn deklariert dann sind + // Beobachtungskuppel dunkel +#include "KRMat.inc" + +//////////////////////////////////////////////////// + +// Kugelraumer 100 Meter +#declare R = 50.0 // Kugelradius +#declare wr = 7.0 // Wulstradius + +// Fenster +#declare F_O1 = +union { + superellipsoid { < 0.5, 0.5 > + scale < R+5, 0.75, 0.5 > + translate < 0, 0, -1.25 > + } + superellipsoid { < 0.5, 0.5 > + scale < R+5, 0.75, 0.5 > + translate < 0, 0, 1.25 > + } + texture { TERKONIT } + } + +#declare Count = 0 +#declare F_OR = +union { + #while (Count < 180) + union { + object { + F_O1 + rotate < 0, Count-4, 0 > + } + object { + F_O1 + rotate < 0, Count+4, 0 > + } + translate < 0, 27.5, 0 > + } + #declare Count=Count+20 + #end + + #declare Count = 0 + #while (Count < 180) + object { + F_O1 + rotate < 0, Count, 0 > + translate < 0, 15.5, 0 > + } + #declare Count=Count+10 + #end + + #declare Count = 0 + #while (Count < 180) + object { + F_O1 + rotate < 0, Count, 0 > + translate < 0, -15.5, 0 > + } + #declare Count=Count+10 + #end +} + +#declare FENSTER = +difference { + object { F_OR } + sphere { <0, 0, 0>, R-0.3 + hollow + texture { + _T_FENSTER + } + } +} // end difference + +//----- Hangar Textur +#declare Mannschl = +texture { + pigment { + image_map { + gif "manns.gif" + interpolate 4 // 4=normalized distance + filter 5 1.0 + once + } + translate < -0.5, -0.5, 0 > + scale < 5, 2.5 , 1 > + rotate < 0, 90 ,0 > + } // end pigment +} // end texture + +#declare Hangar_B = +texture { + pigment { + image_map { + gif "HB100.gif" + interpolate 4 // 4=normalized distance + filter 5 1.0 + once + } + translate < -0.5, -0.5, 0 > + scale < 15, 8 , 1 > + rotate < 0, 90 ,0 > + } // end pigment +} // end texture + +#declare Hangar_23 = +texture { + pigment { + image_map { + gif "hg23_100.gif" + interpolate 4 // 4=normalized distance + filter 5 1.0 + once + } + translate < -0.5, -0.5, 0 > + scale < 12, 6 , 1 > + rotate < 0, 90 ,0 > + } // end pigment +} // end texture + +#declare Hangar_4 = +texture { + pigment { + image_map { + gif "hg4_100.gif" + interpolate 4 // 4=normalized distance + filter 5 1.0 + once + } + translate < -0.5, -0.5, 0 > + scale < 16, 8 , 1 > + rotate < 0, 90 ,0 > + } // end pigment +} // end texture + +//----- Hangar Tore +#declare msl_h = 8.75 // Höhe Mannschl +#declare hg23_h = -21.5 // Höhe Hangar unten +#declare hg4_h = 34 // Höhe Hangar oben +#declare hgb_h = -42 // Höhe Bodenhangar + +#declare Count = 0 +#declare MANNSCHL = +union { + #while (Count < 360) + intersection { + sphere { <0, 0, 0>, R-0.5 } + box { <-1, -1, -1>, < -0.2, 1, 1> + scale < R+5, 1.25, 2.5 > + translate < 0, msl_h, 0 > + } + texture { TERKONIT } + texture { + Mannschl + translate < 0, msl_h, 0 > + } + rotate < 0, Count ,0 > + } // end intersection + #declare Count=Count+90 + #end +} // end union + +#declare HANGAR_B = +intersection { + sphere { <0, 0, 0>, R-1.0 } + box { <-1, -1, -1>, < -0.2, 1, 1> + scale < R+5, 5, 10 > + translate < 0, hgb_h, 0 > + } + texture { TERKONIT } + texture { + Hangar_B + translate < R, hgb_h, 0 > + } // end texture + rotate < 0, 180, 0 > +} // end intersection + +#declare HANGAR_23 = +difference { + sphere { <0, 0, 0>, R-1.0 } + box { < -1, -1, -1>, < 1, 1, 1 > + scale R + translate < R+5, 0, 0 > + } + box { < -1, -1, -1>, < 1, 1, 1 > + scale R + translate < 0, R-5, 0 > + } + texture { TERKONIT } + texture { + Hangar_23 + rotate < 0, 67.5 ,0 > + translate < 0, hg23_h, 0 > + } // end texture + texture { + Hangar_23 + rotate < 0, -67.5 ,0 > + translate < 0, hg23_h, 0 > + } // end texture +} // end difference + +#declare HANGAR_4 = +intersection { + sphere { <0, 0, 0>, R-1.0 } + box { <-1, -1, -1>, < -0.2, 1, 1> + scale < R+5, 5, 11 > + translate < 0, hg4_h, 0 > + } + texture { TERKONIT } + texture { + Hangar_4 + translate < R, hg4_h, 0 > + } // end texture +} // end intersection + + +//----- Hangar Ausschnitte +// Mann Schleuse +#declare Count = 0 +#declare _MANNSCHL = +union { + #while (Count < 180) + superellipsoid { < 0.2, 0.2 > + scale < R+5, 1.25, 2.5 > + rotate < 0, Count ,0 > + translate < 0, msl_h, 0 > + } + #declare Count=Count+90 + #end + texture { TERKONIT } +} // end union + +// Hangar Boden +#declare _HANGAR_B = +object { + superellipsoid { < 0.2, 0.2 > + scale < R/2+5, 4, 9 > + translate < R/2, 0, 0 > + translate < 0, hgb_h, 0 > + } + texture { TERKONIT } +} // end object + +// Hangar unten +#declare _HANGAR_23 = +union { + superellipsoid { < 0.2, 0.2 > + scale < R/2+5, 3, 7 > + translate < -R/2, 0, 0 > + rotate < 0, 67.5 ,0 > + translate < 0, hg23_h, 0 > + } + superellipsoid { < 0.2, 0.2 > + scale < R/2+5, 3, 7 > + translate < -R/2, 0, 0 > + rotate < 0, -67.5 ,0 > + translate < 0, hg23_h, 0 > + } + texture { TERKONIT } +} // end union + +// Hangar oben +#declare _HANGAR_4 = +object { + superellipsoid { < 0.2, 0.2 > + scale < R/2+5, 4, 10 > + translate < -R/2, 0, 0 > + translate < 0, hg4_h, 0 > + } + texture { TERKONIT } +} // end object + +#declare SCHALE = +object { + difference { + sphere { <0, 0, 0> R + } + object { _MANNSCHL } // Mann Schleusen + object { _HANGAR_B } // Hangar Boden + object { _HANGAR_23 } // Hangar unten + object { _HANGAR_4 } // Hangar oben + object { FENSTER } + } + bounded_by { + sphere { <0, 0, 0> R + } + } +} // end object + +//--------------------------------------------------- +// Ringwulst + +#declare DUESE = +object { + union { + quadric { + <1, 0, 1>, + <0, 0, 0>, + <0, -1, 0>, 0 + } + cylinder { + < 0, 0.3, 0 >, + < 0, -0.2, 0 >, + 0.3 + } + } + scale 1.5 + texture { TERKONIT + finish { + ambient 0.05 + diffuse 0.7 + reflection 0.5 + } + } +} // end obj + +#declare r1 = 3.75 +#declare dsk = 45 + +#declare WULST = +object { + difference { + union { + torus { R, wr } + cylinder { -wr*y , wr*y, R } + } + #declare Count = 15 + #while (Count < 360) + #declare X=(r1*cos(radians( dsk ))+R)*sin(radians( Count )) + #declare Z=(r1*cos(radians( dsk ))+R)*cos(radians( Count )) + #declare Y=r1*sin(radians( dsk )) + object { + DUESE + rotate < dsk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z, > + } + #declare Count=Count+30 + #end + #declare Count = 15 + #while (Count < 360) + #declare X=(r1*cos(radians( -dsk ))+R)*sin(radians( Count )) + #declare Z=(r1*cos(radians( -dsk ))+R)*cos(radians( Count )) + #declare Y=r1*sin(radians( -dsk )) + object { + DUESE + rotate <180-dsk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z, > + } + #declare Count=Count+30 + #end + } + bounded_by { + cylinder { + < 0, -wr, 0 >, + < 0, wr, 0 >, + R+wr + } + } +} // end object + +//--------------------------------------------------- +// Geschützkuppeln + +#declare GSROHR = +lathe { + linear_spline + 16, + <0, 0>, + <0.1, 0>, + <0.10, 1.03>, <0.15, 1.03>, <0.15, 1.05>, <0.10, 1.05>, + <0.10, 1.07>, <0.15, 1.07>, <0.15, 1.09>, <0.10, 1.09>, + <0.10, 1.11>, <0.15, 1.11>, <0.11, 1.25>, <0.08, 1.25>, <0.08, 1.0>, + <0, 1.0> + + texture { TERKONIT + } +} // end lathe + +#declare GSKUPPEL_1 = +object { + union { + sphere { + < 0, 0, 0 >, 1 + texture { TERKONIT } + scale < 1, 0.75, 1 > + } + object { GSROHR } + scale 0.8 + } + scale 3 +} // end obj + + +#declare GSKUPPEL_2 = +object { + union { + sphere { + < 0, 0, 0 >, 1 + texture { TERKONIT } + scale < 1, 0.75, 1 > + } + object { GSROHR } + scale 0.8 + } + scale 4 +} // end obj + +#declare rgs = R - 1.0 + +#declare GSKP = +union { + sphere { < 0, 0, 0 >, 1 + texture { TERKONIT } + scale <1, 0.5, 1> + } + union { + object { GSROHR } + cylinder { + < 0.1, 0, 0 > + < 0.1, 1.0, 0 >, 0.05 + } + cylinder { + < -0.1, 0, 0 > + < -0.1, 1.0, 0 >, 0.05 + } + cylinder { + < 0, 0, 0.1 > + < 0, 1.0, 0.1 >, 0.05 + } + cylinder { + < 0, 0, -0.1 > + < 0, 1.0, -0.1 >, 0.05 + } + texture { TERKONIT } + scale 0.7 + rotate < -40, 0, 0 > + } + scale 7 + translate rgs*y +} + +#declare rgs = R - 0.5 +#declare Count = 45 +#declare wgsk = 50 +#declare GSKR1 = +union{ + #while (Count < 360) + #declare X=rgs*sin(radians( Count ))*cos(radians( wgsk )) + #declare Z=rgs*cos(radians( Count ))*cos(radians( wgsk )) + #declare Y=rgs*sin(radians( wgsk )) + object { + GSKUPPEL_1 + rotate < 90-wgsk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z > + } + #declare Count=Count+90 + #end +} + +#declare Count = 0 +#declare wgsk = 25 +#declare GSKR2 = +union{ + #while (Count < 360) + #declare X=rgs*sin(radians( Count ))*cos(radians( wgsk )) + #declare Z=rgs*cos(radians( Count ))*cos(radians( wgsk )) + #declare Y=rgs*sin(radians( wgsk )) + object { + GSKUPPEL_2 + rotate < 90-wgsk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z > + } + #declare Count=Count+45 + #end +} + +#declare Count = 0 +#declare wgsk = -25 +#declare GSKR3 = +union{ + #while (Count < 360) + #declare X=rgs*sin(radians( Count ))*cos(radians( wgsk )) + #declare Z=rgs*cos(radians( Count ))*cos(radians( wgsk )) + #declare Y=rgs*sin(radians( wgsk )) + object { + GSKUPPEL_2 + rotate < 90-wgsk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z > + } + #declare Count=Count+45 + #end +} + +#declare Count = 45 +#declare wgsk = -50 +#declare GSKR4 = +union{ + #while (Count < 360) + #declare X=rgs*sin(radians( Count ))*cos(radians( wgsk )) + #declare Z=rgs*cos(radians( Count ))*cos(radians( wgsk )) + #declare Y=rgs*sin(radians( wgsk )) + object { + GSKUPPEL_1 + rotate < 90-wgsk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z > + } + #declare Count=Count+90 + #end +} + +//--------------------------------------------------- +// Schutzschirmprojektor + +#declare SSPROJ = +union { + cylinder { + < -1.0 0, 0 >, + < 1.0, 0, 0 >, + 0.2 + } + sphere { + < 0.0, 0, 0 >, 1.0 + scale < 0.5, 0.25, 0.3 > + translate < -1, 0, 0> + } + sphere { + < 0.0, 0.0, 0 >, 1.0 + scale < 0.55, 0.3, 0.35 > + } + sphere { + < 0.0, 0.0, 0 >, 1.0 + scale < 0.5, 0.25, 0.3 > + translate < 1, 0, 0> + } + texture { TERKONIT } +} + +#declare rgs = R - 0.5 +#declare Count = 0 +#declare wgsk = 52 +#declare SSKR1 = +union{ + #while (Count < 360) + #declare X=rgs*sin(radians( Count ))*cos(radians( wgsk )) + #declare Z=rgs*cos(radians( Count ))*cos(radians( wgsk )) + #declare Y=rgs*sin(radians( wgsk )) + object { + SSPROJ + scale 3 + rotate < 90-wgsk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z > + } + #declare Count=Count+90 + #end +} + +#declare Count = 0 +#declare wgsk = -45 +#declare SSKR2 = +union{ + #while (Count < 360) + #declare X=rgs*sin(radians( Count ))*cos(radians( wgsk )) + #declare Z=rgs*cos(radians( Count ))*cos(radians( wgsk )) + #declare Y=rgs*sin(radians( wgsk )) + object { + SSPROJ + scale 3 + rotate < 90-wgsk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z > + } + #declare Count=Count+90 + #end +} + +//--------------------------------------------------- +// Landeteller und Landestützen + +#declare wldst = 15 + +#declare LDST = +union{ + cylinder { + < 0, 0.0, 0 >, < 0, -11.0, 0 >, 1.25 + } + cylinder { + < 0, -11.0, 0 >, < 0, -22.0, 0 >, 1.0 + } + cylinder { + < 0, -22.0, 0 >, < 0, -32.0, 0 >, 0.75 + } + union { + difference { + sphere { < 0, 0, 0 >, 1 + } + cylinder { + < 0, -0.1, 0 >, < 0, -1.1, 0 >, 1.25 + } + } + cylinder { + < 0, 0.0, 0 >, < 0, -0.7, 0 >, 3.0 + } + rotate < 0, 0, -wldst > + translate < 0, -32.0, 0 > + } + rotate < 0, 0, wldst > +} + +#declare Count = 15 +#declare wltk = -35 +#declare rlt = R -0.3 + +#ifdef (_STUETZE) +#declare LTKR = +union{ + #while (Count < 360) + #declare X=rlt*sin(radians( Count ))*cos(radians( wltk )) + #declare Z=rlt*cos(radians( Count ))*cos(radians( wltk )) + #declare Y=rlt*sin(radians( wltk )) + object { + LDST + rotate < 0, -90, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z > + } + #declare Count=Count+30 + #end + texture { TERKONIT } +} +#else +#declare LTKR = +union{ + #while (Count < 360) + #declare X=rlt*sin(radians( Count ))*cos(radians( wltk )) + #declare Z=rlt*cos(radians( Count ))*cos(radians( wltk )) + #declare Y=rlt*sin(radians( wltk )) + cylinder { + < 0, 0.6, 0 > + < 0, 0, 0 >, 3 + rotate < 90-wltk, 0, 0 > + rotate < 0, Count, 0 > + translate < X, Y, Z > + } + #declare Count=Count+30 + #end + texture { TERKONIT } +} +#end + +//--------------------------------------------------- +// Orter + +#declare _ORTER_1 = +lathe { + cubic_spline + 15, + <0, 0>, + <0, 0>, + <2.0, 0.0>,<1.0, 0.5>,<0.8, 0.9>, <1.0, 1.0>, + <1.250, 1.000>,<1.427, 1.073>,<1.500, 1.250>,<1.427, 1.427>, + <1.250, 1.500>, <0.5, 1.500>, < 0.177, 1.677 > + <0, 1.75>, + <0, 1.75> + + texture { TERKONIT } +} + +#declare _O_STAB = +union { + cylinder { + < 0, 0, 0 >, + < 0, 2.0, 0 >, + 0.15 + } + sphere { + < 0, 2.0, 0 >, + 0.2 + } +} + +#declare _ORTER_2 = +union { + sphere { + < 0, 0.0, 0 >, + 1.0 + scale < 1.0, 0.5, 1.0 > + } + cylinder { + < 0, 0, 0 >, + < 0, 1.0, 0 >, + 0.5 + } + sphere { + < 0, 1.0, 0 >, + 0.5 + } + sphere { + < 0.0, 0.0, 0 >, + 0.5 + scale < 0.5, 1, 1 > + translate < 0.5, 1.0, 0 > + } + sphere { + < 0.0, 0.0, 0 >, + 0.5 + scale < 0.5, 1, 1 > + translate < -0.5, 1.0, 0 > + } + sphere { + < 0.0, 0.0, 0 >, + 0.5 + scale < 1, 1, 0.5 > + translate < 0, 1.0, 0.5 > + } + sphere { + < 0.0, 0.0, 0 >, + 0.5 + scale < 1, 1, 0.5 > + translate < 0, 1.0, -0.5 > + } + cylinder { + < 0, 1.5, 0 >, + < 0, 2.2, 0 >, + 0.2 + } + lathe { + cubic_spline + 13, + <0, 0>, + <0, 0>, + <0.283, 0.117>, <0.400, 0.400>, + <0.41, 0.40>, <0.90, 0.40>, + <0.935, 0.415>, <1.000, 0.45>,<0.935, 0.485>, + <0.90, 0.50>, <0.50, 0.55>, + <0, 0.55>, + <0, 0.55> + scale < 1.5, 1, 0.5 > + rotate < 60, 0, 0> + translate < 0, 2.1, 0 > + } + texture { TERKONIT } +} + +#declare wank = 65 +#declare rank = R-0.2 +#declare Y=rank*sin(radians( wank )) +#declare ORTER = +union { + #declare X=rank*sin(radians( 0 ))*cos(radians( wank )) + #declare Z=rank*cos(radians( 0 ))*cos(radians( wank )) + object { + _ORTER_2 + //rotate < 0, 90, 0 > + translate < X, Y-0.1, Z > + } + #declare X=rank*sin(radians( 120 ))*cos(radians( wank )) + #declare Z=rank*cos(radians( 120 ))*cos(radians( wank )) + object { + _ORTER_1 + rotate < 90-wank, 0, 0 > + rotate < 0, 120, 0 > + translate < X, Y, Z > + } + #declare X=rank*sin(radians( 240 ))*cos(radians( wank )) + #declare Z=rank*cos(radians( 240 ))*cos(radians( wank )) + object { + _ORTER_1 + rotate < 90-wank, 0, 0 > + rotate < 0, 240, 0 > + translate < X, Y, Z > + } +} // end union + +//--------------------------------------------------- +// Antennen + +#declare _ANTENNE_1 = +lathe { + cubic_spline + 17, + <0.0, 0>, + <0.0, 0>, + <1.0, 0.0>,<0.4, 1.29>, + <0.4, 1.300>,<0.541, 1.359>,<0.600, 1.500>,<0.541, 1.641>, + <0.4, 1.7>,<0.4, 1.89>, + <0.410, 1.900>, <0.495, 1.976>, <0.700, 2.400>, <0.495, 2.824>, <0.100, 2.999>, + <0, 3.0>, + <0, 3.0> + + texture { TERKONIT } +} + +#declare _A_STAB_1 = +union { + cylinder { + < 0, 0, 0 >, + < 0, 3.0, 0 >, + 0.4 + } + sphere { + < 0, 3.0, 0 >, + 0.45 + } +} + +#declare _ANTENNE_2 = +union { + object { + _A_STAB_1 + translate < 0.0, 0.0, 0.0 > + } + object { + _A_STAB_1 + translate < -1.2, -0.6, -1.2 > + } + object { + _A_STAB_1 + translate < -1.2, -1.4, 1.2 > + } + object { + _A_STAB_1 + translate < 1.2, -1.3, 1.2 > + } + object { + _A_STAB_1 + translate < 1.2, -0.5, -1.2 > + } + sphere { + < 0, 0.0, 0 >, + 1.0 + scale < 4.0, 2.0, 4.0 > + rotate < 90-wank, 0, 0 > + translate < 0, -0.9, -0.9> + } + texture { TERKONIT } +} + +#declare _A_STAB = +union { + cylinder { + < 0, 0, 0 >, + < 0, 2.0, 0 >, + 0.15 + } + sphere { + < 0, 2.0, 0 >, + 0.2 + } +} + +#declare _ANTENNE_3 = +union { + lathe { + cubic_spline + 25, + <0, 0>, + <0, 0>, + <1.50, 0.00>, <0.76, 0.80>, + <0.800, 0.800>, <1.141, 0.859>, <1.200, 1.000>, <1.141, 1.141>, <0.700, 1.200>, + <0.64, 1.20>, <0.47, 1.80>, + <0.500, 1.800>, <0.641, 1.859>, <0.700, 2.000>, <0.641, 2.141>, <0.400, 2.200>, + <0.35, 2.20>,<0.20, 2.70>, + <0.210, 2.700>, <0.212, 2.788>, <0.300, 3.000>, <0.212, 3.212>, <0.05, 3.299>, + <0, 3.3>, + <0, 3.3> + } + object { + _A_STAB + rotate < 0, 0, -10 > + translate < 1.0, 0, 0 > + } + object { + _A_STAB + rotate < 0, 0, 10 > + translate < -1.0, 0, 0 > + } + object { + _A_STAB + rotate < 10, 0, 0 > + translate < 0, 0, 1.0 > + } + object { + _A_STAB + rotate < -10, 0, 0 > + translate < 0, 0, -1.0 > + } + texture { TERKONIT } +} + +#declare Y=rank*sin(radians( wank )) +#declare ANTENNE = +union { + #declare X=rank*sin(radians( 60 ))*cos(radians( wank )) + #declare Z=rank*cos(radians( 60 ))*cos(radians( wank )) + object { + _ANTENNE_1 + scale 1.6 + translate < X, Y-0.1, Z > + } + #declare X=rank*sin(radians( -60 ))*cos(radians( wank )) + #declare Z=rank*cos(radians( -60 ))*cos(radians( wank )) + object { + _ANTENNE_3 + translate < X, Y-0.1, Z > + } + #declare X=rank*sin(radians( 180 ))*cos(radians( wank )) + #declare Z=rank*cos(radians( 180 ))*cos(radians( wank )) + object { + _ANTENNE_2 + rotate < 0, 180, 0 > + translate < X, Y, Z > + } +} // end union + +//--------------------------------------------------- +// Beobachtungskuppel + +#declare wbk = 66 +#declare rbk = R-0.5 +#declare Y=rbk*sin(radians( wbk )) +#declare X=rbk*sin(radians( 210 ))*cos(radians( wbk )) +#declare Z=rbk*cos(radians( 210 ))*cos(radians( wbk )) +#declare BKPL = +sphere { + < 0, 0, 0 >, 1 + hollow + texture { _T_GSK } + scale < 1, 0.5, 1 > + scale 4 + rotate < 90-wbk, 0, 0 > + rotate < 0, 210, 0 > + translate < X, Y, Z > +} // end sphere + +//--------------------------------------------------- +// Raumer + +#declare KR100 = +union { + object { SCHALE + texture { + _T_SCHALE + } + } + object { MANNSCHL } + object { HANGAR_B } + object { HANGAR_23 } + object { HANGAR_4 } + object { WULST + texture { + _T_SCHALE + } + } + object { GSKP } + object { GSKR1 } + object { GSKR2 } + object { GSKR3 } + object { GSKR4 } + object { SSKR1 } + object { SSKR2 } + object { LTKR } + object { ORTER } + object { ANTENNE } + object { BKPL } +} + +//--------------------------------------------------- diff --git a/pr/kr100/KR100.POV b/pr/kr100/KR100.POV new file mode 100644 index 0000000..67c4290 --- /dev/null +++ b/pr/kr100/KR100.POV @@ -0,0 +1,90 @@ + +// Persistence of Vision Ray Tracer Scene Description File +// POV-Ray 3.0 +// File: KR100.pov +// Vers: 1.0 +// Desc: Kugelraumer 100m Durchmesser +// Leichter Kreuzer der STÄDTE- / STAATEN-Klasse +// Date: 31.01.97 +// Auth: Harald Ottacher +// email: ottacher@iwf.tu-graz.ac.at +// +//////////////////////////////////////////////////// + +// ==== Standard POV-Ray Includes ==== +#include "colors.inc" // Standard Color definitions +#include "textures.inc" // Standard Texture definitions + +// ==== Additional Includes ==== +#include "CONSTS.INC" + +camera { + location < 0.0, 0.0, -150.0> + direction 1.2*z + up y + right 4/3*x + look_at < 0.0, 0.0, 0.0> +} + +light_source { + 0*x + color red 1.0 green 1.0 blue 1.0 + translate <-200, 200, -400> +} + +light_source { + 0*x + color Gray70 + translate < 0, 0, -400> + shadowless +} + +//////////////////////////////////////////////////// + +#declare _STARS = 1 + +#ifdef (_STARS) +#declare Starfield= +texture { + pigment { + granite + color_map { + [ 0.0000 0.2700 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ] + [ 0.2700 0.2710 color rgb <.6,.6,.4> color rgb <.9,.9,.4> ] + [ 0.2710 0.4700 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ] + [ 0.4700 0.4720 color rgb <.4,.4,.5> color rgb <.4,.4,.7> ] + [ 0.4720 0.6800 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ] + [ 0.6800 0.6820 color rgb <.5,.4,.4> color rgb <.7,.4,.4> ] + [ 0.6820 0.8800 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ] + [ 0.8800 0.8815 color rgb <.5,.5,.5> color rgb < 1, 1, 1> ] + [ 0.8815 1.0000 color rgb < 0, 0, 0> color rgb < 0, 0, 0> ] + } + turbulence 1 + sine_wave + scale .5 + } + finish { diffuse 0 ambient 1 } +} +#else +#declare Starfield = +texture { + pigment { Black } +} +#end // if _STARS + +object { + sphere { < 0, 0, 0 >, 1 } + hollow + texture { Starfield } + scale 100000 +} // end object + +//////////////////////////////////////////////////// + +#include "KR100.INC" + +object { + KR100 + rotate < 0, -45, 0 > + rotate < -10, 0, 0 > +} diff --git a/pr/kr100/KRMAT.INC b/pr/kr100/KRMAT.INC new file mode 100644 index 0000000..d18c22c --- /dev/null +++ b/pr/kr100/KRMAT.INC @@ -0,0 +1,288 @@ + +// Persistence of Vision Ray Tracer Include File +// POV-Ray 3.0 +// File: KRMat.inc +// Vers: 1.0 +// Desc: Textures für die Kugelraumer +// Date: 20.01.97 +// Auth: Harald Ottacher +// email: ottacher@iwf.tu-graz.ac.at +// +//////////////////////////////////////////////////// + +// Materials +//--------------------------------------------------- + +// Texture TERKONIT +#declare TERKONIT = +texture { + pigment { color red 0.56 green 0.56 blue 0.8} + finish { + metallic + ambient 0.0 + diffuse 0.7 + brilliance 1 + reflection 0.1 + specular 0.7 + roughness 1/60 + } +} // end texture + +//--------------------------------------------------- +// Terkonit Kugelraumer Schale + +#declare _d = 0.70 +#declare _r = 100 +#declare _T_S_1 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 1 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_2 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } + +} // end text 2 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_3 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 3 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_4 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 4 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_5 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 5 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_6 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 6 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_7 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 7 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_8 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 8 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_9 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 9 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_10 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 10 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_11 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 11 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_12 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 12 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_13 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 13 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_14 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 14 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_15 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 15 + +#declare _d = _d-0.01 +#declare _r = _r-5 +#declare _T_S_16 = +texture { + TERKONIT + finish { diffuse _d + roughness 1/_r } +} // end text 16 + + +#declare _T_SCHALE = +texture { + material_map { + gif _MAT_gif + map_type Sphere_Map + + /* Now a list of textures to map with instead of colors */ + texture { _T_S_1 } + texture { _T_S_2 } + texture { _T_S_3 } + texture { _T_S_4 } + texture { _T_S_5 } + texture { _T_S_6 } + texture { _T_S_7 } + texture { _T_S_8 } + texture { _T_S_9 } + texture { _T_S_10 } + texture { _T_S_11 } + texture { _T_S_12 } + texture { _T_S_13 } + texture { _T_S_14 } + texture { _T_S_15 } + texture { _T_S_16 } + + } // end mat_map + rotate < 0, _M_ANGL, 0 > +} // end texture + +//--------------------------------------------------- +// Fenster Texture + +#declare _T_F_finish = +finish { + ambient 0.05 + diffuse 0.1 + reflection 0.2 + refraction 1 + ior 1.5 + phong 0.3 + phong_size 60 +} // end finish + +#ifdef (_NO_F_LIGHT) +#declare _T_FENSTER = +texture { + pigment {colour rgbft <0.4, 0.4, 0.4, 0.7, 0.3> } + finish { _T_F_finish } +} // end text +#else +#declare _T_FENSTER = +texture { + pigment {colour rgbft <0.4, 0.4, 0.4, 0.7, 1.0>} + finish { _T_F_finish } + halo { + emitting + constant + max_value 1 + spherical_mapping + colour_map { + [0 color rgbt <1.0, 1.0, 1.0, 0>] + [1 color rgbt <0.9, 1.0, 0.8, -1>] + } + // turbulence 0.5 + scale _FENSTER_R + samples 10 + } // end halo +} // end text +#end + +//--------------------------------------------------- +// Kuppel Texture + +#declare _T_K_text = +texture { + pigment {colour rgbft <0.4, 0.4, 0.6, 0.5, 0.5> } + finish { + ambient 0.00 + diffuse 0.2 + reflection 0.1 + refraction 1 + ior 1.5 + phong 0.3 + phong_size 60 + } // end finish +} // end text + +#ifdef (_NO_K_LIGHT) +#declare _T_GSK = +texture { _T_K_text +} // end text +#else +#declare _T_GSK = +texture { _T_K_text + halo { + emitting + cubic + max_value 1 + spherical_mapping + colour_map { + [0 color rgbt <1.0, 0.0, 0.0, 0.6>] + [0.2 color rgbt <1.0, 0.2, 0.1, 0.4>] + [1 color rgbt <1.0, 0.4, 0.2, 0.0>] + } + samples 10 + } // end halo +} // end text +#end + +//--------------------------------------------------- diff --git a/pr/kr100/KRPL100.GIF b/pr/kr100/KRPL100.GIF new file mode 100644 index 0000000..2628964 Binary files /dev/null and b/pr/kr100/KRPL100.GIF differ diff --git a/pr/kr100/LISTE.TXT b/pr/kr100/LISTE.TXT new file mode 100644 index 0000000..630a4b4 --- /dev/null +++ b/pr/kr100/LISTE.TXT @@ -0,0 +1,25 @@ + +Datei Liste für 100 m Kugelraumer +-------------------------------- +Type: Leichter Kreuzer der STÄDTE- / STAATEN-Klasse + +KR100.pov Testszene für den 100 m Kugelraumer +KR100.inc POV-Ray Beschreibung des 100 m Kugelraumers +Krmat.inc Definitionen für die Kugelraumermaterialien +Krpl100.gif Material Map für den 100 m Kugelraumer +Liste.txt Diese Datei +Manns.gif Textur Map für die Mannschleusen +Hb100.gif Textur Map für die Bodenschleusen +Hg23_100.gif Textur Map für die Hangars unten +Hg4_100.gif Textur Map für den Hangars oben +View100.jpg Fertiges Bild des 60 m Kugelgaumers + mit der Testszene erstellt. + (kein Anti-Aliasing) + +Der Maßstab für den Raumer ist 1 m. +-------------------------------- +Viel Spaß allen die es ausprobieren. +Meldet Euch bei mir zu einem Gedankenaustausch. +-------------------------------- +Copyright 1997 Harald Ottacher +email: ottacher@iwf.tu-graz.ac.at diff --git a/pr/kr100/MANNS.GIF b/pr/kr100/MANNS.GIF new file mode 100644 index 0000000..afbfb64 Binary files /dev/null and b/pr/kr100/MANNS.GIF differ diff --git a/pr/kr100/VIEW100.JPG b/pr/kr100/VIEW100.JPG new file mode 100644 index 0000000..ebe5f9c Binary files /dev/null and b/pr/kr100/VIEW100.JPG differ