- #1
112358
- 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!
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!