POV-Ray : Newsgroups : povray.general : Isosurface takes FOREVER, what can I do : Re: Isosurface takes FOREVER, what can I do Server Time
31 Jul 2024 16:29:39 EDT (-0400)
  Re: Isosurface takes FOREVER, what can I do  
From: dave vanhorn
Date: 15 Dec 2006 22:39:40
Message: <45836a7c$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.