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:28:32 EDT (-0400)
  Re: Isosurface takes FOREVER, what can I do  
From: Grassblade
Date: 16 Dec 2006 06:10:00
Message: <web.4583d38c15b5c780485e86890@news.povray.org>
"dave vanhorn" <mic### [at] gmailcom> wrote:
> 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
>
>           }

I wouldn't know, but you can try changing your function. There's another
heart shaped function here, that reportedly renders very quickly:
http://www.econym.demon.co.uk/isotut/real.htm (Yet Another Heart)


Post a reply to this message

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