in reply to Perl and Quaternions

Uff, that's not the usual quaternion!

The best way to do trigonometric operations with a computer is to convert between degrees and radians on the input/output layer and internally, on your program, use always radians.

Also, in order to manipulate 2D coordinates, using vector arithmetic would greatly simplify everything. For instance, check Math::Vector::Real.

Replies are listed 'Best First'.
Re^2: Perl and Quaternions
by AppleFritter (Vicar) on May 08, 2014 at 09:50 UTC

    Uff, that's not the usual quaternion!

    Actually, it is; quaternions are often used to represent rotations.

      Oh, ok, I got confused because of the X, Y names. 2D and 3D coordinates are promoted to quaternions as {0, x, y, z} and seeing {x, 0, 0, y} didn't feel right!

      In any case, for 2D rotations, quaternions are overkill. You can just use complex numbers.