SharpDX.Quaternion Multiply method #333
Comments
Can you please provide more details? Maybe some links, unit tests or some reference implementation? The formulas here, here, here and here seem to match the SharpDX implementation, therefore I am not sure if it is incorrect. Also this code:
Produces the result Based on the description above, I am closing this bug. I will be happy to reopen it and integrate a fix if you will provide arguments that I am wrong. |
Sorry, I provide more my evidence. I think the current code is maybe right-hand coordinate. The monoxna and euclideanspace(here) are right-hand. And I tested by the following code.
Vector (0, 0, 1) rotetes Y-90 degree and Z-90 degree, the result should be Vector (0, 1, 0). Case1 result (1, 0, 0) is incorrect. Thank you. |
SharpDX.Quaternion Multiply two quaternion method is incorrect.
line 445-447
Current (incorrect):
float a = (ly * rz - lz * ry);
float b = (lz * rx - lx * rz);
float c = (lx * ry - ly * rx);
Correct:
float a = (lz * ry - ly * rz);
float b = (lx * rz - lz * rx);
float c = (ly * rx - lx * ry);
The text was updated successfully, but these errors were encountered: