help-bison
[Top][All Lists]
Advanced

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

Re: 3DLDF


From: Laurence Finston
Subject: Re: 3DLDF
Date: Sat, 14 Aug 2004 19:49:55 +0200
User-agent: IMHO/0.98.3+G (Webmail for Roxen)

Hans Aberg wrote:

> 
> The problem is that at the time you get to this, the least powerful
> computers expected to run your program will be 64-bit machines. The G4/G5
> CPU's can probably serve as definition of what is less powerful today. You
> might check (at <http://www.apple.com>) what kind of numeric types these
> CPU's are using to generate renderings.
> 

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.  

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.

> I think you will have to hang out in newsgroups/lists where people are
> specializing in this kind of things. You might ask in
> comp.lang.c++.moderated for further directions. There are also newsgroups
> such as comp.graphics.algorithms (and comp.graphics.apps.gnuplot)
> comp.graphics.rendering.misc, comp.graphics.rendering.raytracing,
> comp.graphics.visualization.
> 

Thanks for the references.  It will be awhile before I get to this task.

Laurence



reply via email to

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