Trimmed HMM_Rotate a bit further

This commit is contained in:
Kyle De'Vir
2016-06-08 00:37:07 +10:00
parent 46ce164880
commit b4eff02912

View File

@@ -804,18 +804,19 @@ HMM_Rotate(float Angle, hmm_vec3 Axis)
float SinTheta = sinf(HMM_ToRadians(Angle));
float CosTheta = cosf(HMM_ToRadians(Angle));
float CosValue = 1.0f - CosTheta;
Result.Elements[0][0] = (Axis.X * Axis.X * (1.0f - CosTheta)) + CosTheta;
Result.Elements[0][1] = (Axis.X * Axis.Y * (1.0f - CosTheta)) - (Axis.Z * SinTheta);
Result.Elements[0][2] = (Axis.X * Axis.Z * (1.0f - CosTheta)) + (Axis.Y * SinTheta);
Result.Elements[0][0] = (Axis.X * Axis.X * CosValue + CosTheta;
Result.Elements[0][1] = (Axis.X * Axis.Y * CosValue) - (Axis.Z * SinTheta);
Result.Elements[0][2] = (Axis.X * Axis.Z * CosValue) + (Axis.Y * SinTheta);
Result.Elements[1][0] = (Axis.Y * Axis.X * (1.0f - CosTheta)) + (Axis.Z * SinTheta);
Result.Elements[1][1] = (Axis.Y * Axis.Y * (1.0f - CosTheta)) + CosTheta;
Result.Elements[1][2] = (Axis.Y * Axis.Z * (1.0f - CosTheta)) - (Axis.X * SinTheta);
Result.Elements[1][0] = (Axis.Y * Axis.X * CosValue) + (Axis.Z * SinTheta);
Result.Elements[1][1] = (Axis.Y * Axis.Y * CosValue) + CosTheta;
Result.Elements[1][2] = (Axis.Y * Axis.Z * CosValue) - (Axis.X * SinTheta);
Result.Elements[2][0] = (Axis.Z * Axis.X * (1.0f - CosTheta)) - (Axis.Y * SinTheta);
Result.Elements[2][1] = (Axis.Z * Axis.Y * (1.0f - CosTheta)) + (Axis.X * SinTheta);
Result.Elements[2][2] = (Axis.Z * Axis.Z * (1.0f - CosTheta)) + CosTheta);
Result.Elements[2][0] = (Axis.Z * Axis.X * CosValue) - (Axis.Y * SinTheta);
Result.Elements[2][1] = (Axis.Z * Axis.Y * CosValue) + (Axis.X * SinTheta);
Result.Elements[2][2] = (Axis.Z * Axis.Z * CosValue) + CosTheta;
return (Result);
}