help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 3DLDF


From: Hans Aberg
Subject: Re: 3DLDF
Date: Sat, 14 Aug 2004 21:24:32 +0200

At 19:49 +0200 2004/08/14, Laurence Finston wrote:
>The specific problem is the way I generate polyhedra, which is naive.  It is
>the virtual equivalent of folding together a paper model.  I start with a net
>of polygons in the x-z plane and rotate the polygons until they form the
>polyhedron.
>So for a given vertex V, there are several points P that represent it, one
>from each polygon that meets at V.  With infinite precision, the coordinates
>of all P would be the same.  Sadly, this is not the case, and it's possible
>that P_0 != P_1, i.e.,
>(||x_P_0| - |x_P_1|| > epsilon) || (||y_P_0| - |y_P_1|| > epsilon)
>|| (||z_P_0| - |z_P_1|| > epsilon), even when doubles are used and epsilon is
>fairly large.
>
>The problem is the trigonometric functions used for the rotations.

The picture that I have in my mind is that one first generates the
simplicies of the polyhedron, and then draws it. If the splines or NURBS'
are used for faces, one can glue them together with either parameter points
or some of those points replaced by higher derivatives (but usually only
first order) at the remaining parameter points representing various tangent
vectors. This is how I thought programs like MetaFont would do in order to
generate Bezier curves. This avoids the problem of any polyhedron vertex
(or edge) being represented by more than one floating point value.

>I plan to change the way `class Solid' is defined and used.  I'd like to
>represent `Solids' as sets of points and use functions to generate the
>polygons (or circles, ellipses, etc.) when needed.  However, this won't make
>the coordinates more accurate;  it will just make their inaccuracy less
>obvious.

So somehow, one should perhaps be able to build such a polyhedron object
directly. (A graphics term that comes to my mind is "anti-aliassing" or
"anti-aliasing", which perhaps can be searched for on the Internet.)

  Hans Aberg






reply via email to

[Prev in Thread] Current Thread [Next in Thread]