// Persistence of Vision Ray Tracer Scene Description File // File: iso_csg_test03.pov // Vers: 3.5 // Desc: 'proximity pattern' iso_csg demo // Date: Feb. 2002 // Auth: Christoph Hormann // #version 3.5 global_settings { assumed_gamma 1.0 } camera { orthographic location <0,0,1> look_at <0,0,0> right (4/3)*x up 1*y } #include "iso_csg.inc" // ----- POV logo ------ #declare fn_8=IC_Sphere(<0,2,0>,1) #declare fn_3=IC_Sphere(<0,2,0>,1.4) #declare fn_2=IC_Scale(function { fn_3(x, y, z) }, <1,1,2>) #declare fn_3=IC_Cone(<0,2,0>,1,<0,-4,0>,0) #declare fn_4=IC_Difference2(function { fn_3(x, y, z) }, function { fn_2(x, y, z) }) #undef fn_2 #undef fn_3 #declare fn_3=IC_Sphere(<0,0,0>,1) #declare fn_2=IC_Scale(function { fn_3(x, y, z) }, <2.6, 2.2, 1>) #declare fn_5=IC_Sphere(<0,0,0>,1) #declare fn_7=IC_Transform(function { fn_5(x, y, z) }, transform { scale <2.3, 1.8, 2> translate <-0.35, 0, 0> }) #undef fn_5 #declare fn_6=IC_Difference2(function { fn_2(x, y, z) }, function { fn_7(x, y, z) }) #declare fn_5=IC_Transform(function { fn_6(x, y, z) }, transform { rotate z*30 translate 2*y }) #undef fn_2 #undef fn_3 #undef fn_6 #undef fn_7 #declare fn_3=IC_Merge3(function { fn_8(x, y, z) }, function { fn_4(x, y, z) }, function { fn_5(x, y, z) }) #declare fn_2=IC_Transform(function { fn_3(x, y, z) }, transform { rotate <0, 0, -25> translate <-0.5,-0.35,0> }) #undef fn_3 #undef fn_4 #undef fn_5 #undef fn_8 /* merge { sphere {2*y, 1} difference { cone {2*y, 1, -4*y, 0} sphere {2*y, 1.4 scale <1,1,2>} } difference { sphere {0, 1 scale <2.6, 2.2, 1>} sphere {0, 1 scale <2.3, 1.8, 2> translate <-0.35, 0, 0>} rotate z*30 translate 2*y } rotate <0, 0, -25> translate <-0.5,-0.35,0> scale 1/4 } */ #declare fn_N=function { (f_noise3d(x/2, y/2, z/2)-0.5)*0.75 } #declare fn_XX=function { fn_2(x, y, z) } plane { z, 0 texture { pigment { function { min(max((fn_XX(x, y, z)+1)*0.5, 0), 1) } color_map { [0.35 color rgb <0, 0, 0.4> ] [0.45 color rgb 0 ] [0.5 color rgb 0 ] [0.5 color rgb <1, 0.7, 0.4> ] [0.7 color rgb 0 ] } scale 0.1 } finish { ambient 1 diffuse 0 } } }