Ortungsbänder, 4000GT-TFKs.

Erstes "echtes" Szene-File.
This commit is contained in:
hjp 2000-03-21 23:13:34 +00:00
parent bac2f1e88d
commit f41594543c
9 changed files with 682 additions and 14 deletions

View File

@ -3,6 +3,7 @@ include GNUmakevars
all: \ all: \
entdecker-in-theophilus.jpg \
test-tfk_2000.jpg \ test-tfk_2000.jpg \
test-mvh.jpg \ test-mvh.jpg \
hangargalerie.jpg \ hangargalerie.jpg \
@ -29,19 +30,26 @@ uninteresting: \
%.pov: make% %.pov: make%
$< > $@ $< > $@
hangargalerie.ppm: hangargalerie.pov entdecker.pov vesta.pov mvh.pov entdecker-in-theophilus.ppm: entdecker-in-theophilus.pov entdecker.pov \
kombiblock.pov \
aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \
metagrav.pov tfk_2000.pov ortungsband.pov
$(POVRAY) +L$(POVINC) +V -I$< +FP +W300 +H450
hangargalerie.ppm: hangargalerie.pov entdecker.pov vesta.pov mvh.pov \
ortungsband.pov
polansicht.ppm: polansicht.pov entdecker.pov \ polansicht.ppm: polansicht.pov entdecker.pov \
aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \ aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \
metagrav.pov tfk_2000.pov metagrav.pov tfk_2000.pov ortungsband.pov
suedpol.ppm: suedpol.pov entdecker.pov \ suedpol.ppm: suedpol.pov entdecker.pov \
aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \ aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \
metagrav.pov tfk_2000.pov metagrav.pov tfk_2000.pov ortungsband.pov
suedpol2.ppm: suedpol2.pov entdecker.pov \ suedpol2.ppm: suedpol2.pov entdecker.pov \
aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \ aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \
metagrav.pov tfk_2000.pov metagrav.pov tfk_2000.pov ortungsband.pov
test-antigrav.ppm: test-antigrav.pov antigrav.pov test-antigrav.ppm: test-antigrav.pov antigrav.pov
@ -50,7 +58,7 @@ test-aussenstromgravojet.ppm: test-aussenstromgravojet.pov aussenstromgravojet.p
test-entdecker.ppm: test-entdecker.pov entdecker.pov \ test-entdecker.ppm: test-entdecker.pov entdecker.pov \
kombiblock.pov \ kombiblock.pov \
aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \ aussenstromgravojet.pov impulstriebwerk.pov antigrav.pov \
metagrav.pov tfk_2000.pov metagrav.pov tfk_2000.pov ortungsband.pov
test-impulstriebwerk.ppm: test-impulstriebwerk.pov impulstriebwerk.pov test-impulstriebwerk.ppm: test-impulstriebwerk.pov impulstriebwerk.pov
@ -67,6 +75,7 @@ test-tfk_2000.ppm: test-tfk_2000.pov tfk_2000.pov
test-strut.ppm: test-strut.pov strut.pov test-strut.ppm: test-strut.pov strut.pov
test-vesta.ppm: test-vesta.pov vesta.pov test-vesta.ppm: test-vesta.pov vesta.pov
test-ortungsband.ppm: test-ortungsband.pov ortungsband.pov
%.gif: %.ppm %.gif: %.ppm
ppmquant 256 $< | ppmtogif > $@ ppmquant 256 $< | ppmtogif > $@

View File

@ -1,8 +1,5 @@
Phase 1: Außenansicht: Phase 1: Außenansicht:
Metagrav: Texturen auf äußerem Teil (siehe PR 1124) TFK 4000 (Verteilung?)
Unterer Triebwerksring
Geschütze
Aggregate-Bänder
Weitere Oberflächenstrukturen (Schotte, Beschriftung) Weitere Oberflächenstrukturen (Schotte, Beschriftung)
Schirme für Hangargalerie Schirme für Hangargalerie

View File

@ -0,0 +1,269 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
#include "metals.inc"
#include "stones.inc"
#include "ynko1.map"
#include "ynkelonium.inc"
global_settings {
assumed_gamma 1.0
ambient_light rgb<0.1, 0.1, 0.1>
#if (0)
radiosity {
distance_maximum 10000
}
#end
}
light_source {
<1E11, 1E11, 1E11>
color White
}
#if (0)
light_source {
<2000, 2000, -2000>
color rgb <0.8, 0.8, 1>
}
#end
//#declare Camera_Totale = 1;
//#declare Camera_Frosch = 1;
//#declare Camera_Triebwerk = 1;
//#declare Camera_Pol = 1;
#declare Camera_Vogel = 1;
#ifdef (Camera_Vogel)
camera {
location <4000, 2000, 1000>
right <0.5, 0, 0>
up <0, 0.75, 0>
look_at <0, 700, 0>
}
#end
#ifdef (Camera_Frosch)
camera {
location <4000, 2, 0>
look_at <0, 800, 0>
angle 40
}
#end
#ifdef (Camera_Pol)
camera {
location <1, 4700, 0>
look_at <0, 1800, 0>
angle 40
}
#end
#ifdef (Camera_Triebwerk)
camera {
location <1650, 1700, 0>
look_at <650, 1500, 0>
}
#end
#ifdef (Camera_Totale)
camera {
location <+4000, 900, 0>
look_at <0, 900, 0>
angle 40
}
#end
#macro warnkreis (r1, r2, s)
// r1 ... inner radius
// r2 ... outer radius
// s ... step width
union {
#local i = 0;
#while (i < 360)
polygon {
5
<r1 * cos(radians(i-s)), r1 * sin(radians(i-s))>
<r1 * cos(radians(i-0)), r1 * sin(radians(i-0))>
<r2 * cos(radians(i+s)), r2 * sin(radians(i+s))>
<r2 * cos(radians(i+0)), r2 * sin(radians(i+0))>
<r1 * cos(radians(i-s)), r1 * sin(radians(i-s))>
pigment { color Yellow }
}
#local i = i + s;
polygon {
5
<r1 * cos(radians(i-s)), r1 * sin(radians(i-s))>
<r1 * cos(radians(i-0)), r1 * sin(radians(i-0))>
<r2 * cos(radians(i+s)), r2 * sin(radians(i+s))>
<r2 * cos(radians(i+0)), r2 * sin(radians(i+0))>
<r1 * cos(radians(i-s)), r1 * sin(radians(i-s))>
pigment { color 0.1 }
}
#local i = i + s;
#end
rotate <90, 0, 0>
translate <0, 0.01, 0>
}
#end
#declare scheinwerfer_color =
color 0.5 * White;
difference {
union {
sphere {
<0, 0, 0>, 3476000/2
translate <0, -3476000/2, 0>
}
torus {
50000, 3400
translate <0, 2680, 0>
}
#if (0)
torus {
10000, 100
translate <0, sqrt(1738000*1738000-10000*10000)-1738000, 0>
texture {
pigment { color rgb <0.9, 0.9, 0.9> }
}
}
torus {
20000, 100
translate <0, sqrt(1738000*1738000-20000*20000)-1738000, 0>
texture {
pigment { color rgb <0.9, 0.9, 0.9> }
}
}
torus {
30000, 100
translate <0, sqrt(1738000*1738000-30000*30000)-1738000, 0>
texture {
pigment { color rgb <0.9, 0.9, 0.9> }
}
}
torus {
40000, 100
translate <0, sqrt(1738000*1738000-40000*40000)-1738000, 0>
texture {
pigment { color rgb <0.9, 0.9, 0.9> }
}
}
#end
difference {
cylinder {
<0, -720, 0>, <0, 2680, 0>, 56800
}
cylinder {
<0, -721, 0>, <0, 2681, 0>, 43200
}
torus {
43200, 3400
translate <0, 2680, 0>
}
torus {
56800, 3400
translate <0, 2680, 0>
}
}
warnkreis(1000, 1010, 1)
light_source {
<-1400, -100, -1400>
color scheinwerfer_color
}
light_source {
<-1400, -100, +1400>
color scheinwerfer_color
}
light_source {
<-1400, -100, +1400>
color scheinwerfer_color
}
light_source {
<+1400, -100, -1400>
color scheinwerfer_color
}
light_source {
<-1400, -1900, -1400>
color scheinwerfer_color
}
light_source {
<-1400, -1900, +1400>
color scheinwerfer_color
}
light_source {
<-1400, -1900, +1400>
color scheinwerfer_color
}
light_source {
<+1400, -1900, -1400>
color scheinwerfer_color
}
texture {
pigment { color rgb <0.7, 0.7, 0.9> }
finish { F_MetalA }
}
}
cylinder {
<0, 1, 0>, <0, -2000, 0>, 1000
texture {
pigment { color rgb <0.7, 0.7, 0.9> }
finish { F_MetalA }
}
}
box {
<-1500, -2000, -1500>
<+1500, -50, +1500>
texture {
pigment { color rgb <1.0, 1.0, 1.0> }
//finish { F_MetalB }
}
}
}
#include "entdecker.pov"
#if (1)
union {
cylinder {
<0, -50, 0>, <0, 0, 0>, 1000
texture {
pigment { color rgb <0.7, 0.7, 0.9> }
finish { F_MetalA }
}
}
warnkreis(990, 1000, 1)
object {
entdecker
translate <0, 930, 0>
}
translate <0, -200, 0>
}
#end
#if (0)
sphere {
<0, 0, 0>, 2000
texture {
pigment {
rgbf 1
}
}
interior {
media {
scattering {
4,
0.8
}
}
}
}
#end
background { color <0, 0, 0.2> }

View File

@ -40,12 +40,14 @@
#include "metagrav.pov" #include "metagrav.pov"
#include "vesta.pov" #include "vesta.pov"
#include "tfk_2000.pov" #include "tfk_2000.pov"
#include "tfk_4000.pov"
#include "mvh.pov" #include "mvh.pov"
#ifndef (Strut_Ext) #ifndef (Strut_Ext)
#declare Strut_Ext = 11/15; #declare Strut_Ext = 11/15;
#end #end
#include "strut.pov" #include "strut.pov"
#include "ortungsband.pov"
#declare entdecker = #declare entdecker =
union { union {
@ -74,6 +76,7 @@
texture {Ynkelonium_Texture } texture {Ynkelonium_Texture }
} }
#if (1)
// oberer Triebwerksring // oberer Triebwerksring
#declare i = 0; #declare i = 0;
#while (i < 360) #while (i < 360)
@ -135,6 +138,7 @@
#declare i = i + 90; #declare i = i + 90;
#end #end
#end
// Landestützen // Landestützen
#declare i = 0; #declare i = 0;
@ -147,6 +151,64 @@
#declare i = i + 1; #declare i = i + 1;
#end #end
// Transformkanonen, 4000 Gt.
// 8 Stück sind nicht leicht gleichmäßig zu verteilen
object {
tfk_4000
translate <900, 0, 0>
rotate <0, 0, 90>
rotate <0, 0, 0>
}
object {
tfk_4000
translate <900, 0, 0>
rotate <0, 0, 60>
rotate <0, 0, 0>
}
object {
tfk_4000
translate <900, 0, 0>
rotate <0, 0, 60>
rotate <0, 120, 0>
}
object {
tfk_4000
translate <900, 0, 0>
rotate <0, 0, 60>
rotate <0, 240, 0>
}
object {
tfk_4000
translate <900, 0, 0>
rotate <0, 0, -60>
rotate <0, 0, 0>
}
object {
tfk_4000
translate <900, 0, 0>
rotate <0, 0, -60>
rotate <0, 90, 0>
}
object {
tfk_4000
translate <900, 0, 0>
rotate <0, 0, -60>
rotate <0, 180, 0>
}
object {
tfk_4000
translate <900, 0, 0>
rotate <0, 0, -60>
rotate <0, 270, 0>
}
// Transformkanonen, 2000 Gt. // Transformkanonen, 2000 Gt.
// formen einen leicht verzerrten Ikosaeder // formen einen leicht verzerrten Ikosaeder
#declare i = 0; #declare i = 0;
@ -224,6 +286,48 @@
#end #end
#declare i = i + 1; #declare i = i + 1;
#end #end
// Ortungsbänder
#declare i = 0;
#while (i < 5)
#declare s = -1;
#while (s <= 1)
object {
ortungsband
rotate <0, 0, 22.5>
rotate <s*25, 0, 0>
rotate <0, i*72 + s*28, 0>
}
object {
ortungsband
rotate <0, 0, 180>
rotate <0, 0, 22.5>
rotate <s*25, 0, 0>
rotate <0, i*72 + s*28, 0>
}
#declare s = s + 2;
#end
object {
ortungsband
rotate <0, 0, 120>
rotate <0 , 0, 0>
rotate <0, i*72 , 0>
}
object {
ortungsband
rotate <90. 0, 0>
rotate <0 , 0, 74>
rotate <0, i*72 , 0>
}
object {
ortungsband
rotate <0, 0, 180>
rotate <90. 0, 0>
rotate <0 , 0, 74>
rotate <0, i*72 , 0>
}
#declare i = i + 1;
#end
} }

View File

@ -0,0 +1,155 @@
#local d = 0.0639;
#declare ortungsband1 =
union {
sphere {
<0, 0, 0>, 10
translate <900, 0, 0>
rotate <0, 0, 0 * d>
}
sphere {
<0, 0, 0>, 10
translate <900, 0, 0>
rotate <0, 0, 140 * d>
}
union {
sphere {
<0, 0, 0>, 7
translate <900, -15, -3>
}
sphere {
<0, 0, 0>, 7
translate <900, +15, -3>
}
cylinder {
<0, -15, 0>, <0, 15, 0>, 7
translate <900, 0, -3>
}
rotate <0, 0, 105 * d>
}
cylinder {
<901, -28, 7>, <901, 28, 7>, 1
rotate <0, 0, 112 * d>
}
sphere {
<0, 0, 0>, 4
translate <901, 0, 6>
rotate <0, 0, 85 * d>
}
difference {
sphere {
<0, 0, 0>, 4
}
sphere {
<3, 0, 0>, 5
}
rotate <40, -60, 30>
translate <904, 0, +5>
rotate <0, 0, 75 * d>
}
difference {
sphere {
<0, 0, 0>, 4
}
sphere {
<3, 0, 0>, 5
}
rotate <+10, -40, 20>
translate <905, 0, +5>
rotate <0, 0, 65 * d>
}
difference {
sphere {
<0, 0, 0>, 4
}
sphere {
<3, 0, 0>, 5
}
rotate <-20, -00, -0>
translate <905, 0, +5>
rotate <0, 0, 55 * d>
}
difference {
sphere {
<0, 0, 0>, 4
}
sphere {
<3, 0, 0>, 5
}
rotate <-50, -00, -40>
translate <905, 0, +5>
rotate <0, 0, 45 * d>
}
#local i = 0;
#while (i < 10)
#local j = 0;
#while (j < 9)
box {
<901, i*3, -j>
<901.5, i*3+2, -j-2>
rotate <0, 0, (i + 40) * d>
}
#local j = j + 3;
#end
#local i = i + 1;
#end
union {
sphere {
<0, 0, -5>, 4
translate <900, 0, 0>
}
sphere {
<0, 0, 5>, 4
translate <900, 0, 0>
}
cylinder {
<0, 0, -5>, <0, 0, 5>, 4
translate <900, 0, 0>
}
rotate <0, 0, 30 * d>
}
union {
sphere {
<0, 0, -5>, 4
translate <900, 0, 0>
}
sphere {
<0, 0, 5>, 4
translate <900, 0, 0>
}
cylinder {
<0, 0, -5>, <0, 0, 5>, 4
translate <900, 0, 0>
}
rotate <0, 0, 20 * d>
}
texture {
pigment { color rgb <0.05, 0.05, 0.1> }
finish { F_MetalA }
}
}
#declare ortungsband =
union {
intersection {
cylinder {
<0, 0, -10>, <0, 0, 10> 901
}
cylinder {
<0, 0, 0>, <910, 0, 0>, 150
}
texture {pigment {color Yellow} }
}
object {
ortungsband1
rotate <0, 0, 0>
}
object {
ortungsband1
rotate <180, 0, 0>
}
}

View File

@ -22,8 +22,8 @@ light_source {
color rgb <0.8, 0.8, 1> color rgb <0.8, 0.8, 1>
} }
//#declare Camera_Totale = 1; #declare Camera_Totale = 1;
#declare Camera_Frosch = 1; //#declare Camera_Frosch = 1;
//#declare Camera_Triebwerk = 1; //#declare Camera_Triebwerk = 1;
//#declare Camera_Pol = 1; //#declare Camera_Pol = 1;
@ -52,8 +52,8 @@ camera {
#ifdef (Camera_Totale) #ifdef (Camera_Totale)
camera { camera {
location <4000, 1800, 0> location <+4000, 900, 0>
look_at <0, 800, 0> look_at <0, 900, 0>
angle 40 angle 40
} }

View File

@ -0,0 +1,74 @@
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
#include "metals.inc"
#include "stones.inc"
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 {
<2000, 2000, -2000>
color <1.0, 0.5, 0.5>
}
light_source {
<-2000, 2000, -2000>
color <0.5, 0.5, 1.0>
}
//#declare Camera_Ortho_z = 1;
//#declare Camera_Ortho_y = 1;
//#declare Camera_Ortho_x = 1;
#declare Camera_P = 1;
#ifdef (Camera_P)
camera {
location <1500, 200, 0>
look_at <900, 0, 0>
angle 30
}
#end
#ifdef (Camera_Ortho_z)
camera {
location <80, 50, -150>
look_at <80, 50, 0>
orthographic
}
#end
#ifdef (Camera_Ortho_y)
camera {
location <40, 200, 0>
look_at <40, 0, 0>
orthographic
}
#end
#ifdef (Camera_Ortho_x)
camera {
location <50, 0, 0>
look_at <0, 0, 0>
orthographic
}
#end
#ifdef (Camera_Totale)
camera {
location <2650, 1800, 0>
look_at <0, 800, 0>
}
#end
#include "ortungsband.pov"
object {
ortungsband
rotate <90, 0, 0>
translate <0, 0, 0>
}

60
pr/entdecker/tfk_4000.pov Normal file
View File

@ -0,0 +1,60 @@
#include "ynkelonium_texture.pov"
#macro k(i)
vrotate(<20 + (i) / 60, 20 - (i)/40, 0>, <(i), 0, 0>)
#end
#declare tfk_4000 =
union {
cone {
<0, 0, 0> 50
<20, 0, 0> 30
}
#declare j = 0;
#while (j < 360)
union {
#declare i = 0;
#while (i < 720)
union {
sphere {
k(i), 1
texture {
pigment { color rgb <0.75, 0.75, 0.1> }
finish { F_MetalA }
}
}
cone {
k(i), 1
k(i+10), 1
texture {
pigment { color rgb <0.75, 0.75, 0.1> }
finish { F_MetalA }
}
}
sphere {
k(i+10), 1
texture {
pigment { color rgb <0.05, 0.05, 0.1> }
finish { F_MetalA }
}
}
cone {
k(i+10), 1
k(i+20), 1
texture {
pigment { color rgb <0.05, 0.05, 0.1> }
finish { F_MetalA }
}
}
}
#declare i = i + 20;
#end
rotate <j, 0, 0>
}
#declare j = j + 60;
#end
texture { Ynkelonium_Texture }
}