Boost logo

Boost :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2003-05-22 08:53:33


Some brief thouhgts from the various comments. (Sorry if I dont credit you,
I am a bit bust at the moment).

There are many libraries available that are aimed at solving these problems
(uBlais, Blits++, MTL and others). The problem is that these are not
standardized, are generally non-portable (as was mentioned), are usually
specific (e.g. over choice of number representation), and may be hard to
integrate with the STL and other areas of the standard.

Having a geometric library and a matrix library that are Boostified would
make a program more portable, since there would not be a need to install a
specific framework such as MTL. Also, the Boostified version would make it
easier for the programmer to develop programs using geometric constructs, as
they would not need to learn many variants of the same construct.

As for the point/vector/matrix from a non-graphics point-of-view, I agree:
it should be applicable to any application that makes use of points,
vectors, etc.

Regarding point = point +/- vector, a vector is a representation of a
distance (hence why it can be created via point - point), so the above
operations translate a point by a certain distance. Having point = point +/-
point does not make sence, because a point is a *location* not a *distance*.

Also, I said that this was an initial idea, so the cross/dot product issue
will need thinking about. Also, the standard library has an inner_product
function.

The matrix functions was not meant to be complete. I agree that there should
be an inverse function, also an adjoint function.

>point2D boost::geometric::project( point2D )

That was a typo, it was meant to be:
   point2D boost::geometric::project( point3D )
to aid with rendering of 3D objects. There also needs to be 4D -> 3D to
render objects such as tesseracts (4D cubes!) on the screen. I do not know
anything about affine transforms, but they look useful.

I would need to do more research into the mathematics to create a library
like this.

As has been mentioned, there is the need for other geometric constructs,
such as planes, conics and so on.

Regards,
Reece

_________________________________________________________________
On the move? Get Hotmail on your mobile phone http://www.msn.co.uk/msnmobile


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk