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: Fri, 13 Aug 2004 22:41:30 +0200
User-agent: IMHO/0.98.3+G (Webmail for Roxen)

-Hans Aberg wrote:

> I am inclined to think that you should skip all attempts to make it similar
> to the MetaFont language, and merely make it efficient to describe
> geometric shapes as you can see fit. Then you can use that geometric
> language as object code of another language that might then be similar to
> the MetaFont language if you so wish.
> 

The whole point of the GNU 3DLDF project is to implement a free  (in the sense
of the GNU General Public License) Metafont-like language for creating 3D
graphics.  I do plan to implement a machine-like language for fast-loading
format files, analogous to the languages used in the TeX and Metafont format
files created by INITEX and INIMF, respectively.  If I (or another member of
the project) ever gets around to implementing a GUI, I intend that it pass
binary code in this machine-like language to the 3DLDF program proper.  I
suppose I could call the latter an "engine" in this context.  I think this
machine-like language would be better suited as the basis for implementing the
kind of generality you're talking about.  At the moment, I'm more concerned
with the forthcoming release.

> 
> Sorry, I do not know what NURBS is. And what do you mean by "projectively
> affine"?
> 

NURBS are non-rational uniform b-splines.  I don't have my books on 3D
graphics handy, so please excuse any lack of rigor in the following
definition.  "Projectively affine" means that if I have a spline curve P
determined by a set of key points p_0, p_1, ... p_n in 3-dimensional space,
and I project these points onto a two-dimensional surface using a non-affine
projection, such as the perspective projection, the spline curve Q determined
by the projections of p_0, p_1, ... p_n, namely q_0, q_1, .. q_n,
is identical to the curve generated by performing the same projection on all
of the points on P.

> >Later, I would like to implement 4-dimensional and n-dimensional modelling
so
> >that I can make projections of Klein bottles, hypercubes, and other
> >n-dimensional objects.  I'd also like to use 3DLDF to animations of a
sphere
> >inversion and similar things.
> 
> Sounds you have a lifetime project. :-)

That's my intention.

> 
> >> (In section 1.4: You speak about real values, but probably mean floats
> >> (floating point values).
> >
> >In 3DLDF, `real' is a synonym for `float' or `double' defined using
`typedef'.
> 
> It clearly so that in some computer language paradigms, the word "real" is
> used instead of the mathematically correct term "float". C/C++, however, do
> it correctly.
> 

The kinds of numbers I'm familiar with from mathematics are natural, whole,
rational, real, complex, and imaginary.  I'm only familiar with the terms
fixed point and floating point in the context of discrete mathematics and the
representation of real numbers in computers.  

I wanted to make it possible for users to decide whether they'd rather have
greater precision or lower memory requirements.  One reason for needing
greater precision is the inaccuracy resulting from the use of the
trigonometric functions for rotations.  I've started looking into quaternions
in hopes that they may help me solve the problem.

Laurence  





reply via email to

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