Questions tagged [quaternion]
Mathematical constructions, number systems. In 3D-graphics quaternions are used alongside vectors and matrices. One of the benefits of quaternions is that they overcome some rotational problems (known as gimbal locks) that are inherent to vectors and matrices.
387
questions
33
votes
6
answers
67k
views
Rotating vector3 by a quaternion
I am attempting to rotate a vector3 by a given quaternion.
I know that this is true
$$ v' = q \cdot v \cdot q^{-1} $$
I know that \$ q^{-1} \$ is the inverse which just \$ \frac {-q} {magnitude(q)} ...
30
votes
1
answer
18k
views
Orienting a model to face a target
I have two objects (target and player), both have Position (Vector3) and Rotation (Quaternion). I want the target to rotate and be facing right at the player. The target, when it shoots something ...
26
votes
2
answers
6k
views
Using Quaternions: What can I do with them? (without the maths)
I am a Game Developer and did not study Mathematics. So I only want to use Quaternions as a tool. And to be able to work with 3D rotation, it's necessary to use Quaternions (Or Matrixes, but let's ...
25
votes
6
answers
21k
views
How can you visualize a quaternion?
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?
18
votes
4
answers
11k
views
How to keep my Quaternion-using FPS camera from tilting and messing up?
I am using an FPS-like camera, and it uses quaternions. But, whenever I try looking up and then sideways, it tilts, and sometimes it can turn upside down. How can I fix this?
17
votes
0
answers
1k
views
How can I compute a Jacobian matrix with dual quaternions? [closed]
I'm trying to understand an inverse kinematics algorithm realized with dual quaternions as presented here.
My Jacobian matrix, however, seems to be calculated wrong. Could somebody explain, step-by-...
16
votes
2
answers
15k
views
How can I rotate about an arbitrary point in 3D (instead of the origin)?
I have some models that I want to rotate using quaternions in the normal manner, except instead of rotation about the origin, I want it to be offset slightly. I know that you don't say, in 3d space, ...
15
votes
2
answers
3k
views
Why do people use quaternions?
I have been using them as a black box for a while, I'm just learning about of the maths but I'd just like some definitive answers to this question.
So far the only benefit I've come across personally ...
15
votes
1
answer
8k
views
Quaternions and rotation around world axis
Disclaimer: I am a professional games programmer, and use quaternions most days but they are close to black magic to me. I am relatively at home with math but imaginary numbers always confused me. I ...
14
votes
6
answers
16k
views
Math topics for 3D graphics programming [closed]
I understand that the following math topics are required for 3D graphics programming. I have started doing some of them in my math course. Can someone point me in the direction of a resource that ...
14
votes
3
answers
10k
views
How do I implement a quaternion based camera?
UPDATE The error here was a pretty simple one. I have missed a radian to degrees conversion. No need to read the whole thing if you have some other problem.
I looked at several tutorials about this ...
13
votes
2
answers
6k
views
Arbitrary Rotation about a Sphere
I'm coding a mechanic which allows a user to move around the surface of a sphere. The position on the sphere is currently stored as theta and ...
11
votes
1
answer
2k
views
Moving an Object along a Curve while Rotating it
I woud like to move an object along a curve. At particular points on the curve, I wish the object to change speed and rotate itself along its axis.
Imagine an airplane flying to a destination. It has ...
10
votes
1
answer
9k
views
Is adding quaternions a useful operation?
I'm working with quaternions and 4x4/3x3 matrices and I have a doubt regarding the use of them.
I think that adding and multiplying quaternions is the same as converting the quaternion to a matrix, ...
9
votes
3
answers
666
views
Slerping rotation mirrors
I rotate my game character to watch at the target using the following code:
...
8
votes
2
answers
4k
views
Method for interpolation between 3+ quaternions?
I'm currently using spherical linear interpolation (slerp) to interpolate between two quaterions with a weighted value. But, I'm having a difficult time coming up with a method to interpolate between ...
8
votes
3
answers
2k
views
Routes on a sphere surface - Find geodesic?
I'm working with some friends on a browser based game where people can move on a 2D map. It's been almost 7 years and still people play this game so we are thinking of a way to give them something new....
8
votes
2
answers
4k
views
Calculating a quaternion so a bone points in a specified direction
In an attempt to solve this question, I decided to figure out the absolute (world space) directions of each joint in the source pose (as normalized unit vectors), and then rotate the joints of the ...
7
votes
4
answers
2k
views
Why not use vectors to represent orientation?
From what I've read, people mostly use either quaternions or 3x3 matrices to represent 3D orientations, while plain vectors are used for angular velocity/momentum.
Since we can use vectors to ...
7
votes
4
answers
18k
views
Applying angular velocity to quaternion
I am reading Game Physics Engine Development by Ian Millington currently. In his book, he represent an orientation of rigid body by quaternion. I don't understand the formula where he apply angular ...
7
votes
2
answers
9k
views
How do I correctly use dual quaternions for rotation and translation of an object?
Up until now I've handled a given object's rotation and translation separately using normal quaternions for rotation and vectors for translation. However I'd like to use dual quaternions to handle ...
6
votes
2
answers
29k
views
Rotating an object with quaternion
I have a question in regards to using quaternions for the rotation of my graphics object.
I have a Transform class which has the following constructor with default ...
6
votes
3
answers
3k
views
Problem representing torque as a quaternion
Euler angles are much more intuitive to me than quaternions for representing 3-dimensional rotations. In fact, I barely understand quaternions at all. I use quaternions for rotation because people ...
6
votes
2
answers
7k
views
Switch axes and handedness of a quaternion?
I have a quaternion, coming from a system with the following:(intertial sensor)
...
6
votes
1
answer
4k
views
Inertia Tensor and World Coordinate conversion
I understand that the inertia tensor is basically a 3x3 matrix. I'm modelling a cube, and the inertia tensor for this shape has values for moment of inertia on the main diagonal of the matrix. All the ...
6
votes
2
answers
2k
views
Walking on a sphere
I'm working on a game which involves walking your character on the surface of a sphere. Using the answer to Arbitrary Rotation about a Sphere, I've written my code as:
...
6
votes
1
answer
4k
views
Quaternion Look At with Up vector
I have implemented a "look at" method for my screen elements and it almost works how I want it to work.
The ScreenElement class uses a R3 Vector and a Quaternion to determine the position and ...
6
votes
2
answers
1k
views
How do I extract a translation vector from a dual quaternion?
I'm trying to do some things with rigid body dynamics using dual quaternions (these are not the same thing as normal quaternions!) and I'm so close to getting things to work. The problem I'm having is ...
5
votes
2
answers
10k
views
Unity Quaternion.LookRotation meaning
I've gone through Unity's documentation for Quaternion.LookRotation, but I didn't get the full understanding of how it works.
What is the meaning of Creates a rotation with the specified ...
5
votes
2
answers
15k
views
How can obtain the relative orientation between two quaternions?
How do I obtain the relative orientation given two orientations (represented by quaternions q0 and q1)?
5
votes
1
answer
2k
views
Rotations and angular velocity
I'm new to 3D-game programming and I'm having some trouble making objects rotate the way I want them to. I just read Glenn Fiedler's tutorials on game physics, awesome stuff by the way! (http://...
5
votes
2
answers
2k
views
Quaternion Rotate / Un-Rotate Error
I'm trying to un-rotate a quaternion, aligning it with the axis, and then rotate it back to where it was originally.
But with every iteration it seems to lose precision and just after 20 iterations ...
5
votes
2
answers
2k
views
How to derive euler angles from matrix or quaternion?
Currently working on steering behavior for my AI and just hit a little mathematical bump.
I'm in the process of writing an align function, which basically tries to match the agent's orientation with ...
5
votes
1
answer
1k
views
Does converting quaternion to matrix cause a lot of overhead?
This is related to rendering creating a model, view, projection matrix for opengl. While matrix are fairly standard there's a lot of talk about using quaternions for rotations but why would u go from ...
5
votes
1
answer
974
views
Correct way to integrate scaled axis angular velocity into a quaternion
Across my travels on the internet I have came across two different ways of integrating a scaled axis angular velocity into a quaternion.
The first way converts the angular velocity into an axis angle ...
4
votes
1
answer
732
views
Why game engines usually don't offer a vector3.rotate method? [closed]
Game engines like Three.js, Ogre3d and Unity3d often don't provide a default rotate method on their vector class. You usually have to do something like:
...
4
votes
2
answers
2k
views
Rotating voxels in 3d space amongst the x axis
I have a very simple voxel engine and so far it works based on coordinates, e.g. x, y, z. I was wondering if there is a formula for rotating groups of voxels/coordinates from the x axis(e.g. [0, 1, 0][...
4
votes
2
answers
20k
views
Direction vector to quaternion
I have a unit vector (direction) which represent a rotation around Y axis,
and would like to turn this into a quaternion to represent the same rotation.
I use GLM library, but interested any library ...
4
votes
1
answer
735
views
D3DXMatrixDecompose gives different quaternion than D3DXQuaternionRotationMatrix
In trying to solve this problem, I tracked down the problem to the conversion of the rotation matrix to quaternion. In particular, consider the following matrix:
...
4
votes
2
answers
7k
views
Quaternion Rotation - Clockwise or Counter-Clockwise?
when we specify a Quaternion as (axis of rotation, rotation amount), in which 'direction' is the rotation, assuming we are looking down the rotation axis (i.e. ...
4
votes
1
answer
1k
views
Unity's Quaternion.Lerp slows down when target is directly behind turret
Software: Unity v5.2.1f1 Personal
I am trying to achieve the effect of a turret in Unity. For this I have a turret consisting of 3 parts as well as a target. The problem is that whenever the target ...
4
votes
2
answers
2k
views
Matrix interpolation for animation blending
I use the XNA Animation Component library to perform blending between animations. It uses spherical linear interpolation between matrices.
In most cases this works without problems. However, I have ...
4
votes
1
answer
5k
views
Convert rotation from Right handed System to left handed
I have Euler angles from a right handed system that I am trying to convert to a left handed system. All the information that I have read online says that to convert it simply multiply the axis and ...
4
votes
2
answers
8k
views
Rotation matrix derived from quaternion is opposite of expected direction
When I calculate a rotation matrix from a quaternion, it seems to be in the opposite direction. For instance:
For a rotation of +45 degrees about the Y-axis, I would expect to get the following ...
4
votes
1
answer
3k
views
How can I restrict the rotation of an object to a subset of axes using quaternions?
I've got a question about quaternions in my WebGL application.
How can I rotate an object only around two axes? For example, how can I exclude/nullify rotation about the Y axis?
The problem is that ...
4
votes
1
answer
420
views
Why do these quaterion multiplications produce different results?
I am trying to use quaterions to modify the camera direction vector.
This code works perfectly:
...
4
votes
1
answer
3k
views
Why is my model rotating opposite direction around the Y axis?
I have a simple scenario. I have a simple scene, and in it I'm drawing a grid and a model, with some axis for orientation.
I noticed when I rotate the model about it's local Y axis, if I rotate the ...
4
votes
1
answer
569
views
Limit/Clamp camera movement using quaternions
I'm making a camera object for rendering with OpenGL. However, instead of using the typical "LookAt" method I'm trying to use just a Quaternion for orientation and a Vector3 for position. Instead of ...
4
votes
3
answers
2k
views
How do I create a view matrix directly from a quaternion and a position vector?
Given a quaternionic camera such that:
...
4
votes
1
answer
9k
views
glm direction vector rotation
I'm working on a flight simulator, but I'm stuck with my airplane orientation. I tried some things but noone worked correctly. This is what I have :
To be able to move it and roll it around himself, ...