🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.graphics.avs
Article #268

Re: Handling of "missing" or "special values"

#268
From: Wes Bethel
Date: Wed, 30 Dec 1992 20:50
46 lines
2831 bytes
In article <1992Dec30.150955.18683@netnews.whoi.edu+ rsignell@crusty.er.usgs.gov (Richard P. Signell) writes:
+Is there a way to tell isosurface to ignore missing or special
+values in a 3D grid?  Setting missing values to zero or some
+other value does *not* have the desired affect.
+
+...
+The simple technique of just manipulating the data field by 
+setting all the values to zero or some other number does not work,
+since contour or isosurface will try to draw contours or isosurfaces between
+the "good" data points and the "missing" data points.   I believe the
+modules themselves (isosurface, contour to geom ,etc) would have to 
+recognize "special values" and act apppropriately to handle this problem.
+
+I would love to here what other people have to say about this problem....
+

Ok.  you asked, for it. ;-)

The power of the "marching cubes" (tm) (blech) algorithm is that it
breaks a big problem into  a bunch of little problems.  The little
problem is to find where the surface of interest intersect the (possibly
twisted) hexahedron that you're looking at.

But wait, there's an assumption that there is data at each corner of the
hexahedron.  You're saying that you don't necessarily have data at
each corner of the hexahedron, so this isn't the right algorithm to
use.  Unfortunately, unless someone else has some code laying around
that gets around this problem (ie, "non-marching" methods) you're
stuck with the AVS supplied isosurface.

The absolute best you can do, using marching cubes that is, is to use 
your judgement to provide data values where there are none.  I guess 
you've tried some of the crusty interpolation modules which are 
available, only to have land crop up in the middle of the ocean ;-). 

One suggestion for a modification to marching cubes that might work is
to create an adaptive algorithm that will collapse or combine adjacent 
grid cells when these undefined values are detected.  This sounds like 
a master's project, so I'll pass for the time being.  It definitely
sounds like something that should come from the user community though,
as opposed to asking AVS for something suitable (its too specific, not
general enough, or whatever).

Let us know when you write the module and submit it to the IAC. ;-)

wes
Technical Details
Message-ID: <1ht21uINN1ui@overload.lbl.gov>
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!zaphod.mps.ohio-state.edu!news.acns.nwu.edu!network.ucsd.edu!dog.ee.lbl.gov!overload.lbl.gov!ux6.lbl.gov!wes
References: <1992Dec30.150955.18683@netnews.whoi.edu+

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!zaphod.mps.ohio-state.edu!news.acns.nwu.edu!network.ucsd.edu!dog.ee.lbl.gov!overload.lbl.gov!ux6.lbl.gov!wes
From: wes@ux6.lbl.gov (Wes Bethel)
Newsgroups: comp.graphics.avs
Subject: Re: Handling of "missing" or "special values"
Date: 30 Dec 1992 20:50:06 GMT
Organization: Lawrence Berkeley Laboratory
Lines: 48
Message-ID: <1ht21uINN1ui@overload.lbl.gov>
References: <1992Dec30.150955.18683@netnews.whoi.edu+
Reply-To: wes@ux6.lbl.gov (Wes Bethel)
NNTP-Posting-Host: ux6.lbl.gov