Re: customize Geometry

New Message Reply Date view Thread view Subject view Author view

Robert Grzeszczuk (robert_grzeszczuk@hotmail.com)
Mon, 04 Oct 1999 08:18:39 PDT


Gandolfo,

In the general case, given an aribitrarily shaped region of interest defined
by a set of points (and possibly additionally contrained by presence of
specific edges, faces, etc.) you will need to compute a constrained
tesselation. Check out the software archives of the Geometry Center at the
University of Minnesota for a broad selection of computational geometry
utilities (http://www.geom.umn.edu/software/cglist/). For example, you
could use a 3D Delaunay triangulation and discard the tetras that fall
within the cylinder, or use any of the 3D constrained tesselations directly
by specifying the model boundaries. Alternatively, search the Web for
"constrained tetrahedralization," which is an active field of research in
numerical simulation.

However, in many useful cases, you can come up with much simpler solutions.
For example, rendering a Cube minus a Subcube is rather trivial: the model
can be subdivided into 9 cubical regions (some of which may be empty if the
Subcube is not fully contained within the Cube) by simply connecting the
faces of the Subcube to the corresponding faces of the Cube and rendering
the 8 that do not coincide with the Subcube. We can extend this idea to
many more interesting cases. For example, to render a Cube minus a Sphere
do the following: construct a Supersphere concentric with the Sphere, but
large enough to enclose the Cube. Tesselate the area between the two
spheres (connecting the corresponding triangles on the spheres will form a
single prism). When you send in a TetraSet thus formed into polygonize()
action, the resulting set of triangles will only cover your intended ROI.
This is because Volumizer clips all sampling geometry to both the model and
the brick broundaries. Similarly, to get Cube minus Cylinder, surround it
with a Supercylinder, and a couple of Caping Cylinders on each end.

Hope that helps.

-rg

>From: Riccardo Grassi - Gandolfo Luca <dritto@michelle.bio.dist.unige.it>
>Reply-To: Riccardo Grassi - Gandolfo Luca
><dritto@michelle.bio.dist.unige.it>
>To: "info-volumizer@corp.sgi.com" <info-volumizer@corp.sgi.com>,
>Robert Grzeszczuk <rg@hoek.engr.sgi.com>
>Subject: customize Geometry
>Date: Thu, 30 Sep 1999 17:50:50 -0700
>
>hi,
> I read the paragraph of the Programming Guide titled "Arbitraly Shaped
>Volumes of Interest" . I want render a Volume minus a cone (or a
>cylinder). How can I do it ? Can someone send me a pseudo code ?
>
>Gandolfo Luca
>
>

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Oct 04 1999 - 15:16:58 PDT