Rotation Angles for 3D Vector

  • Thread starter 112358
  • Start date
  • #1
1
0
Hello folks!

So, I'm working on a java applet where I want to rotate an object to point in the direction that it is moving. I have its velocity stored as a 3D vector (x,y,z) and I am using a 3D library that allows for rotation on any axis (x,y, or z).

It's my understanding that I need to calculate the Euler angles for rotation along all 3 axes. I've found a lot of help online for calculating Euler angles from a rotation matrix. My issue is that I don't have a rotation matrix, i just have the velocity vector of the object. Can anyone help me understand how to calculate rotation angles from a 3D vector? Do I need to first calculate a rotation matrix and then calculate Euler angles?

My pseudo-code for what I am attempting is as follows:

angle1 = getXRotation(velocity);
angle2 = getYRotation(velocity);
angle3 = getZRotation(velocity);

translate(location)
rotateX(angle1)
rotateY(angle2)
rotateZ(angle3)
draw object!

Thanks all!!
 

Answers and Replies

  • #2
486
0
Try to search quaternion, SU(3), unit complex number, etc. Quaternion may help you to simplify a lot of calculation.
 

Related Threads on Rotation Angles for 3D Vector

  • Last Post
Replies
2
Views
323
  • Last Post
Replies
1
Views
6K
Replies
1
Views
600
Replies
2
Views
686
  • Last Post
Replies
6
Views
4K
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
9
Views
3K
  • Last Post
Replies
2
Views
4K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
7
Views
12K
Top