예제 #1
0
Quaternion Quaternion_fromAxisAngle(Vector axis, float angle) {
	Quaternion quaternion;
	float sinAngle;
	
	angle *= 0.5f;
	Vector_normalize(&axis);
	sinAngle = sin(angle);
	quaternion.x = (axis.x * sinAngle);
	quaternion.y = (axis.y * sinAngle);
	quaternion.z = (axis.z * sinAngle);
	quaternion.w = cos(angle);
	
	return quaternion;
}
예제 #2
0
int Vector3f_unit (Vector3f *v)
{
	CHECK_VECTOR3F(v);

	return Vector_normalize (v);
}
int EulerAngles_unit (EulerAngles *e)
{
	CHECK_EULERANGLES(e);

	return Vector_normalize (e);
}