|
Boost : |
From: Noah Stein (Noah_at_[hidden])
Date: 2003-05-22 03:14:59
> -----Original Message-----
> From: boost-bounces_at_[hidden]
> [mailto:boost-bounces_at_[hidden]]On Behalf Of Andrew J. P. Maclean
> Sent: Wednesday, May 21, 2003 4:48 PM
> To: 'Reece Dunn'; boost_at_[hidden]
> Subject: RE: [boost] proposal for efficient geom. vector class
>
>
> You also need the full set of homogeneous transforms.
> This is essential in performing perspective transforms and also
> simplifies working with affine transforms and helps to clearly
> distinguish between points and vectors. A point has 1 as the forth
> coordinate and a vector has 0. In fact this can be generalised to:
> "A n-dimensional point has 1 as the (n+1)th coordinate and a vector has
> 0 as the (n+1)th coordinate."
>
> This makes handling of affine transformations easy.
> Check out:
> "Computer Graphics using Open GL" F.S. Hill Prentice Hall
> "Computer Graphics Principles and Practise in C", Foley et.al.
> Addison Wesley
If you have access to the ACM's digital library, I highly recommend reading
the following paper:
http://portal.acm.org/citation.cfm?doid=504789.504792
It has IMHO an excellent discussion of different vector spaces and their
issues in regards computer graphics. It points out a number of subtleties
that really should be considered in a geometric vector library.
I've fooled with the basics of a few different libraries for geometric
vectors. From my experience, I'd have to say that there are a number of
gotchas. If anyone wants, I can try scouring my hard drive and possibly
post one or more of my implementations to the sandbox.
-- Noah
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk