## level set function

### level set function

Hi,
I am trying to understand what the level set function is but I cannot
find a good source of information the explains it. Could someone tell me
what it is or point me to the right direction?

And what does it mean: the surface is given implicitly in terms of the
level set function?

Thank you
V.Z.

### level set function

On Tue, 08 Jul 2003 02:21:15 +0100, Vasileios Zografos

>I am trying to understand what the level set function is but I cannot
>find a good source of information the explains it. Could someone tell me
>what it is or point me to the right direction?

>And what does it mean: the surface is given implicitly in terms of the
>level set function?

Look at a topographic map, such as this one of Finland.

<http://www.helsinki.fi/ml/maant/korkeus.gif>

At every point over this 2D region is a numeric value giving height
above sea level. Should global warming cause sea level to rise, the
outline of the coast will change accordingly. Thus each level gives a
set of curves, called a level set.

In 3D we can also associate a numeric value with each point in space.
The level sets then will be surfaces. For example, if the values are
assigned by the function

f(x,y,z) = x^2 + y^2 + z^2

then the level set for f=4 will be a sphere of radius 2. Thus we say
that f(x,y,z) = 4 is an "implicit function" for a sphere.

Try experimenting with this software to get a feel for 2D level sets.

<http://www.peda.com/grafeq/>

(Versions for Mac OS and Windows.)

Ok... sorry if anyone thinks this is OT, but I'm curious...

Was looking through the "advanced renderman: beyond the companion" paper
this afternoon. found a rather interesting section on the option Level Of
Detail capability. Interesting to me because I'm writing a plugin for
ElectricImage Animation System which does practically the same thing.
Probably the LOD implementation in PRMan is more efficient in terms of
loading etc. than I can do in an API, but one problem I haven't quite solved
yet.

As it stands, my implementation currently flips to the next level model as
it hits a predefined area of the parametrization... basically I treat the
model range like fog or something where there's an inner radius and an outer
falloff rate. So while it's possible to fade over a range, using lower
detail models as one gets further out, the shifts are abrupt. My question
is... am I missing something?

It could be possible to do an alpha level fade on the models, combining them
at the same time, with the general idea of alpha blending... as the model
moves from A(inner)->B(outer) where 0<=x<=1 over the range of A to B, high
res vertices are alpha-multiplied by 1-x, low res by x. this would fade, but
adds the problem of there being even MORE data to render. this might be
offset by having plateaus between fade points, but too abrupt a fade might
increase artifacts. In any case, it seems to me like there "might" be a
better way of doing this, but I have no clue what it might be. Certainly the
increased data during fades is offset as the data set gets smaller further
out, but I can't think of a way to improve this situation within the
constrains of my API set (i.e. generating geometry only, no render pipeline