POV-Ray : Newsgroups : povray.general : Isosurface and function pattern in v3.5 : Re: Isosurface and function pattern in v3.5 Server Time 4 Oct 2023 12:54:38 EDT (-0400)
 Re: Isosurface and function pattern in v3.5
 From: R  Suzuki Date: 6 Sep 2001 23:42:12 Message: <3b984214@news.povray.org>
```
{
"@context": "https://schema.org",
"@type": "DiscussionForumPosting",
"@id": "#3b984214%40news.povray.org",
"headline": "Re: Isosurface and function pattern in v3.5",
"dateCreated": "2001-09-07T03:42:12+00:00",
"datePublished": "2001-09-07T03:42:12+00:00",
"author": {
"@type": "Person",
"name": "R  Suzuki"
}
}
"Thorsten Froehlich" <tho### [at] trfde> wrote:
> Maybe there are any literature references on how the algorithm works?
>Or any other detailed description?

I have submitted a paper of the algorithm ("method 2" in the patches)
to an international workshop of implicit surfaces.
But that paper was rejected.
This would be because I do not have any background in computer
science (my major research field is materials science).

Followings are short description of the algorithm.  It is very
simple.  If someone interested in details, I can send the rejected
paper by e-mail.

-----------------------------------------------------------
THE METHOD OF ISOSURFACE SEARCHING
-----------------------------------------------------------
The isosurface searching is a recursive subdivision method.
In the first step, POV-Ray calculate the function values F(d_1)
and F(d_2) on the ray , where d is the distance from the initial
point and d_1<d_2.

If there is a possibility of isosurface between d_1 and d_2,
POV-Ray will calculate function value at another point 'd_3'
on the ray between the two points 'd_1' and 'd_2'.

The possibility is evaluated with the values F(d_1), F(d_2),
the length from d_1 to d_2, and MAX_GRADIENT.

Then, if there is a possibility of isosurface between 'd_1' and
'd_3', POV-Ray calculate another point between 'd_1' and 'd_3'.
If there is no possibility between 'd_1' and 'd_3', POV-Ray
looks for another point between 'd_3' and 'd_2', and so on.

These calculations are carried out recursively until
(d_n-d_n')<"ACCURACY".
```