diff --git a/pr/sol/GNUmakefile b/pr/sol/GNUmakefile new file mode 100644 index 0000000..2f6cd6a --- /dev/null +++ b/pr/sol/GNUmakefile @@ -0,0 +1,34 @@ +# what's where? +include GNUmakevars + + +all: \ + test-sz.ppm \ + test-mittelstueck.ppm \ + test-sol.ppm \ + test-mensch.ppm \ + exodus.ppm \ + + + +%.ppm: %.pov + $(POVRAY) +V -I$< +D +FP + +%.pov: make% + $< > $@ + +test-sz.ppm: test-sz.pov sz.pov ynkelonium_texture.pov Triebwerk.pov + +test-mittelstueck.ppm: test-mittelstueck.pov mittelstueck.pov \ + ynkelonium_texture.pov Triebwerk.pov + +test-sol.ppm: test-sol.pov sol.pov sz.pov mittelstueck.pov \ + ynkelonium_texture.pov Triebwerk.pov + +test-mensch.ppm: test-mensch.pov mensch.pov + +exodus.ppm: exodus.pov sol.pov sz.pov mittelstueck.pov \ + ynkelonium_texture.pov Triebwerk.pov mensch.pov + +%.gif: %.ppm + ppmquant 256 $< | ppmtogif > $@ diff --git a/pr/sol/T_BlackMetal.pov b/pr/sol/T_BlackMetal.pov new file mode 100644 index 0000000..bb033ec --- /dev/null +++ b/pr/sol/T_BlackMetal.pov @@ -0,0 +1,8 @@ +#include "metals.inc" +#declare T_BlackMetal = + texture { + pigment { + color rgb <0.1, 0.1, 0.1> + } + finish { F_MetalC } + } diff --git a/pr/sol/Triebwerk.pov b/pr/sol/Triebwerk.pov new file mode 100644 index 0000000..d740e14 --- /dev/null +++ b/pr/sol/Triebwerk.pov @@ -0,0 +1,15 @@ +#declare Triebwerk_neg = + merge { + cone { + <400, 0, 0>, 60 + <350, 0, 0>, 60 + } + cone { + <351, 0, 0>, 60, + <300, 0, 0>, 10 + } + cone { + <301, 0, 0>, 10 + <200, 0, 0>, 10 + } + } diff --git a/pr/sol/exodus.pov b/pr/sol/exodus.pov new file mode 100644 index 0000000..4903888 --- /dev/null +++ b/pr/sol/exodus.pov @@ -0,0 +1,45 @@ +#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 White +} +camera { + location <6000, 1.65, 10> + look_at <0, 2500, 2500> +} + +#include "sol.pov" +#include "mensch.pov" + +object { + Sol + translate <0, 3300, 0> +} + +#declare i = 0 +#while (i < 10000) + object { + Mensch + rotate <0, 90, 0> + translate + } + #declare i = i + 1 +#end + +plane { + <0, 1, 0>, 0.3 + pigment { + checker color White*0.7, color White*0.5 + } +} + diff --git a/pr/sol/mensch.pov b/pr/sol/mensch.pov new file mode 100644 index 0000000..1ec0238 --- /dev/null +++ b/pr/sol/mensch.pov @@ -0,0 +1,93 @@ +/* einfaches Menschenmodell. + * + * Wenig Details, weil ich viele davon brauche + */ +#declare Mensch = + union { + // Kopf + union { + sphere { + <0, 0, 0>, 1 + scale <0.1, 0.125, 0.125> + + } + intersection { + cone { + <0, 0, 0> 1 + <0, -1, 0> 1 + } + box { + <-1, -1, 0> + <+1, 0, 1> + } + cone { + <0, 0, -1> 1 + <0, 0, +1> 1 + } + scale <0.1, 0.125, 0.125> + } + cone { + <0, 0, 0> 0.05 + <0, -0.5, 0> 0.05 + } + texture { pigment { color Flesh } } + translate <0, 1.625, 0> + } + + // Körper + union { + cone { + <0, 0.05, 0>, 0.05 + <0, 0, 0>, 0.25 + scale <1, 1, 0.5> + } + cone { + <0, 0, 0>, 0.25 + <0, -0.55, 0>, 0 + scale <1, 1, 0.5> + } + texture { pigment { color LimeGreen } } + translate <0, 1.4, 0> + } + + // Becken + sphere { + <0, 0, 0> 1 + scale <0.15, 0.15, 0.1> + translate <0, 1, 0> + texture { pigment { color LimeGreen } } + } + + // Beine + cone { + <0.1, 0, 0>, 0.05 + <0.07, 1, 0>, 0.07 + texture { pigment { color LimeGreen } } + } + cone { + <-0.1, 0, 0>, 0.05 + <-0.07, 1, 0>, 0.07 + texture { pigment { color LimeGreen } } + } + + // Arme + cone { + <0.25, 0.8, 0>, 0.05 + <0.25, 1.4, 0>, 0.05 + texture { pigment { color LimeGreen } } + } + sphere { + <0.25, 0.76, 0>, 0.04 + texture { pigment { color Flesh } } + } + cone { + <-0.25, 0.8, 0>, 0.05 + <-0.25, 1.4, 0>, 0.05 + texture { pigment { color LimeGreen } } + } + sphere { + <-0.25, 0.76, 0>, 0.04 + texture { pigment { color Flesh } } + } + } + diff --git a/pr/sol/mittelstueck.pov b/pr/sol/mittelstueck.pov new file mode 100644 index 0000000..85bb27a --- /dev/null +++ b/pr/sol/mittelstueck.pov @@ -0,0 +1,79 @@ +#include "colors.inc" +#include "shapes.inc" +#include "textures.inc" +#include "metals.inc" +#include "glass.inc" +#include "ynkelonium_texture.pov" +#include "T_BlackMetal.pov" +#include "Triebwerk.pov" + +#declare Zylinder = + union { + cone { + <0,-750,0>, 750 + <0,750,0>, 750 + } + difference { + cone { + <0,750,0>, 750 + <0,870,0>, 630 + } + sphere { + <0, 1250+750, 0> 1250 + } + } + difference { + cone { + <0,-750,0>, 750 + <0,-870,0>, 630 + } + sphere { + <0, -(1250+750), 0> 1250 + } + } + texture { + Ynkelonium_Texture + } + } + +#declare Ringwulst = + union { + difference { + torus { + 750, 400 + } + #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 Mittelstueck = +union { + object { + Zylinder + } + object { + Ringwulst + } +} + diff --git a/pr/sol/povray.ini b/pr/sol/povray.ini new file mode 100644 index 0000000..e63818c --- /dev/null +++ b/pr/sol/povray.ini @@ -0,0 +1,6 @@ ++A ++HTP ++fp +w800 +h600 +d1 ++l/usr/lib/povray3/include +display_gamma = 2.2 ++sp16 diff --git a/pr/sol/sol.pov b/pr/sol/sol.pov new file mode 100644 index 0000000..c03cffb --- /dev/null +++ b/pr/sol/sol.pov @@ -0,0 +1,17 @@ +#include "sz.pov" +#include "mittelstueck.pov" + +#declare Sol = + union { + object { + SZ + translate <0, 750+1250, 0> + } + object { + Mittelstueck + } + object { + SZ + translate <0, -(750+1250), 0> + } + } diff --git a/pr/sol/sz.pov b/pr/sol/sz.pov new file mode 100644 index 0000000..46d25a2 --- /dev/null +++ b/pr/sol/sz.pov @@ -0,0 +1,62 @@ +#include "colors.inc" +#include "shapes.inc" +#include "textures.inc" +#include "metals.inc" +#include "glass.inc" +#include "ynkelonium_texture.pov" +#include "T_BlackMetal.pov" +#include "Triebwerk.pov" + +#declare Kugelschale = + sphere { + <0,0,0>, 1250 + texture { + Ynkelonium_Texture + } + } + +#declare Ringwulst = + union { + difference { + torus { + 1250, 400 + } + #declare i = 0 + #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 + } + cone { + <0, -400, 0>, 1250, + <0, 400, 0>, 1250 + } + + texture { + Ynkelonium_Texture + } + + } + + +#declare SZ = +union { + object { + Kugelschale + } + object { + Ringwulst + } +} + diff --git a/pr/sol/test-mensch.pov b/pr/sol/test-mensch.pov new file mode 100644 index 0000000..adf6b57 --- /dev/null +++ b/pr/sol/test-mensch.pov @@ -0,0 +1,34 @@ +#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 White +} +camera { + location <0, 1.7, 2> + look_at <0, 1, 0> +} + +#include "mensch.pov" + +object { + Mensch +} + + +plane { + <0, 1, 0>, 0.3 + pigment { + checker color White*0.7, color White*0.5 + } +} + diff --git a/pr/sol/test-mittelstueck.pov b/pr/sol/test-mittelstueck.pov new file mode 100644 index 0000000..a3c1335 --- /dev/null +++ b/pr/sol/test-mittelstueck.pov @@ -0,0 +1,35 @@ +#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 White +} +camera { + location <-2000, 3100, -1710> + look_at <0, 1100, 0> +} + +#include "mittelstueck.pov" + +object { + Mittelstueck + translate <0, 1300, 0> +} + + +plane { + <0, 1, 0>, 0.3 + pigment { + checker color White*0.7, color White*0.5 + } +} + diff --git a/pr/sol/test-sol.pov b/pr/sol/test-sol.pov new file mode 100644 index 0000000..ea44f4e --- /dev/null +++ b/pr/sol/test-sol.pov @@ -0,0 +1,35 @@ +#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 White +} +camera { + location <-6000, 2, -1710> + look_at <0, 2500, 0> +} + +#include "sol.pov" + +object { + Sol + translate <0, 3300, 0> +} + + +plane { + <0, 1, 0>, 0.3 + pigment { + checker color White*0.7, color White*0.5 + } +} + diff --git a/pr/sol/test-sz.pov b/pr/sol/test-sz.pov new file mode 100644 index 0000000..57f4283 --- /dev/null +++ b/pr/sol/test-sz.pov @@ -0,0 +1,35 @@ +#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 White +} +camera { + location <1650, 1700, 0> + look_at <1250, 1300, 0> +} + +#include "sz.pov" + +object { + SZ + translate <0, 1300, 0> +} + + +plane { + <0, 1, 0>, 0.3 + pigment { + checker color White*0.7, color White*0.5 + } +} + diff --git a/pr/sol/ynkelonium_texture.pov b/pr/sol/ynkelonium_texture.pov new file mode 100644 index 0000000..0788a0a --- /dev/null +++ b/pr/sol/ynkelonium_texture.pov @@ -0,0 +1,3 @@ +#include "metals.inc" +#declare Ynkelonium_Texture = + texture {pigment {color <1, 0.2, 0.6>} finish {F_MetalB}}