Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Vector to angles

This topic is 6475 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi all. I have defined a camera B-Spline path. I know the tangent vector is the velocity and the camera direction in some fraction time. Here is the question: How can I convert the tangent vector (x, y, z) to angles (pitch, yaw and roll)??. I tried with this but it doesn''t work correctly: void GetAnglesFromVector(D3DVECTOR *v, float *pitch, float *yaw, float *roll) { // pitch // first cuad. if(v->y > 0.0f && v->z > 0.0f) *pitch = acosf(v->z); // second cuad. if(v->y > 0.0f && v->z < 0.0f) *pitch = acosf(v->z); // third cuad. if(v->y < 0.0f && v->z < 0.0f) *pitch = acosf(v->z); // fourth cuad. if(v->y < 0.0f && v->z > 0.0f) *pitch = acosf(v->z); // yaw // first cuad. if(v->x > 0.0f && v->z > 0.0f) *yaw = acosf(v->x); // second cuad. if(v->x < 0.0f && v->z > 0.0f) *yaw = acosf(v->x); // third cuad. if(v->x < 0.0f && v->z < 0.0f) *yaw = acosf(v->x); // fourth cuad. if(v->x > 0.0f && v->z < 0.0f) *yaw = acosf(v->x); // roll // first cuad. if(v->x > 0.0f && v->y > 0.0f) *roll = acosf(v->x); // second cuad. if(v->x < 0.0f && v->y > 0.0f) *roll = acosf(v->x); // third cuad. if(v->x < 0.0f && v->y < 0.0f) *roll = acosf(v->x); // fourth cuad. if(v->x > 0.0f && v->y < 0.0f) *roll = acosf(v->x); } Do you know some better way to make this?? You can download the demo
  • Advertisement
    I dunno. This message board thing is screwed up!!!

    I wonder what happens to my message?

    TESTING, 123...
    ROW 1
    ROW 2
    ROW 3
    ROW 4
    ROW 5
    ROW 6
    ROW 7
    ROW 8
    ROW 9
    ROW 10

    Intriguing!

    /Memir

    Share this post


    Link to post
    Share on other sites
    I have the feeling that this message will appear on the R.H.S of my message...

    I guess theres only one way to find out!!!

    /Memir

    Share this post


    Link to post
    Share on other sites

    • Advertisement
    ×

    Important Information

    By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

    Participate in the game development conversation and more when you create an account on GameDev.net!

    Sign me up!