Boost logo

Ublas :

From: Paul C. Leopardi (paul.leopardi_at_[hidden])
Date: 2007-12-13 17:15:02

On Thu, 13 Dec 2007, Wilfried Holzke wrote:
> Hi,
> >> I want to use uBlas for matrix operations. Now I searching for
> >> procedures/methods to initialize matrices for translation or rotation in
> >> 3d space.
> >>
> >> Are there extension in boost for that purpose?
> >
> > not yet, but MTL4 should have this next year. I'm waiting for it.
> > Currently I use some small and unsupported library for
> > 3D operations - wildmagic.
> >
> >
> Is mtl4 an extension to ublas (which makes matrices and operations
> available) or something completely different?

It's something completely different.

What do you want to do with matrices for rotation and translation? Do you want
to use 4x4 matrices, quaternions? Did you know that quaternions are already
included in Boost?

There has been some discussion before about getting Boost Quaternion to work
with Boost Ublas:

If you want nD translation, rotation, conformal geometry, etc, you could take
a look at rotors in particular and geometric algebra in general.
See Geometric Algebra For Computer Science

Gaigen ( ) yields a fast implementation
of conformal geometric algebra for Daniel Fontijne's Raytracer example.
There is possibly a faster one using O'Caml:

Lastly, there is my own humble contribution, GluCat:
I've written a GluCat implementation of an earlier version of Fontijne's
Raytracer, ( ) but have not
published it. I therefore know that GluCat is up to the task, but not as fast
as Gaigen.

See also
Daniel Fontijne, Leo Dorst, "Modeling 3D Euclidean Geometry," IEEE Computer
Graphics and Applications, vol. 23, no. 2, pp. 68-78, Mar/Apr, 2003.

Best, Paul