Article View: comp.graphics.avs
Article #268Re: Handling of "missing" or "special values"
From: Wes Bethel
Date: Wed, 30 Dec 1992 20:50
Date: Wed, 30 Dec 1992 20:50
46 lines
2831 bytes
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!wesReferences:
<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