POV-Ray : Newsgroups : povray.general : Isosurface Online Tutorial - I have a website now : Re: Isosurface Online Tutorial - I have a website now Server Time
11 Aug 2024 13:22:35 EDT (-0400)
  Re: Isosurface Online Tutorial - I have a website now  
From: Bill DeWitt
Date: 26 Aug 1999 09:14:00
Message: <37c53d98@news.povray.org>
SamuelT. <STB### [at] aolcom> wrote :
> Bill, I don't think I understand your
> question fully.

    Actually you probably do, maybe even better than I do myself 8-) I am
notorious for running out questions before I know enough to ask questions
which could receive informative answers.

    I think Chris's answer while certainly true and exactly what I asked
for, is maybe one step too basic for me to understand all at once.

    But I'm getting there. The following is a little long and may be
tedious, but if someone could check me on it I would be grateful...

    Using the example "function(x+1.0)", going in the x direction, starting
at x=(-1.0), all points get the value 1.0 added to them. So at x=(-1.0), the
point equals 0.0 (less than the threshold of 1.0), then it moves right to
the middle, where x usually equals 0.0 but now equals 1.0, at that point,
all points are greater than the threshold and so aren't shown. (if x > 0.0
then Point > 1.0)

    Using that way of talking about it, the example
function{ (sin(x*3)+y)+y }" (parenthesis added for emphasis) and starting
from the inmost set of parenthesis(x*3), all x values are tripled. So you
get a similar effect as above, with one third the bounding box filled with
points whose values are greater than 1.0 and so are not shown. (if x > 0.333
then Point > 1.0)

    Then finding the sine of (x*3) you get values which start at -1.0 and
smoothly go to +1.0 then back to -1.0. This gives all points within the
bounding box a value of 1.0 or less and so all points are shown ( If you
drop the threshold below 1.0, you can see where the value of sin(x*3) is
greater than the threshold but never gets above 1.0 ).

    Adding y to the above begins to show the sine curve because at the
bottom of the bounding box where y is -1.0, adding y to it makes it -2.0, in
the middle height, where it is y=0, nothing is added to nothing. But for all
values of y which are greater than 0, y now equals twice as much as before.

    So the area where previously, x -almost- made it above 1.0, is now goes
just over 1.0 (where y>0) and is excluded by the threshold. Further up, as Y
gets exponentially greater, it becomes easier for x to be greater than 1.0
so the area that is excluded becomes wider, giving the look of a sine curve.

    Finally, adding y again flattens the curve even more, bringing all of
it's height into the bounding box. Adding more and more y makes flatter and
flatter waves.

    And I finally figured out that the doubling effect of abs and sqr are
because a negative number times a positive number equals a positive
number...

    All this makes sense to me. Which is either a sign that I am finally
getting a grasp on the whole thing or that I am way wrong. I don't know if
my math skills will go much further since I almost broke a blood vessel
trying to get this far, but if someone can confirm that I am right about
this, I'll consider this a working theory...

> Chris Huff wrote:
>
> > It is "show all points where the function is equal to the threshold."
> > Bounding and clipping shapes will alter it if the surface is not totally
> > contained in the bounding shape.
>
> --
> Samuel Benge
>
> E-Mail: STB### [at] aolcom
> Website: http://members.aol.com/stbenge
>
> "Ni!"
>
>


Post a reply to this message

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