Sign up ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

When I visualise a three dimensional rotation matrix, or scaling matrix I visualize it as three axes.

Is there a similar way that I can visualize a rotation quaternion?

share|improve this question
It isn't really a visualization, but someone once put it to me as "complex numbers : 2 :: quaternions : 4" –  coderanger Oct 26 '10 at 6:43

6 Answers 6

up vote 18 down vote accepted

There is an entire 600 page book on "Visualizing Quaternions":

The book is actually quite good, covering a wide range of topics. It starts with a good introduction to game related linear algebra, it talks about matrices and vectors, their shortcomings and why you would want to use Quaternions. It then explains what they are and how to make use of them. If you are interested you might want to pick it up:

share|improve this answer
+1 for "Visualizing Quaternions", its a great book, have it too, highly recommended –  Maik Semder Sep 20 '11 at 10:09
While a nice book, if that link ever goes bad, this answer will be completely useless. I suggest you provide some information in your answer about how to visualize quaternions as well. –  Byte56 Feb 21 at 15:59

I visualize my quaternions as three-dimensional vectors (direction + length) with a bit to the side to be able to show rotation along the vector's axis.

It's a common way to visualize rotation vector in physics, but the name escapes me.

share|improve this answer
Angle-axis rotation? –  CiscoIPPhone Oct 25 '10 at 7:14

You do not necessarily need an alternate visualization technique for quaternions versus matrices.

When you visualize your rotation matrix as the 3 axes gizmo, what you're really visualizing is an orientation. Since the quaternion also represents an orientation, consider continuing to use your 3 axes gizmo as your mind's eye visualization object.

Rarely, for both quaternions or matrices, do you need to relate the actual component values into your visualization, so just because the component values of the quaternion do not relate to your 3 axes gizmo doesn't mean it can't be used for visualization purposes.

share|improve this answer

One of the visualization methods I like is to represent quaternion (orientation in 3d space) as vector (x,y,z components) + spin (the rotation around that vector, stored in w component).

If you are looking for some online visualizer for quaternions, you can always use wolframalpha:

Take the a look at the visualization labeled as "corresponding 3d rotation" (the 3d vector + spin):

enter image description here

I've found it useful while working with quaternions in my 3d engine.

share|improve this answer
Spot-on answer! This way, people can also understand the SLERP mechanism because they can picture quaternions on a 3D sphere, while the spin can be seen as the scalar rotation motion by that vector (guess it's something similar to what some mathematicians call a rotor -> ). –  teodron Feb 21 at 11:16

You can, but it becomes difficult. Instead of three separate axis of rotation, or three gimbals that are each moving independently one at a time, you have to picture a quaternion as a description of the full three dimensional rotation angle and the magnitude at once as a single description of the entire translation.

Quaternions are definitely not an area I'm rock solid on, but that wiki page has some decent info on it. Wikipedia talks about rotations on a hypersphere though, gets a little confusing. Good luck!

share|improve this answer

As you know, Quaternion is based on complex numbers and represents rotation of 4D sphere in 4D dimension. So you cannot visualize it 'as is'. I see that you know it too. And one and only one choice will be visualization of result of rotation. For example result of rotation of basis; Or you can render 3D sphere and paint it by layered 'temperature' of rotation by each axis; Good luck!

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.