【发布时间】:2016-12-10 17:11:32
【问题描述】:
我需要创建一个用于旋转项目的旋转函数,它几乎可以在尝试执行 -sin 时起作用。 似乎没有允许这样做的功能。
Matrix.createRotation = function (rotation) {
return new Matrix(Math.cos(rotation), Math.sin(rotation), 0,
Math.sin(rotation), Math.cos(rotation), 0, 0, 0, 1);
};
【问题讨论】:
-
(-1) * Math.sin(rotation)这样的东西怎么样?那不应该工作吗?如在函数中应该是这样的,return new Matrix(Math.cos(rotation), (-1) * Math.sin(rotation), 0, Math.sin(rotation), Math.cos(rotation), 0, 0, 0, 1); -
是的,你是对的,它确实有效。
-
在您的示例中,您甚至没有否定
Math.sin(rotation)的结果。它应该是-Math.sin(rotation)- 它比乘以-1更快。如果你不否定sin(rotation)的结果,你怎么期待-sin(rotation)?
标签: javascript matrix rotation linear-algebra