Chronology |
Current Month |
Current Thread |
Current Date |

[Year List] [Month List (current year)] | [Date Index] [Thread Index] | [Thread Prev] [Thread Next] | [Date Prev] [Date Next] |

*From*: John Denker <jsd@AV8N.COM>*Date*: Wed, 30 Mar 2005 09:56:19 -0500

The recent question about "area vector" was the second time in

24 hours that somebody asked me a question for which geometric

algebra was the answer. Let me now tell you about the other one.

Suppose you are working in VRML (virtual reality modeling

language) and you need to rotate the camera or rotate some

object. You conceive of it as a compound rotation, i.e.

some angle of rotation about one axis, followed by some other

angle about some other axis. So far so good, but you would

like to express this as a *single* rotation. You know it

will be some third angle around some third axis, but just

what exactly?

Far and away the simplest way to proceed is to convert each

rotation to the geometric algebra representation, i.e.

express it as a rotor, i.e. scalar plus bivector, i.e.

scalar plus quaternions. Then multiply the two rotors.

Finally convert back to the axis-plus-angle representation

that VRML likes. Each of these steps is quite straightforward.

The process is bulletproof, by which I mean there is no

danger of "gimbal lock" such as you might get in the Euler

angle representation, due to singularities at the poles.

For details, see

http://www.av8n.com/physics/rotations.htm#sec-vrml

If you like things reeeally explicit, here is the perl code

to carry out the calculation:

http://www.av8n.com/physics/rotations.htm#sec-rotmul

_______________________________________________

Phys-L mailing list

Phys-L@electron.physics.buffalo.edu

https://www.physics.buffalo.edu/mailman/listinfo/phys-l

**References**:**[Phys-L] Re: Area vector***From:*John Denker <jsd@AV8N.COM>

- Prev by Date:
**[Phys-L] Re: Area vector** - Next by Date:
**[Phys-L] Re: Fields etc** - Previous by thread:
**[Phys-L] Re: Area vector** - Next by thread:
**[Phys-L] Re: Area vector** - Index(es):