Ringwulst in eigenem parametrisiertem File.

This commit is contained in:
hjp 1998-11-07 13:01:04 +00:00
parent 054428e83a
commit 36f5bcba5a
6 changed files with 235 additions and 173 deletions

View File

@ -3,8 +3,8 @@ include GNUmakevars
all: \ all: \
test-sz.ppm \
test-mittelstueck.ppm \ test-mittelstueck.ppm \
test-sz.ppm \
test-sol.ppm \ test-sol.ppm \
test-mensch.ppm \ test-mensch.ppm \
exodus.ppm \ exodus.ppm \

View File

@ -36,37 +36,82 @@
} }
} }
#declare Ringwulst = #declare R1 = 750
#declare R2 = 400
#include "ringwulst.pov"
#declare Landestuetzen =
union { union {
difference { #declare i = 15
torus { #while (i < 360)
750, 400 union {
union {
sphere {
<0, 240, 0>, 50
}
cone {
<0, 240, 0>, 53
<0, 200, 0>, 53
}
box {
<-80, 200, -53>
<- 0, 240, 53>
rotate <0, 30, 0>
}
box {
<-80, 200, -53>
<- 0, 240, 53>
rotate <0, -30, 0>
}
cone {
<0, 240, 0>, 50
<0, 0, 0>, 50
}
cone {
<0, 100, 0>, 30
<0, 0, 0>, 30
}
union {
cone {
<0, 100, 0>, 20
<0, 0, 0>, 20
}
sphere {
<0, 45, 0>, 27
}
cone {
<0, 45, 0>, 42
<0, 10, 0>, 66
}
cone {
<0, 10, 0>, 100
<0, 0, 0>, 100
texture {
pigment { color rgb <0.7, 0.5, 0.7> }
finish {
ambient 0.2
diffuse 0.35
specular 0.55
roughness 0.1
reflection 0.25
brilliance 1.0
}
}
}
translate <0, -70, 0>
}
translate <0, -10, 0>
texture {
Ynkelonium_Texture
}
}
translate <800, -750, 0>
rotate <0, i, 0>
} }
#declare i = 0 #declare i = i + 30
#while (i < 360) #end
object {
Triebwerk_neg
rotate <0, 0, 45>
translate <750, 0, 0>
rotate <0, i, 0>
}
object {
Triebwerk_neg
rotate <0, 0, -45>
translate <750, 0, 0>
rotate <0, i, 0>
}
#declare i = i + 30
#end
}
texture {
Ynkelonium_Texture
}
} }
#declare Mittelstueck = #declare Mittelstueck =
union { union {
object { object {
@ -75,5 +120,10 @@ union {
object { object {
Ringwulst Ringwulst
} }
object {
Landestuetzen
}
} }
// vim:sw=4

146
pr/sol/ringwulst.pov Normal file
View File

@ -0,0 +1,146 @@
/* Parameter:
* R1, R2: Durchmesser des Torus
*/
#declare Hangars_Ringwulst_neg =
difference {
union {
#declare i = 10
#declare ii = 10
#while (i < 360)
union {
box {
<-50, 40, 0>
< 50, 80, R1+R2>
}
box {
<-50, 120, 0>
< 50, 220, R1+R2>
}
box {
<-50, -40, 0>
< 50, -80, R1+R2>
}
box {
<-50, -120, 0>
< 50, -220, R1+R2>
}
rotate <0, i, 0>
}
#declare i = i + ii
#declare ii = 30 - ii
#end
}
torus {
R1, R2-10
}
texture {
Ynkelonium_Texture
}
}
#declare Geschuetze_Ringwulst_aussen =
union {
#declare w = -45
#while (w <= 45)
#declare i = 10
#declare ii = 10
#while (i < 360)
union {
sphere {
<0, 0, 0> 20
}
cone {
<0, 0, 0> 10
<30, 30, 0> 5
}
cone {
<0, 0, 0> 10
<30, -30, 0> 5
}
translate <R2, 0, 0>
rotate <0, 0, w>
translate <R1, 0, 0>
rotate <0, i, 0>
}
#declare i = i + ii
#declare ii = 30 - ii
#end
#declare w = w + 90
#end
texture {
Ynkelonium_Texture
}
}
#declare Geschuetze_Ringwulst_mitte =
union {
#declare w = 0
#while (w <= 0)
#declare i = 0
#while (i < 360)
union {
sphere {
<0, 0, 0> 20
}
cone {
<0, 0, 0> 10
<30, 30, 0> 5
}
cone {
<0, 0, 0> 10
<30, -30, 0> 5
}
translate <R2, 0, 0>
rotate <0, 0, w>
translate <R1, 0, 0>
rotate <0, i, 0>
}
#declare i = i + 10
#end
#declare w = w + 90
#end
texture {
Ynkelonium_Texture
}
}
#declare Ringwulst =
union {
difference {
torus {
R1, R2
}
#declare i = 0
#while (i < 360)
object {
Triebwerk_neg
rotate <0, 0, 45>
translate <R1, 0, 0>
rotate <0, i, 0>
}
object {
Triebwerk_neg
rotate <0, 0, -45>
translate <R1, 0, 0>
rotate <0, i, 0>
}
#declare i = i + 30
#end
object {Hangars_Ringwulst_neg}
}
cone {
<0, -R2, 0>, R1,
<0, R2, 0>, R1
}
object {Geschuetze_Ringwulst_aussen}
object {Geschuetze_Ringwulst_mitte}
texture {
Ynkelonium_Texture
}
}

View File

@ -125,148 +125,9 @@
object {Geschuetze_Huelle_unten} object {Geschuetze_Huelle_unten}
} }
#declare Hangars_Ringwulst_neg = #declare R1 = 1250
difference { #declare R2 = 400
union { #include "ringwulst.pov"
#declare i = 10
#declare ii = 10
#while (i < 360)
union {
box {
<-50, 40, 0>
< 50, 80, 2500>
}
box {
<-50, 120, 0>
< 50, 220, 2500>
}
box {
<-50, -40, 0>
< 50, -80, 2500>
}
box {
<-50, -120, 0>
< 50, -220, 2500>
}
rotate <0, i, 0>
}
#declare i = i + ii
#declare ii = 30 - ii
#end
}
torus {
1250, 390
}
texture {
Ynkelonium_Texture
}
}
#declare Geschuetze_Ringwulst_aussen =
union {
#declare w = -45
#while (w <= 45)
#declare i = 10
#declare ii = 10
#while (i < 360)
union {
sphere {
<0, 0, 0> 20
}
cone {
<0, 0, 0> 10
<30, 30, 0> 5
}
cone {
<0, 0, 0> 10
<30, -30, 0> 5
}
translate <400, 0, 0>
rotate <0, 0, w>
translate <1250, 0, 0>
rotate <0, i, 0>
}
#declare i = i + ii
#declare ii = 30 - ii
#end
#declare w = w + 90
#end
texture {
Ynkelonium_Texture
}
}
#declare Geschuetze_Ringwulst_mitte =
union {
#declare w = 0
#while (w <= 0)
#declare i = 0
#while (i < 360)
union {
sphere {
<0, 0, 0> 20
}
cone {
<0, 0, 0> 10
<30, 30, 0> 5
}
cone {
<0, 0, 0> 10
<30, -30, 0> 5
}
translate <400, 0, 0>
rotate <0, 0, w>
translate <1250, 0, 0>
rotate <0, i, 0>
}
#declare i = i + 10
#end
#declare w = w + 90
#end
texture {
Ynkelonium_Texture
}
}
#declare Ringwulst =
union {
difference {
torus {
1250, 400
}
#declare i = 10
#while (i < 360)
object {
Triebwerk_neg
rotate <0, 0, 45>
translate <1250, 0, 0>
rotate <0, i, 0>
}
object {
Triebwerk_neg
rotate <0, 0, -45>
translate <1250, 0, 0>
rotate <0, i, 0>
}
#declare i = i + 30
#end
object {Hangars_Ringwulst_neg}
}
cone {
<0, -400, 0>, 1250,
<0, 400, 0>, 1250
}
object {Geschuetze_Ringwulst_aussen}
object {Geschuetze_Ringwulst_mitte}
texture {
Ynkelonium_Texture
}
}
#declare Landestuetzen = #declare Landestuetzen =
union { union {

View File

@ -6,15 +6,20 @@
global_settings { global_settings {
assumed_gamma 1.0 assumed_gamma 1.0
ambient_light rgb<0.5, 0.5, 0.5> //ambient_light rgb<0.5, 0.5, 0.5>
} }
background { color rgb<0.2, 0.4, 0.8> } background { color rgb<0.2, 0.4, 0.8> }
light_source { light_source {
<-2000, 2000, -2000> <-2000, 2000, -2000>
color White color White
} }
//camera {
// location <-2000, 3100, -1710>
// look_at <0, 1100, 0>
//}
camera { camera {
location <-2000, 3100, -1710> location <-2000, 2, -1710>
look_at <0, 1100, 0> look_at <0, 1100, 0>
} }

View File

@ -6,7 +6,7 @@
global_settings { global_settings {
assumed_gamma 1.0 assumed_gamma 1.0
ambient_light rgb<0.5, 0.5, 0.5> //ambient_light rgb<0.5, 0.5, 0.5>
} }
background { color rgb<0.2, 0.4, 0.8> } background { color rgb<0.2, 0.4, 0.8> }
light_source { light_source {