Boost logo

Boost :

From: Andy Little (andy_at_[hidden])
Date: 2006-07-14 11:16:56


"Hubert Holin" wrote
> Janek Kozicki <janek_listy <at> wp.pl> writes:

>> Following functions would be needed:
>>
>> operator*(vector<3,T1>,quaternion<T2>) // most important
>> from_rotation_matrix(matrix<3,3,T>)
>> to_rotation_matrix()
>> from_axis_angle(vector<3,T1> axis, T2 angle)
>> to_axis_angle()
>> to_euler_angles()
>>
>> and few others. Similar functionality is already in boost vault:
>> directory "Math - Numerics", file Quaternion.h
>>
>> Without quaternion rotations this linear algebra library would be pretty
>> useless for me, so I hope it'll be there :)
>>
>
> Paris (U.E.), le 13/07/2006
>
> Bonjour
>
> If there is a reasonably standard (algebra, geometry) library to
> interface
> the quaternions with, I will provide the necessary functions.
>
> Speaking of the quaternion (and octonion) library, there are quite a few
> things which have been on my to-do list for quite some time now (like
> support for serialization) which I hope I will finaly have some time to work
> on this summer.

Is there any chance of writing some sort of quaternions for dummies
documentation?
Basically I am the dummy when it comes to maths , unless I have some job to
perform like getting point x and rotating it about axis a through angle b.
Unfortunately the higher level stuff is putting the quaternion library out of my
reach. I think my only use for quaternions is for rotation. My basic use case
(maybe like Janek) would be

1) some way to construct the quaternion from (say) an axis angle representation
of the rotation
2) some way to apply it to a 3D point.

I hope that I could then make use of the library without needing to know all the
maths.

BTW my plan is also to make a quaternion that is compatible with my Quan
library:

http://quan.sourceforge.net/index.html

I did some test on complex quantities in a previous incarnation of Quan and
there seemed to be no problems, so for instance one could do

typedef complex<resistance> impedance;
complex<voltage> v;
complex<current> i

impedance z = v / i;

This is of course an entirely practical example.

I guess that the same thing could be applied in 3D, though I don't know if there
is such a practical use, though there may well be.

Anyway these are the sorts of things I would like to try to do with a
quaternion.

regards
Andy Little


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