jPCT - a 3d engine for Java > Bugs
Matrix.rotateX rotates clockwise
Emmanuel:
Hello,
Thanks for your work. I think I might have encountered a misleading method description. Indeed the doc says rotateX creates a counter-clockwise rotation for positive angles but it appears to create a clockwise rotation matrix.
How you can test:
--- Code: ---Matrix mat = new Matrix();
mat.rotateX((float)Math.PI/2);
Logger.Log(mat.ToString());
--- End code ---
You get the matrix:
1 0 0 0
0 0 -1 0
0 1 0 0
0 0 0 1
Which sends (0 1 0 0) to (0 0 -1 0). (I'm assuming row vectors)
Which corresponds to clockwise
EgonOlsen:
I think you are right. I'll change the docs for the next release.
Emmanuel:
Thanks for the quick response.
BTW, I believe rotateY and rotateZ also have the same problem.
EgonOlsen:
Thinking about this again, i think that the docs are correct. (0 1 0 0) to (0 0 -1 0) means that a vector pointing down now points to the front which is, when viewed along the x-axis, a counter clockwise rotation, isn't it?
Emmanuel:
I have to disagree going from (0 1 0 0) to (0 0 -1 0) is clockwise. (I am "looking" from positive X)
Navigation
[0] Message Index
[#] Next page
Go to full version