This commit is contained in:
hjp 2007-03-31 12:30:00 +00:00
parent d1143705c8
commit 8000e940f7
6 changed files with 570 additions and 0 deletions

24
schlot/GNUmakefile Normal file
View File

@ -0,0 +1,24 @@
# what's where?
include GNUmakevars
all: \
schlot.png \
flame.png \
rocket_nozzle.png \
%.ppm: %.pov
$(POVRAY) +W$(WIDTH) +H$(HEIGHT) +V -I$< +L$(POVINC) +D +FP
%.png: %.pov
$(POVRAY) +V -I$< +L$(POVINC) +D +FN
%.pov: make%
$< > $@
%.gif: %.ppm
ppmquant 256 $< | ppmtogif > $@
schlot.png: schlot.pov povray.ini
flame.png: flame.pov povray.ini

42
schlot/flame.pov Normal file
View File

@ -0,0 +1,42 @@
#local denT=density { spherical
density_map {
[.01 rgb 0][.1 rgb <0,.35,.75> ][.3 rgb 0][.65 rgb <0,.375,.5>][1 rgb 1]
}
}
#local Thrust = 1;
#local Clock = 0.2;
#local iI = 5;
#local rT = 2;
sphere { 0,2 hollow no_shadow
texture { pigment { rgbt 1 } }
interior {
media { emission .2 method 3 intervals 1
density { denT
translate y*Clock*18+1+iI
scale <2,1,2>
warp { turbulence .15 lambda 3 }
scale <.5,1,.5>
translate -y*Clock*18-1-iI
}
}
media { absorption .2 method 3 intervals 1
density { denT
translate y*Clock*18+1+iI
scale <2,1,2>
warp { turbulence .15 lambda 3 }
scale <.5,1,.5>
translate -y*Clock*18-1-iI
}
}
}
scale <1,9*Thrust,1>*(rT-1)
}
camera {
location <-0, 0 -4>
look_at <0, 0, 0>
angle 30
}

6
schlot/povray.ini Normal file
View File

@ -0,0 +1,6 @@
+A
+MB5
+QR
+HTN
+fp +w400 +h300 +d1
display_gamma = 2.2

197
schlot/rocket_nozzle.pov Normal file
View File

@ -0,0 +1,197 @@
// Persistence of Vision Ray Tracer Scene Description File
// File: rocket nozzle.pov
// Vers: 3.5
// Desc: example of a rocket nozzle and supersonic exhaust
// Date: 2004.139
// Auth: Bob Hughes
// Mail: omniverse [at] charternet
// Note: plume expands to mimic going from atmosphere to vacuum of space
// Free: use as needed, no credit necessary
global_settings {
assumed_gamma 1
}
camera {
location <0,0,-15>
angle 50
look_at 2*x
}
light_source {
-1000*z,
1
rotate <30,-30,0>
}
plane {z,100
pigment {
hexagon color rgb 1, color rgb 0.5, color rgb 0
rotate 90*x scale 10
}
hollow
}
/* Rocket Nozzle */
#declare N=
function {
(sin(0.667*pow(x,4))-pow(1.04*pow(x,2),1.12)-pow(y,2)-pow(z,2)+0.4)-0.0333*x
}
#declare Nozzle=
isosurface {
function {
abs(N(x,y,z))-0.03
}
contained_by {
box {<-1.4,-0.75,-0.75>,<-0.125,0.75,0.75>}
}
max_gradient 2
//all_intersections
texture {
pigment {
gradient x
color_map { // nozzle's heated colors
[0 color rgb 0.5]
[0.3 color rgb <5,0.5,0>]
[1 color rgb <8,5,0.5>]
}
scale 1.1
}
normal {
gradient x 0.6 scallop_wave scale 0.05
}
finish {
ambient 0.05 diffuse 0.3 specular 0.5 roughness 0.01
}
}
scale <1.5,1,1> //translate x
}
/* Exhaust Plume */
#declare S=
density {
function {N(x,y,z)}//spherical
density_map {
[0 rgb 0]
[0.0125 rgb <0.1,0.3,0.9>]
[0.1 rgb <0.1,0.3,0.9>*0.02]
[0.6 rgb <0.1,0.3,0.9>*0.06]
[1 rgb <0.1,0.3,0.9>]
}
translate -x/6
}
#declare GS=
density {
gradient x
density_map {
[0 S]
[0.5 rgb 0]
}
}
#declare C=
density {
cylindrical
density_map {
[0.1 rgb 0]
[0.25 rgb <0.9,0.3,0.6>*0.25]
[0.5 rgb <0.9,0.3,0.6>*2]
[0.75 rgb <0.9,0.3,0.6>*0.25]
[0.9 rgb 0]
}
poly_wave 0.8
warp {turbulence <0.2+0.1*clock,0,0.2+0.1*clock>}
warp {repeat y/4 flip y}
warp {turbulence <0.2,0,0.2>*clock}
scale <1/3-0.15*clock,1/3,1/3-0.15*clock> //rotate 90*z
}
#declare G=
density {
gradient y
density_map {
[0.1 rgb 0]
[0.2 rgb 0.05]
[0.5 C]
[0.6 C]
[0.8 rgb 0.05]
[0.9 rgb 0]
}
poly_wave 0.4 frequency 8
}
#declare GC=
density {
cylindrical
density_map {
[0.25 rgb 0]
[0.75 G]
[1 rgb 0]
}
rotate 90*z
}
#declare X=
function(x) {x}
#declare Exhaust=
sphere {
0,1
scale <0.5,1,1> translate -0.5*x
pigment {
color rgbt 1
}
interior {
media {
samples 15
emission 1.5
density {
function {abs(X(x))}
density_map {
[0 rgb 0]
[0.5 GC]
[0.75 GS]
}
}
}
media {
samples 15
absorption 0.5
density {
function {abs(X(x))}
density_map {
[0 rgb 0]
[0.5 GC]
[0.75 GS]
}
}
}
}
scale <12,1.5+1.5*clock,1.5+1.5*clock> translate <11.2+0.4*clock,0,0>
hollow
}
/* Finished Nozzle */
union {
object {
Nozzle
}
object {
Exhaust
}
translate -3*x
rotate 75*clock*y
}

81
schlot/rotate.pov Normal file
View File

@ -0,0 +1,81 @@
#include "colors.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 {
<+200, 200, -00>
color White
}
light_source {
<-200, 120, -171>
color White*0.5
}
camera {
location <+020, 46, +10>
look_at <-0, 0, 0>
angle 30
}
// rotate around x
#local aa = 0;
#while (aa <= 45)
sphere {
<0, 0, 10> aa/40 + 1
pigment { color rgb <1, 0.5, 0.5> }
rotate <aa, 0, 0>
}
#local aa = aa + 1;
#end
// rotate around y
#local aa = 0;
#while (aa <= 45)
sphere {
<10, 0, 0> aa/40 + 1
pigment { color rgb <0.5, 1.0, 0.5> }
rotate <0, aa, 0>
}
#local aa = aa + 1;
#end
// rotate around z
#local aa = 0;
#while (aa <= 45)
sphere {
<0, 10, 0> aa/40 + 1
pigment { color rgb <0.5, 0.5, 1> }
rotate <0, 0, aa>
}
#local aa = aa + 1;
#end
// background
cylinder {
<0, 1, 0>,
<0, -1, 0>, 10
pigment {
color rgbf <1, 1, 1, 0.8>
}
}
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> }
}

220
schlot/schlot.pov Normal file
View File

@ -0,0 +1,220 @@
#include "colors.inc"
#include "metals.inc"
#declare eps = 1e-6;
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, -00>
color White
}
light_source {
<-200, 120, -171>
color White*0.5
}
camera {
location <-60, 12, -40>
look_at <40, 10, 0>
angle 30
}
// #declare schlot = union {
// #local h = 0;
// #while (h < 40)
// #local aa = 0;
// #while (aa < 360)
// box {
//
// }
// #local aa += 20
// #end
// #local h = h + 0.2
// #end
// }
#declare schlot =
union {
difference {
cone {
<0, 0, 0> 1.5
<0, 40, 0> 1.2
}
cone {
<0, 0-eps, 0> 1.2
<0, 40+eps, 0> 0.94
}
pigment {
color White
}
}
#local h = 0;
#while (h < 40)
#local aa = 0;
#local rr = 1.52 - h * .3 / 40;
#local w = rr * 6 * 20 / 360; // 6 = a bit less then 2pi
#while (aa < 360)
box {
<rr, h, w/2>, <rr - 0.3, h + 0.18, -w/2>
texture { pigment {color Red} }
rotate <0, aa + h * 50, 0>
}
#local aa = aa + 20;
#end
#local h = h + 0.2;
#end
}
#declare foerderband =
union {
union {
cylinder {<0, 0, -1>, <20, 0, -1>, 0.1 }
cylinder {<0, 0, +1>, <20, 0, +1>, 0.1 }
sphere {< 0, 0, -1>, 0.1 }
sphere {<20, 0, -1>, 0.1 }
sphere {< 0, 0, +1>, 0.1 }
sphere {<20, 0, +1>, 0.1 }
#local xx = 0;
#while (xx <= 20)
cylinder { <xx, 0, -0.9>, <xx, 0, +0.9>, 0.2 }
#local xx = xx + 1;
#end
union {
box {
<0, 0.2, -0.8>, <20, 0.21, +0.8>
}
box {
<0, -0.2, -0.8>, <20, -0.21, +0.8>
}
intersection {
cylinder { <0, 0, -0.8>, <0, 0, +0.8>, 0.21 }
box { <-0.21, -0.21, -0.8>, <0, +0.21, +0.8> }
}
intersection {
cylinder { <0, 0, -0.8>, <0, 0, +0.8>, 0.21 }
box { <+0.21, -0.21, -0.8>, <0, +0.21, +0.8> }
translate <20, 0, 0>
}
pigment { color <0.5, 0.5, 0.5> }
}
pigment { color <0.7, 0.7, 0.7> }
rotate <0, 0, -30>
}
union {
#local xx = sqrt(20*20 - 10*10);
cylinder {
<xx, -10, -1>, <xx, -10.5, -1>, 0.1
}
cylinder {
<xx, -10, +1>, <xx, -10.5, +1>, 0.1
}
pigment { color <0.7, 0.7, 0.7> }
rotate <0, 0, -30>
}
}
#declare fabrik =
union {
difference {
union {
box {
<1.5, 0, -5>, <30, 15, 15>
}
prism {
linear_spline
1.5, 30
4
<15, -5>, <15, 15>, <20, 5>, <15, -5>
matrix <
0, 1, 0,
1, 0, 0,
0, 0, 1,
0, 0, 0
>
}
}
union {
// Fenster
#local xx = 6;
#while (xx < 30)
box {<xx, 2, -5-eps>, <xx + 2, 6, 15+eps>}
cylinder { <xx + 1, 6, -5-eps>, <xx + 1, 6, 15+eps>, 1}
box {<xx, 9, -5-eps>, <xx + 2, 13, 15+eps>}
cylinder { <xx + 1, 13, -5-eps>, <xx + 1, 13, 15+eps>, 1}
#local xx = xx + 4;
#end
// Tuer
box {<30+eps, 0, 3>, <29-eps, 3, 7>}
cylinder { <30+eps, 3, 5>, <29- eps, 3, 5>, 2}
// Innenraum
box {
<2.0, 0, -4>, <29, 15, 14>
}
// Durchlaesse fuer Foerderbander
box {<30+eps, 10, -3.2>, <29-eps, 11.5, -0.8>}
box {<30+eps, 10, 13.2>, <29-eps, 11.5, 10.8>}
}
pigment {
brick
brick_size <0.5, 0.2, 0.5>
mortar 0.02
}
}
object {
foerderband
translate <29, 10.5, -2>
}
object {
foerderband
translate <29, 10.5, +12>
}
union {
// Tuer
box {<-0.05, 0, 3>, <0.05, 3, 7>}
cylinder { <-0.05, 3, 5>, <0.05, 3, 5>, 2}
translate <29.5, 0, 0>
texture { T_Brass_1B }
}
}
object {
schlot
}
object {
fabrik
}
cone {
<56, 0, -2>, 10, <56, 5, -2>, 0
texture {
pigment { color <0.5, 0.5, 0.2> }
}
}
cone {
<56, 0, 12>, 10, <56, 5, 12>, 0
texture {
pigment { color <0.2, 0.2, 0.2> }
}
}
box {
<-10, 0, -20>, <70, 0.01, +30>
texture {
pigment { color <0.3, 0.3, 0.2> }
}
}
plane {
<0, 1, 0>
0
pigment {
color <0.2, 0.8, 0>
}
}