dsound: Implement AngleBetweenVectorsDeg as a call to AngleBetweenVectorsRad.

This commit is contained in:
Maarten Lankhorst 2007-11-09 20:12:09 +01:00 committed by Alexandre Julliard
parent 8d571e28f1
commit 545a774fcc
1 changed files with 7 additions and 19 deletions

View File

@ -102,23 +102,6 @@ static inline D3DVALUE RadToDeg (D3DVALUE angle)
return newangle;
}
/* angle between vectors - deg version */
static inline D3DVALUE AngleBetweenVectorsDeg (const D3DVECTOR *a, const D3DVECTOR *b)
{
D3DVALUE la, lb, product, angle, cos;
/* definition of scalar product: a*b = |a|*|b|*cos...therefore: */
product = ScalarProduct (a,b);
la = VectorMagnitude (a);
lb = VectorMagnitude (b);
cos = product/(la*lb);
angle = acos(cos);
/* we now have angle in radians */
angle = RadToDeg(angle);
TRACE("angle between (%f,%f,%f) and (%f,%f,%f) = %f degrees\n", a->x, a->y, a->z, b->x,
b->y, b->z, angle);
return angle;
}
/* angle between vectors - rad version */
static inline D3DVALUE AngleBetweenVectorsRad (const D3DVECTOR *a, const D3DVECTOR *b)
{
@ -129,11 +112,16 @@ static inline D3DVALUE AngleBetweenVectorsRad (const D3DVECTOR *a, const D3DVECT
lb = VectorMagnitude (b);
cos = product/(la*lb);
angle = acos(cos);
TRACE("angle between (%f,%f,%f) and (%f,%f,%f) = %f radians\n", a->x, a->y, a->z, b->x,
b->y, b->z, angle);
TRACE("angle between (%f,%f,%f) and (%f,%f,%f) = %f radians (%f degrees)\n", a->x, a->y, a->z, b->x,
b->y, b->z, angle, RadToDeg(angle));
return angle;
}
static inline D3DVALUE AngleBetweenVectorsDeg (const D3DVECTOR *a, const D3DVECTOR *b)
{
return RadToDeg(AngleBetweenVectorsRad(a, b));
}
/* calculates vector between two points */
static inline D3DVECTOR VectorBetweenTwoPoints (const D3DVECTOR *a, const D3DVECTOR *b)
{