#version unofficial 3.8; // yuqk #if (file_exists("version.inc")) #include "version.inc" #end #if (!defined(Fork_yuqk)) #error "This POV-Ray SDL code requires the yuqk fork." #end global_settings { assumed_gamma 1 } #declare Grey50 = srgb <0.5,0.5,0.5>; background { Grey50 } #declare Camera00 = camera { perspective location <3.5,3.5,-3.501> sky y angle 35 right x*(image_width/image_height) look_at <0,0,0> } #declare White = srgb <1,1,1>; #declare Light00 = light_source { <50,150,-250>, White } #declare Plane00 = plane { y, 0 } #declare Red = srgb <1,0,0>; #declare CylinderX = cylinder { -1*x, 1*x, 0.01 pigment { Red } } #declare Green = srgb <0,1,0>; #declare CylinderY = cylinder { -1*y, 1*y, 0.01 pigment { Green } } #declare Blue = srgb <0,0,1>; #declare CylinderZ = cylinder { -1*z, 1*z, 0.01 pigment { Blue } } #declare Sphere00 = sphere { 0, 0.5 scale <1,1,1.2> translate <-0.80,0,-0.80> } #declare PigListObj = pigment { list_object { object { Sphere00 } object { Sphere00 translate (x+z)*0.15 } object { Sphere00 translate (x+z)*0.30 } object { Sphere00 translate (x+z)*0.45 } object { Sphere00 translate (x+z)*0.60 } object { Sphere00 translate (x+z)*0.75 } object { Sphere00 translate (x+z)*0.90 } object { Sphere00 translate (x+z)*1.05 } object { Sphere00 translate (x+z)*1.20 } object { Sphere00 translate (x+z)*1.35 } object { Sphere00 translate (x+z)*1.50 } object { Sphere00 translate (x+z)*1.65 } } // Use default 13 entry list_object color_map } #declare TxtrListObj = texture { pigment { PigListObj } } #declare Union00 = union { object { Sphere00 } object { Sphere00 translate (x+z)*0.15 } object { Sphere00 translate (x+z)*0.30 } object { Sphere00 translate (x+z)*0.45 } object { Sphere00 translate (x+z)*0.60 } object { Sphere00 translate (x+z)*0.75 } object { Sphere00 translate (x+z)*0.90 } object { Sphere00 translate (x+z)*1.05 } object { Sphere00 translate (x+z)*1.20 } object { Sphere00 translate (x+z)*1.35 } object { Sphere00 translate (x+z)*1.50 } object { Sphere00 translate (x+z)*1.65 } pigment { rgb <0.1,0.2,0.3> } } #declare Cylinder00 = cylinder { <-1,0,-1>, <+1,0,+1>, 0.1 } #declare ObjListObj = object { Plane00 texture { TxtrListObj } } #declare Intersection00 = intersection { object { Union00 } object { Cylinder00 } //cutaway_textures // Object wrap behavior change? texture { TxtrListObj } } #declare Difference00 = difference { object { Union00 scale 1.0-1e-6 } // Avoid txtr coincidence object { Cylinder00 scale 3 translate <0.25,0.2,-0.25> } //cutaway_textures // Object wrap behavior change? texture { TxtrListObj } } //--- scene --- camera { Camera00 } light_source { Light00 } object { CylinderX } object { CylinderY } object { CylinderZ } // object { ObjListObj } // object { Intersection00 } object { Difference00 }