POV-Ray : Newsgroups : povray.newusers : isosurface problem : Re: isosurface problem Server Time
5 Sep 2024 02:17:55 EDT (-0400)
  Re: isosurface problem  
From: pete
Date: 4 Feb 2002 08:51:37
Message: <3c5e91e9@news.povray.org>
>   From: "R. Suzuki"

>The max() and evaluate are tips for faster rendering.
>You don't need them if the rendering speed is acceptable for you.

>Without the max(), the maximum gradient of the function
>is extremely high.  It slows down rendering.

Ok.

>>I thought that the surface would be drawn where the function becomes
>>zero, but then if 6 - f_bfield() is zero then f_bfield() - 6 should be
>>zero too! So I don't understand why this change makes such a
>>huge difference.
>
>Because the isosurface is not a surface object---it is a solid object
>by default.  If you want to see only the surface of your original
>function, you should add 'open' keyword. (see POV-Help 6.5.4.1)

Ah, yes! my problem was that the bfield function gets *less* as you
go away from the origin - the opposite of "simpler" functions
what I'm used to, where  the function gets bigger as x, y and z
increase.

So my function was, essentially, inside-out!

POV-Ray is counting all the values which are less than the threshold
as "inside", and those greater as "outside" this solid object.

With "6 - f_bfield()" the negative bits (ie less than threshold, with
threshold == 0) are all where they should be (between the origin and
the surface) and with "f_bfield - 6" they are all where they
*shouldn't* be - everywhere "outside" the surface, using "outside"
to mean the side of the surface that the camera is on, rather than
what POV-Ray means by it. So the change serves to align POV-Ray's
notion of "inside" and "outside" (in this case) with my simple
intuitive one.

I guess when I was rendering with "f_bfield() - 6" there was a
donut-shaped hole right in the middle of my huge red cube, which I
would have seen if I'd chopped it open ;-)  

This makes sense. As someone once said: "Now I can go on!"

>>>        evaluate 10,1.1,0.99

>Well, this is the dynamic max_gradient estimation technique and
>it has not been documented yet.

Right. Having re-read the isosurface part of the beta documentation,
it seems to be saying "don't worry about it, just put these magic
numbers in your script" ;-)

> See my messages
>http://news.povray.org/3bd7f6e8$1@news.povray.org
>http://news.povray.org/3be10cf9@news.povray.org

I'll have a look. Thanks again.

- Pete.


Post a reply to this message

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