POV-Ray : Newsgroups : povray.newusers : Faster then f_heart : Re: Faster then f_heart Server Time
30 Jul 2024 18:14:41 EDT (-0400)
  Re: Faster then f_heart  
From: Mike Williams
Date: 22 Oct 2003 03:02:13
Message: <QUGI7DAzsil$EwP+@econym.demon.co.uk>
Wasn't it Brent G who wrote:
>Is there anything faster, but similar to, the function f_heart? It 
>causes redicioulous (sp?) rendering times, current @ 7 hours for 7 
>frames of a VERY simple scene (The Heart, some Water, 1 small box, and a 
>text difference taken out of the box)

There's a parametric heart shape at 
<http://www.econym.demon.co.uk/isotut/real.htm#heart>
but it's not as pretty as f_heart.

As a parametric isosurface it renders a little slower than f_heart, but
it's possible to approximate it with Ingo Janssen's param.inc macro,
which runs very quickly. See "Ingoheart2.pov" in the zip file from that
page.

Alternatively you could try generating a mesh from the f_heart shape
using Kevin Loney's Approximation Macro. The first time you do it, it
will be very slow but you can save the resulting mesh to a file, and
when you read it back it will be really fast. Something like this:-

#include "functions.inc" 

background {rgb 1}

camera { location  <0, 0, -6> look_at <0, 0, 0> angle 32}

light_source {<100,200,-200> colour rgb 1}

#declare f = function {f_heart(z,x,y,-1)}

// Set this to 1 the first time, to create the mesh file
// Set it to 0 for to read the mesh from the file
#declare isoFileOption = 1;     

#declare isoMin = <-1.2,-1.2,-0.8>;
#declare isoMax = <1.2,1.2,0.8>;
#declare isoSmooth = yes;
#declare isoSegs = <40, 40, 40>;
#declare isoFile = "KLheart.iso";
#declare isoName = "Surface";
#include "isosurface.inc"

object { Surface
  pigment {rgb <0.9,0,0>}
  finish {phong 0.5 phong_size 10}
}


Post a reply to this message

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