#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 <2,3,-5.001>*0.77 sky y angle 35 right x*(image_width/image_height) look_at <0,0,0> } #declare VarOrthoMult = 2.0/max(image_width/image_height,image_height/image_width); #declare Camera01z = camera { orthographic location <0,0,-2> direction z right VarOrthoMult*x*max(1,image_width/image_height) up VarOrthoMult*y*max(1,image_height/image_width) } #declare Camera01y = camera { orthographic location <0,2,0> direction -y right VarOrthoMult*x*max(1,image_width/image_height) up VarOrthoMult*z*max(1,image_height/image_width) } #declare Camera01x = camera { orthographic location <2,0,0> direction -x right VarOrthoMult*z*max(1,image_width/image_height) up VarOrthoMult*y*max(1,image_height/image_width) } #declare White = srgb <1,1,1>; #declare Light00 = light_source { <50,150,-250>, White } #declare Red = srgb <1,0,0>; #declare CylinderX = cylinder { -1.5*x, 1.5*x, 0.01 pigment { Red } } #declare Green = srgb <0,1,0>; #declare CylinderY = cylinder { -1.5*y, 1.5*y, 0.01 pigment { Green } } #declare Blue = srgb <0,0,1>; #declare CylinderZ = cylinder { -1.5*z, 1.5*z, 0.01 pigment { Blue } } #include "functions.inc" // Function f_sphere defined in functions.inc #declare Fn00 = function (x,y,z) { f_sphere(x/2,y/2,z*2.5,0.7) } #declare Iso99 = isosurface { function { Fn00(x,y,z) } contained_by { box { -2.0,2.0 } } threshold 0 accuracy 0.0005 max_gradient 3.1 } #declare Box99 = box { -1,1 rotate y*45 } #declare Pigm99 = pigment { brick ip_size <8.0*0.7,2.5,4.0> ip_spacing <0.5*0.7,0.5,0.0> translate <4*0.7+1.5,0,0> scale 0.05 warp { it_amount 0.3 it_scale 0.022 } // Upper right } #declare Txtr99 = texture { pigment { Pigm99 } //normal { concrete } // Lower left normal { concrete bump_size +1.9 scale 1/2 } // Lower right } #declare ObjBox = object { Box99 texture { Txtr99 finish { diffuse 0.8 brilliance 7 } } } #declare ObjIso = object { Iso99 texture { Txtr99 finish { diffuse 0.8 brilliance 7 } } } //--- scene --- camera { Camera00 } light_source { Light00 } // camera { Camera01x } // camera { Camera01y } // camera { Camera01z } object { CylinderX } object { CylinderY } object { CylinderZ } // object { ObjBox } object { ObjIso }