Re: [eigen] Eigen appears to rock. |

[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]

Hi Thomas,
Thanks for the kind words!
> So far as what I need, the only thing that seems not already built in is
> the idea of a coordinate system (which includes both a basis and an origin)
> and the idea of a point (which transforms differently from a vector). Of
> course, this can be handled with four-dimensional matrices and vectors as
> in OpenGL. Maybe point-transform stuff is already in the geometry module,
> though I didn't see it. Anyway, eigen looks so good that I thought that I
> would join the mailing list. I'm sure to have questions once I start using
> it.
You guessed well, the way we do that is pretty much the same as in OpenGL,
a.k.a. projective geometry. By adding one extra dimension, one represents
translations as matrices, which allows to see vectors as points in affine
space.
This is indeed in the Geometry module, the class you're looking for is class
Transform.
http://eigen.tuxfamily.org/api/classEigen_1_1Transform.html
For example, Transform3f is actually a 4x4 matrix and can represent any affine
transformation on 3-space. You can multiply a Transform3f with a Vector3f.
Cheers,
Benoit