Beispiel #1
0
BOOL are_parallel(const LLVector4 &a, const LLVector4 &b, F32 epsilon)
{
	LLVector4 an = a;
	LLVector4 bn = b;
	an.normalize();
	bn.normalize();
	F32 dot = an * bn;
	if ( (1.0f - fabs(dot)) < epsilon)
		return TRUE;
	return FALSE;
}
Beispiel #2
0
F32 angle_between( const LLVector4& a, const LLVector4& b )
{
	LLVector4 an = a;
	LLVector4 bn = b;
	an.normalize();
	bn.normalize();
	F32 cosine = an * bn;
	F32 angle = (cosine >= 1.0f) ? 0.0f :
		(cosine <= -1.0f) ? F_PI :
		acos(cosine);
	return angle;
}