我使用 sylvester.js 将单位矩阵乘以 90 度旋转矩阵 (1.57079633 rad),并将结果应用于 css 变换 matrix3d 属性。
单位矩阵:
var identityMatrix = $M([
[1,0,0,0],
[0,1,0,0],
[0,0,1,0],
[0,0,0,1]
]);
旋转矩阵:
var rotationYMatrix = $M([
[Math.cos( 1.57079633), 0, Math.sin(1.57079633),0],
[0,1,0,0],
[Math.sin(-1.57079633), 0, Math.cos(1.57079633), 0],
[0,0,0,1]
]);
我第一次乘法一切顺利,飞机按预期顺时针旋转 90 度(0-90)。但是当我再次相乘时,它需要从 90 到 180 逆时针方向最长的路径。我做错了什么?代码在这里http://jsfiddle.net/W5Ks8/81/ - 只需单击一次按钮,等待动画停止并再次单击。
我已经阅读了这个chrome 问题,也许它适用于我的情况,但在我的场景中,我需要使用 css matrix3d 并且一些解决方案/建议(即使它很脏)将不胜感激。