From 36f5bcba5a0e21e78f46fb3860e0e0cc62326d14 Mon Sep 17 00:00:00 2001 From: hjp Date: Sat, 7 Nov 1998 13:01:04 +0000 Subject: [PATCH] Ringwulst in eigenem parametrisiertem File. --- pr/sol/GNUmakefile | 2 +- pr/sol/mittelstueck.pov | 104 ++++++++++++++++++------- pr/sol/ringwulst.pov | 146 +++++++++++++++++++++++++++++++++++ pr/sol/sz.pov | 145 +--------------------------------- pr/sol/test-mittelstueck.pov | 9 ++- pr/sol/test-sol.pov | 2 +- 6 files changed, 235 insertions(+), 173 deletions(-) create mode 100644 pr/sol/ringwulst.pov diff --git a/pr/sol/GNUmakefile b/pr/sol/GNUmakefile index 9ad0064..3e9b3f9 100644 --- a/pr/sol/GNUmakefile +++ b/pr/sol/GNUmakefile @@ -3,8 +3,8 @@ include GNUmakevars all: \ - test-sz.ppm \ test-mittelstueck.ppm \ + test-sz.ppm \ test-sol.ppm \ test-mensch.ppm \ exodus.ppm \ diff --git a/pr/sol/mittelstueck.pov b/pr/sol/mittelstueck.pov index 85bb27a..aeb468a 100644 --- a/pr/sol/mittelstueck.pov +++ b/pr/sol/mittelstueck.pov @@ -36,37 +36,82 @@ } } -#declare Ringwulst = +#declare R1 = 750 +#declare R2 = 400 +#include "ringwulst.pov" + +#declare Landestuetzen = union { - difference { - torus { - 750, 400 + #declare i = 15 + #while (i < 360) + 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 - #while (i < 360) - 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 i = i + 30 + #end } - #declare Mittelstueck = union { object { @@ -75,5 +120,10 @@ union { object { Ringwulst } + object { + Landestuetzen + } } +// vim:sw=4 + diff --git a/pr/sol/ringwulst.pov b/pr/sol/ringwulst.pov new file mode 100644 index 0000000..917b074 --- /dev/null +++ b/pr/sol/ringwulst.pov @@ -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 + rotate <0, 0, w> + translate + 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 + rotate <0, 0, w> + translate + 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 + rotate <0, i, 0> + } + object { + Triebwerk_neg + rotate <0, 0, -45> + translate + 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 + } + + } diff --git a/pr/sol/sz.pov b/pr/sol/sz.pov index c863365..13c55fe 100644 --- a/pr/sol/sz.pov +++ b/pr/sol/sz.pov @@ -125,148 +125,9 @@ object {Geschuetze_Huelle_unten} } -#declare Hangars_Ringwulst_neg = - difference { - union { - #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 R1 = 1250 +#declare R2 = 400 +#include "ringwulst.pov" #declare Landestuetzen = union { diff --git a/pr/sol/test-mittelstueck.pov b/pr/sol/test-mittelstueck.pov index a3c1335..395c9e2 100644 --- a/pr/sol/test-mittelstueck.pov +++ b/pr/sol/test-mittelstueck.pov @@ -6,15 +6,20 @@ global_settings { 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> } light_source { <-2000, 2000, -2000> color White } +//camera { +// location <-2000, 3100, -1710> +// look_at <0, 1100, 0> +//} + camera { - location <-2000, 3100, -1710> + location <-2000, 2, -1710> look_at <0, 1100, 0> } diff --git a/pr/sol/test-sol.pov b/pr/sol/test-sol.pov index ea44f4e..19201ba 100644 --- a/pr/sol/test-sol.pov +++ b/pr/sol/test-sol.pov @@ -6,7 +6,7 @@ global_settings { 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> } light_source {