Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Rotation Angles for 3D Vector

  1. Nov 29, 2006 #1
    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);

    draw object!

    Thanks all!!
  2. jcsd
  3. Nov 30, 2006 #2
    Try to search quaternion, SU(3), unit complex number, etc. Quaternion may help you to simplify a lot of calculation.
  4. Nov 30, 2006 #3
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook