C++ quaternion library needed

I told Tim about this lib last night, and it might be useful to link it here in case others want to peek:

vmath
 
Apparently - at least according to this paper that was re-presented at Siggraph - quaternions (when used for skinning, that is) are old technology.:oops: Dual Quaternions are far better.
 
Apparently - at least according to this paper that was re-presented at Siggraph - quaternions (when used for skinning, that is) are old technology.:oops: Dual Quaternions are far better.
Yeah that paper was presented at I3D early this year and I certainly enjoyed it.

However it doesn't invalidate the usefulness of classical quaternions, it simply extends the concept to handle 3 more degrees of freedom (for translation in this case). So a (normalized) quaternion concisely represents a 3D rotation and a (normalized) dual quaternion represents a 3D rotation and translation. Other than computational efficiency, the real benefit of these representations is that you don't get undesirable affine transformations when interpolating or taking linear combinations. Thus for example with dual quaternions you don't get annoying scaling (responsible for "candy-wrapper" artifacts) when interpolating between two animation poses.

Certainly this is really useful for skinning although sometimes artists would rather have control over scaling parameters manually, which this approach does not allow. Arguably however dual quaternions are a better basis for animation tools than matrices.

Quaternion libraries are really pretty easy to write (particularly if you already have a matrix/vector library) so that may actually be less hassle than finding a compatible library. Still I'm a big fan of code reuse so certainly let us know if you find something good :)
 
I solved my problem without quaternions--ray-plane intersections ftw!

Thanks anyway guys :p Dual quats look interesting and would solve things too, but then I'd have to write a dual quat library (urgh)...
 
Back
Top