PDA

View Full Version : Calculating triangle angle




TodVader
Aug 15, 2009, 11:20 AM
Hi. I'm not too sure about the technical words since I speak french but I have a rectangle triangle (with a 90degree angle).

I know both sides (x,y) so to get the hypothenuse, I did this:

float hyp = sqrt((difX * difX) + (difY * difY));

Now, to get the angle I want, I did this:

float rocketAngle = acos(difX/hyp); // difX/hyp should give me the cos of my angle.

I don't understand why it doesn't work. I apply a rotation to my missile with the angle of rocketAngle and it stays straight. My rotation code works if I test it with a static number.

This is done with OpenGL btw.



-aggie-
Aug 15, 2009, 11:24 AM
Not sure how you're using the rocket angle, but it's probably a degrees to radians issue. acos gives the angle in radians.

TodVader
Aug 15, 2009, 11:27 AM
Nice! Thankyou, that is probably the problem right there. I will go try this.

PhoneyDeveloper
Aug 15, 2009, 11:28 AM
That's called a right triangle.

The c library math functions work with radians, not degrees.

TodVader
Aug 15, 2009, 11:31 AM
Thankyou for the clarification. In french its a "Triangle rectangle"

Btw, this worked perfectly, I can now move on to different things.

Thanks for the help!

I just did (Radian*180)/PI

-aggie-
Aug 15, 2009, 11:33 AM
Thankyou for the clarification. In french its a "Triangle rectangle"

Btw, this worked perfectly, I can now move on to different things.

Thanks for the help!

Glad to help. I thought of writing my response en francais, but then no one else would know what I wrote. :)

Au revoir!