Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!ub!okeefe From: okeefe@cs.Buffalo.EDU (Paul O'Keefe) Newsgroups: comp.graphics.visualization Subject: Re: surface rendering of fuzzy cloud Message-ID: <73521@eerie.acsu.Buffalo.EDU> Date: 28 Apr 91 18:47:15 GMT References: <2594@amethyst.math.arizona.edu> Sender: news@acsu.Buffalo.EDU Distribution: usa Organization: State University of New York at Buffalo/Comp Sci Lines: 33 Nntp-Posting-Host: zanian.cs.buffalo.edu Originator: okeefe@zanian.cs.buffalo.edu In article <2594@amethyst.math.arizona.edu>, winfree@.math.arizona.edu (Art Winfree) writes: |> |> Does anybody know how to render the surface of a fuzzy 3D cloud of |> data points? The "cloud" is actually supposed to be a 2D surface, but |> the algorithm which generates it is not perfect, and typically |> produces a sheet of points of variable thickness. In places, the |> sheet is only 1 point thick. We tried placing the cloud in a large |> 3D array then hitting it with Marching Cubes-like surface finders, |> but always with unsatisfactory results. B-splining the surface points |> was rejected because the points are totally unordered, and ordering |> into rectangular array of control points is precluded by complex |> geometry of cloud. Any suggestions? |> |> ATW Mark LeVoy of UNC/Chapel Hill has an iso-value surface rendering algorithm which is detailed in his widely cited article, "The Display of Surfaces from Volume Data", IEEE CG&A, May 1988. IMHO this algorithm is more suited than Marching Cubes for fuzzy surfaces, however, it is slower. A color and opacity is assigned to each voxel, then the volume is raytraced. The assignment of opacities is the only difference between LeVoy's surface and full volume rendering algorithms. The apE module `opac` is the only widely available implementation of which I`m aware. Caveat, opac too slow for volumes larger than 32^3, since it doesn't use octtree encoding or other speed-up method. Paul O'Keefe SUNY at Buffalo