|
![](/i/fill.gif) |
I shouldn't need any extreme measures, it's a function that's defined as an
iso.
Thing is, if I set the accuracy any larger, I get an ugly horizontal defect
in the middle.
// The Heart Shape
// DONT scale/translate/rotate here!
//
//The function
#declare Heart_Function = function (x, y, z) { pow ( ( 2 * pow ( z, 2 )
+ pow ( x, 2 ) + pow ( y,
2 ) -1 ), 3 )
- ( 0.1 * pow ( z, 2 )
+ pow (x, 2 ) ) * pow ( y, 3 )
}
//The heart shape and bounding box
#declare Heart = isosurface { function { Heart_Function (x, y, z) }
accuracy 0.000025 // Less than this shows a cutline
across the middle.
max_trace 1 // 1 if solid
//max_trace 3 // 3 for simple glass
//all_intersections // Or use this for max quality in
a transparent
max_gradient 101 // Pov reports 100 used, and we
want to be > that
//Bump the result by 0.001 before entering here.
contained_by { box { < 1.046, 1.20, 0.721 >, -<
1.046, 0.900, 0.721 > }}
}
//finally, the heart as an object
#declare MyHeart =
object { Heart material { M_Ruby_Glass }
#ifndef(NoPhotons)
photons { //collect off
refraction on
reflection on
target 1.0
}
#end
}
Post a reply to this message
|
![](/i/fill.gif) |