REVIEWED: QuaternionFromAxisAngle() #1892
This commit is contained in:
parent
4e363b5479
commit
70ed52dd5d
1 changed files with 11 additions and 10 deletions
|
@ -1422,20 +1422,21 @@ RMDEF Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle)
|
||||||
Quaternion result = { 0.0f, 0.0f, 0.0f, 1.0f };
|
Quaternion result = { 0.0f, 0.0f, 0.0f, 1.0f };
|
||||||
|
|
||||||
if (Vector3Length(axis) != 0.0f)
|
if (Vector3Length(axis) != 0.0f)
|
||||||
|
{
|
||||||
|
angle *= 0.5f;
|
||||||
|
|
||||||
angle *= 0.5f;
|
axis = Vector3Normalize(axis);
|
||||||
|
|
||||||
axis = Vector3Normalize(axis);
|
float sinres = sinf(angle);
|
||||||
|
float cosres = cosf(angle);
|
||||||
|
|
||||||
float sinres = sinf(angle);
|
result.x = axis.x*sinres;
|
||||||
float cosres = cosf(angle);
|
result.y = axis.y*sinres;
|
||||||
|
result.z = axis.z*sinres;
|
||||||
|
result.w = cosres;
|
||||||
|
|
||||||
result.x = axis.x*sinres;
|
result = QuaternionNormalize(result);
|
||||||
result.y = axis.y*sinres;
|
}
|
||||||
result.z = axis.z*sinres;
|
|
||||||
result.w = cosres;
|
|
||||||
|
|
||||||
result = QuaternionNormalize(result);
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue