#include "T_arkonstahl.pov" #include "glass.inc" #declare eps = 1E-3; #declare gummi = texture { pigment { color 0.2 } } #declare trafo = union { intersection { sphere { 0, 1 scale <1.1, 4, 1.1> } box { <-1, 0, -1> <1, 4, 1> } texture { T_arkonstahl } } intersection { sphere { 0, 1 scale <1.1, 2, 1.1> texture { T_Copper_3D } } box { <-1, 1.2, -1> <1, 2, 1> } translate <0, 2.3, 0> } intersection { sphere { 0, 1 scale <1.1, 2, 1.1> texture { T_Copper_3D } } box { <-1, 1.4, -1> <1, 2, 1> } translate <0, 2.6, 0> } } #declare andruckabsorber1 = union { box { <4, 0, -2> <5, 2, +2> } intersection { cylinder { <5, 0, 0> <6, 0, 0> 4 } box { <5-eps, 0, -4> <6+eps, 4, +4> } scale <1, 1, 3/4> } cylinder { <6, 2, 0> <7, 2, 0> 2 } cone { <7, 2, 0>, 1.8 <9, 2, 0>, 1.3 } cone { <9, 2, 0>, 1.3 <9.2, 2, 0>, 1.5 } cylinder { < 9.2, 2, 0> <10.0, 2, 0> 1.7 } superellipsoid { <0.1, 0.1> scale <1, 2, 3> translate <11, 2, 0> } union { box { <0, 0, 0>, <1.4, 0.9, -0.01> texture { pigment {Black} } } box { <0.4, 0.5, 0.01>, <1.3, 0.8, -0.02> texture { pigment {Green} } } sphere { <0.55, 0.35, 0.01>, 0.13 scale <1, 1, 0.1> texture { pigment {Green} } } sphere { <0.85, 0.35, 0.01>, 0.13 scale <1, 1, 0.1> texture { pigment {Yellow} } } sphere { <1.15, 0.35, 0.01>, 0.13 scale <1, 1, 0.1> texture { pigment {Red} } } matrix < // swap x<->z // swap x<->z 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0 > translate <4, 1, -0.7> } texture { pigment { color White }} } #declare andruckabsorber2 = union { superellipsoid { <0.1, 0.1> scale <1, 2, 2.5> translate <12, 2, 0> } cone { <13, 2, 0>, 2 <13.2, 2, 0>, 1.9 } cone { <13.2, 2, 0>, 1.7 <14.0, 2, 0>, 1.0 } sphere { <14.0, 2, 0>, 0.5 texture { T_Copper_3D } } texture { pigment { color White }} } #declare andruckabsorber = union { #local I = 0; #while (I < 360) object { andruckabsorber1 rotate <0, I, 0> } #local I = I + 60; #end #local I = 15; #while (I < 360) object { andruckabsorber2 rotate <0, I, 0> } #local I = I + 30; #end #local I = 0; #while (I < 360) object { trafo rotate <0, 45, 0> translate <13.5, 0, 0> rotate <0, I, 0> } #local I = I + 30; #end }