从矩阵接收旋转

时间:2015-05-20 11:45:36

标签: javascript matrix

如何从矩阵中获得转弯度? 例如:  有一个矩阵[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]。  它在x轴上旋转90度。  如何从矩阵接收这些最90度? javascript代码:

var a=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];
function rotateX(m, angle)
{
    var c = Math.cos(angle);
    var s = Math.sin(angle);
    var mv1 = m[1], mv5 = m[5], mv9 = m[9];
    m[1] = m[1] * c - m[2] * s;
    m[5] = m[5] * c - m[6] * s;
    m[9] = m[9] * c - m[10] * s;
    m[2] = m[2] * c + mv1 * s;
    m[6] = m[6] * c + mv5 * s;
    m[10] = m[10] * c + mv9 * s;
}
rotateX(a,90);
console.log(a);

1 个答案:

答案 0 :(得分:0)

如果m[1]m[2]模拟一个点,那么你就是大致正确的。

您遇到的唯一问题是您假设Math.cosMath.sin接受中的角度。它们没有:您需要以弧度提供单位。

要将角度从度数转换为弧度,请乘以Pi然后除以180.将该值提供给三角函数。