dsound: Implement AngleBetweenVectorsDeg as a call to AngleBetweenVectorsRad.
This commit is contained in:
parent
8d571e28f1
commit
545a774fcc
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue