Decimating the triangle set can be done in a manner analogous to the
technique used for determining the best points for drawing a set of lines
that approximate a spline curve. Once you get your set of triangles via
Delauney or some other algorithm, you locate all of the vertices that are
shared by more than one triangle. Based on some criteria (normal angle
varies by less than some amount between it and surrounding vertex normals or
the the vertex is less than some distance from a plane formed by the
surrounding vertices), vertices can be eliminated and the polygons
containing the eliminated vertices are merged into larger polygons.
Depending on the magnitude of the parameter used, you'll have various
degrees of decimation. The criteria could also be based on some display
space criteria so that decimation will vary with your view parameters.
These techniques are used by Pixar's RenderMan renderer for creating polygon
representations of their object primitives at render time.
Once you determine your final set of polygons, you can supply the
definitions to the Triangulator and then the Stripifier to convert them to
the mot efficient representation for Java3D to render.
Roberto Speranza
President, Dot Internet Solutions Inc.
mailto:[EMAIL PROTECTED]
http://www.dotinc.net/
----- Original Message -----
From: Steve Pietrowicz <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: September 23, 1999 12:03 PM
Subject: Re: [JAVA3D] Java3D Terrain
> Allen McPherson wrote:
>
> > Olivier fillon wrote:
> >
> > > The data I get is not from a grid=> more like a cloud of surface
points.
> > > to solve this problem, the first step has to be a triangulation of the
data
> > > set ( I have used delaunay algo).
> > > Then I been able to use j3d normal generator and stripifier.
> > > For those interested, the results are much better than I even expected
> > > (especially using jdk1.3 alpha!!)
> >
> > I'm glad to hear that the utility stuff is working well.
> >
> > As far as the triangulation, you're right. My mesh class
> > does only the simplest (worst) triangulation of the data
> > points--it uses all of them! For large numbers of points,
> > interactivity is shot. A better solution would be to use
> > a mesh decimation technique to reduce the number of triangles
> > generated. I haven't checked around, but there may be some
> > Java code to do this out there on the net somewhere.
> >
>
> If there is, I haven't been able to find it., and I've looked around a
lot. I
> would love to have some decimation code to use in NCSA Portfolio,
particularly,
> as you pointed out, for things like DEM files.
>
> Steve
>
> --
> Steve Pietrowicz - [EMAIL PROTECTED] Project Manager - NCSA Java 3D
Group
>
> NCSA Portfolio 1.3 beta 2: http://havefun.ncsa.uiuc.edu/Java3D/portfolio/
> New Loaders, turn your Canvas3D into a JPEG, new InputDevices and more!
> Freely available for non-commercial use!
>
> You Build It VR: http://havefun.ncsa.uiuc.edu/Java3D/YouBuildItVR/
> Build your own multi-user virtual worlds with no programming
experience!
> The Java3D FAQ: http://tintoy.ncsa.uiuc.edu/~srp/java3d/faq.html
>
>
===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff JAVA3D-INTEREST". For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".