# Tag Info

## Hot answers tagged quaternion

Accepted

### Using Quaternions: What can I do with them? (without the maths)

Multiplication At least in terms of Unity's implementation of Quaternions, the multiplication order described in the question is not correct. This is important because 3D rotation is not commutative. ...
• 117k

### Using Quaternions: What can I do with them? (without the maths)

Where's the dot product used? In Unity, one of the most common users of the dot product is whenever you check if two quaternions are equal via == or ...
• 601

### Rotating an object with quaternion

You should probably use glm::angleAxis() (documentation here): ...
• 23.5k

### How can you visualize a quaternion?

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 ...
• 930
Accepted

### Is adding quaternions a useful operation?

I can think of two reasons: if your quats represent infinitesimal rotations, adding them together actually yields the composite rotation, provided the result is infinitesimal too (i.e. an element of ...
• 3,231

### Switch axes and handedness of a quaternion?

To convert the Quaternion, we need to convert the imaginary part (xyz) which represents the axis of rotation into the destination coordinate system. In this case, that means exchanging x & y while ...
• 117k

### How to express and verify euler rotation limits in Unity

Euler angles aren't necessarily a good way of expressing limits over arbitrary ranges, as their behaviour close to zero is very different from their behaviour away from zero. Below I've visualized ...
• 117k
Accepted

### Direction vector to quaternion

From http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/ ...
• 3,699
Accepted

### Converting a quaternion in a right to left handed coordinate system

A quaternion can be thought of as an angle-axis representation: quaternion.xyz = sin(angle/2) * axis.xyz quaternion.w = cos(angle/2) So, converting them between ...
• 117k
Accepted

### Unity - Quaternion - Rotate / Unrotate Error

This is a late response, but I figured this question illustrates a common problem that many people are likely to run into and that deserves an answer. Quaternion rotation uses half the angle you want ...
• 166
Accepted

### Quaternion rotation problems

"Is it wrong that I am counting total rotation and then creating [a] quaternion from it?" Yes, because rotations do not combine like simple addition. (In mathematical terms, rotations in three ...
• 117k
Accepted

### Unwanted roll when rotating camera with pitch and yaw

As I explained above, this is not an issue with quaternions. Quaternions just represent your rotation. The problem is that you have mutually conflicting goals for this rotation: The camera can look ...
• 117k

### Combining Quaternion Rotations

Multiplying two quaternions gives you a quaternion equivalent to performing the two rotations they represent in sequence. ...
• 117k
Accepted

### Rotating an object with quaternion

the glm::quat(float, float, float, float); constructor doesn't do what you think it does. It sets the values directly. The values of the quaternion ...
• 6,933
Accepted

### Explaining vector math for a pendulum camera

The three component vectors right, up, and forward probably point along the axes ...
• 5,454
Accepted

### Quaternion Rotation - Clockwise or Counter-Clockwise?

It depends on the coordinate system you're working in. In a right-handed coordinate system (eg. x right, y up, z points toward the viewer), the right-hand rule applies, as mklingen describes in the ...
• 117k
Accepted

### Unity's Quaternion.Lerp slows down when target is directly behind turret

Taking a look at your barrel rotation function... ...
• 117k
Accepted

### LookRotation() make X axis face the target instead of Z

I've answered a few flavours of this before. The basic idea is to chain together two rotations: one that takes the axes you want to align and points them along z+ and y+ respectively, and then the ...
• 117k

### Convert quaternion to a different coordinate system

Summarizing your two coordinate spaces: ...
• 117k
Accepted

### Rotate from Current Rotation to Another using Angular Velocity

"maybe due to the gimbal nature of Vector3 for angular velocity" ...using Vector3 for angular velocity does not entail gimbals, but converting it to Euler angles does. Angular velocity is not an ...
• 117k
Accepted

### How to smooth rotations?

Yes, in fact that's what quaternions are often used for - interpolating between two different orientations. Other methods of representing orientation suffer from issues like gimbal lock and wrap-...
• 14.6k

### GLM conversion from euler angles to quaternion and back does not hold

The results are not what you expect, but they are not wrong. It’s just that for a given orientation there are at least two “paths” through Euler angles that lead there. For instance, the identity ...
• 23.5k
Accepted

### Euler angle and Quaternion conversion become weird when yaw is bigger than 90 degrees

Your current code assumes it's always going to get Euler angles where x is between ±90° and z is close to 0. Meanwhile, glm wants to return Euler angles that are standardized so that y is between ±90°,...
• 117k

### Does gimbal lock occur only when a combination of local and world rotation axis are used?

Gimbal lock occurs when your internal structure for storing/composing rotations uses a gimbal model: Image via Wikipedia, attributed: "By Lookang many thanks to Fu-Kwun Hwang and author of Easy ...
• 117k
Accepted

### Understanding how to use Quaternion to rotate object

Explaining why quaternions work the way they do and their relation to mainstream linear transformation rotations would require some more advanced mathematics knowledge regarding group theory and how ...
• 328
Accepted

### How does Unity know where the character is facing?

It doesn't know. What it does is point the local z axis of the object (that's the blue arrow you see in the scene view when selecting its local transform gizmo) in the ...
• 117k
Accepted

### How to compute the forward, up and right vectors from a single quaternion?

You can simply apply the quaternion to the (0,1,0) (0,0,-1) and (1,0,0) vectors for up forward and ...
• 6,933

### Quaternion Rotation Help

I'd expect the conversion to be more like: ...
• 6,933