Original von Harald Ottacher, 1997.

This commit is contained in:
hjp 2008-02-09 23:32:10 +00:00
parent 5b871b95b2
commit 2a05b44d39
10 changed files with 1399 additions and 0 deletions

BIN
pr/kr100/HB100.GIF Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 B

BIN
pr/kr100/HG23_100.GIF Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

BIN
pr/kr100/HG4_100.GIF Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 B

996
pr/kr100/KR100.INC Normal file
View File

@ -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 }
}
//---------------------------------------------------

90
pr/kr100/KR100.POV Normal file
View File

@ -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 >
}

288
pr/kr100/KRMAT.INC Normal file
View File

@ -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
//---------------------------------------------------

BIN
pr/kr100/KRPL100.GIF Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

25
pr/kr100/LISTE.TXT Normal file
View File

@ -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

BIN
pr/kr100/MANNS.GIF Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

BIN
pr/kr100/VIEW100.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB