home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / graphics / avs / 1042 < prev    next >
Encoding:
Internet Message Format  |  1992-12-30  |  2.7 KB

  1. Path: 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
  2. From: wes@ux6.lbl.gov (Wes Bethel)
  3. Newsgroups: comp.graphics.avs
  4. Subject: Re: Handling of "missing" or "special values"
  5. Date: 30 Dec 1992 20:50:06 GMT
  6. Organization: Lawrence Berkeley Laboratory
  7. Lines: 48
  8. Message-ID: <1ht21uINN1ui@overload.lbl.gov>
  9. References: <1992Dec30.150955.18683@netnews.whoi.edu+
  10. Reply-To: wes@ux6.lbl.gov (Wes Bethel)
  11. NNTP-Posting-Host: ux6.lbl.gov
  12.  
  13. In article <1992Dec30.150955.18683@netnews.whoi.edu+ rsignell@crusty.er.usgs.gov (Richard P. Signell) writes:
  14. +Is there a way to tell isosurface to ignore missing or special
  15. +values in a 3D grid?  Setting missing values to zero or some
  16. +other value does *not* have the desired affect.
  17. +
  18. +...
  19. +The simple technique of just manipulating the data field by 
  20. +setting all the values to zero or some other number does not work,
  21. +since contour or isosurface will try to draw contours or isosurfaces between
  22. +the "good" data points and the "missing" data points.   I believe the
  23. +modules themselves (isosurface, contour to geom ,etc) would have to 
  24. +recognize "special values" and act apppropriately to handle this problem.
  25. +
  26. +I would love to here what other people have to say about this problem....
  27. +
  28.  
  29. Ok.  you asked, for it. ;-)
  30.  
  31. The power of the "marching cubes" (tm) (blech) algorithm is that it
  32. breaks a big problem into  a bunch of little problems.  The little
  33. problem is to find where the surface of interest intersect the (possibly
  34. twisted) hexahedron that you're looking at.
  35.  
  36. But wait, there's an assumption that there is data at each corner of the
  37. hexahedron.  You're saying that you don't necessarily have data at
  38. each corner of the hexahedron, so this isn't the right algorithm to
  39. use.  Unfortunately, unless someone else has some code laying around
  40. that gets around this problem (ie, "non-marching" methods) you're
  41. stuck with the AVS supplied isosurface.
  42.  
  43. The absolute best you can do, using marching cubes that is, is to use 
  44. your judgement to provide data values where there are none.  I guess 
  45. you've tried some of the crusty interpolation modules which are 
  46. available, only to have land crop up in the middle of the ocean ;-). 
  47.  
  48. One suggestion for a modification to marching cubes that might work is
  49. to create an adaptive algorithm that will collapse or combine adjacent 
  50. grid cells when these undefined values are detected.  This sounds like 
  51. a master's project, so I'll pass for the time being.  It definitely
  52. sounds like something that should come from the user community though,
  53. as opposed to asking AVS for something suitable (its too specific, not
  54. general enough, or whatever).
  55.  
  56. Let us know when you write the module and submit it to the IAC. ;-)
  57.  
  58. wes
  59.  
  60.  
  61.