|
|
James Bulgin wrote:
>
> Moreover, I was curious about the internal processes behind isosurfaces
> and why it sometimes takes so long to calculate them. I do know the
> general thoery, but is there anywhere that I can find a more detailed
> account of how the pov-ray does these things internally? I did download
> the source code, but I havn't really had the time to have a good look at
> it yet (and given the size of it, it's a bit of a task just to figure out
> where to begin as I have little knowledge of the internal organization of
> the renderer)
Principally it is very simple:
Given the isosurface function f: (x,y,z) -> R, put in the ray equation r: t
-> x0 + t* v0, i.e. f(r(t)) which is a 1dimensional function t -> R. Now if
the surface is at f(x,y,z)=0 all you have to do is to find the roots of the
function, i.e. the smallest t for which f(r(t))=0. POV-Ray does this with
the constant slope method starting from the first intersection with the
container. The used slope is the max gradient.
Hope that helps.
- Micha
--
POV-Ray Objects Collection: http://objects.povworld.org
Post a reply to this message
|
|