diff --git a/pr/sol/GNUmakefile b/pr/sol/GNUmakefile index 2f6cd6a..0f335f1 100644 --- a/pr/sol/GNUmakefile +++ b/pr/sol/GNUmakefile @@ -7,7 +7,7 @@ all: \ test-mittelstueck.ppm \ test-sol.ppm \ test-mensch.ppm \ - exodus.ppm \ + #exodus.ppm \ diff --git a/pr/sol/sz.pov b/pr/sol/sz.pov index 46d25a2..900b0a5 100644 --- a/pr/sol/sz.pov +++ b/pr/sol/sz.pov @@ -7,14 +7,192 @@ #include "T_BlackMetal.pov" #include "Triebwerk.pov" -#declare Kugelschale = - sphere { - <0,0,0>, 1250 +#declare Hangars_Kugelschale_neg = + difference { + union { + #declare i = 0 + #while (i < 360) + union { + box { + <-80, 1030, 0> + < 80, 950, 2500> + } + box { + <-100, -850, 0> + < 100, -930, 2500> + } + rotate <0, i, 0> + } + union { + box { + <-100, 730, 0> + < 100, 650, 2500> + } + box { + < 180, 520, 2500> + <-180, 400, 0> + } + box { + <-180, -400, 0> + < 180, -520, 2500> + } + rotate <0, i+15, 0> + } + #declare i = i + 30 + #end + } + sphere { + <0, 0, 0>, 1240 + } texture { Ynkelonium_Texture } } +#declare Geschuetze_Huelle_oben = + union { + #declare w = 30 + #while (w <= 60) + #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 <1250, 0, 0> + rotate <0, 0, w> + rotate <0, i, 0> + } + #declare i = i + 10 + #end + #declare w = w + 15 + #end + texture { + Ynkelonium_Texture + } + + } + +#declare Geschuetze_Huelle_unten = + union { + #declare w = -55 + #while (w <= -35) + #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 <1250, 0, 0> + rotate <0, 0, w> + rotate <0, i, 0> + } + #declare i = i + 10 + #end + #declare w = w + 20 + #end + texture { + Ynkelonium_Texture + } + + } + +#declare Kugelschale = + union { + sphere { + <0,0,0>, 1250 + texture { + Ynkelonium_Texture + } + } + object {Geschuetze_Huelle_oben} + object {Geschuetze_Huelle_unten} + } + +#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 { @@ -42,6 +220,8 @@ <0, -400, 0>, 1250, <0, 400, 0>, 1250 } + object {Geschuetze_Ringwulst_aussen} + object {Geschuetze_Ringwulst_mitte} texture { Ynkelonium_Texture @@ -49,14 +229,47 @@ } +#declare Landestuetzen = + union { + #declare i = 15 + #while (i < 360) + cone { + <0, 0, 0>, 100 + <0, 10, 0>, 100 + translate <0, -1260, 0> + rotate <45, 0, 0> + rotate <0, i, 0> + 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 + } + } + } + #declare i = i + 30 + #end + } #declare SZ = union { - object { - Kugelschale + difference { + object { + Kugelschale + } + object { + Hangars_Kugelschale_neg + } } object { Ringwulst } + object { + Landestuetzen + } } diff --git a/pr/sol/test-sz.pov b/pr/sol/test-sz.pov index 57f4283..10616df 100644 --- a/pr/sol/test-sz.pov +++ b/pr/sol/test-sz.pov @@ -13,10 +13,22 @@ light_source { <2000, 2000, 2000> color White } + +#declare Camera_Totale = 1 + +#ifdef (Camera_Triebwerk) camera { location <1650, 1700, 0> look_at <1250, 1300, 0> } +#end + +#ifdef (Camera_Totale) +camera { + location <4650, 1700, 0> + look_at <1250, 1300, 0> +} +#end #include "sz.pov"