javascript中的翻译矩阵

时间:2015-08-20 08:51:33

标签: javascript arrays matrix iteration

我在javascript中有一个翻译矩阵,我似乎无法工作。如果我有一个矩阵,我可以使用我使用的方法访问不同的级别,但是当我尝试将它与另一个矩阵相乘时,我得到一个错误:内部错误设置变量。感谢您的评论。

function funct(number, number1) {
    var matrixATranslate = new Array();
    var matrixBTranslate = new Array();
    var matrixCTranslate = new Array();

    var matrixATranslate = [
        [1, number, 0, number1],
        [number1, 1, 0, 0],
        [0, 0, 0, 0]
    ];

    var matrixBTranslate = [
        [number],
        [number1],
        [0],
        [1]
    ];

    var row = 3, col = 4, add = 4;
    for (var i = 0; i < row; i++) {
        for (var j = 0; j < col; j++) {
            var sum = 0;
            for (var k = 0; k < add; k++) {
                sum += matrixATranslate[i, k] * matrixBTranslate[k, j];
            }
            matrixCTranslate[i, j] = sum;
        }
    }
    Vars.transformedPoint.x = matrixCTranslate[0][0];
    Vars.transformedPoint.y = matrixCTranslate[0][0];
    return Vars.transformedPoint;
}

Vars.transformedPoint = funct(10, 20);

1 个答案:

答案 0 :(得分:0)

这里有工作代码。

var matrixATranslate = new Array();
var matrixBTranslate = new Array();
var matrixCTranslate = new Array();

for(var i = 0; i < 4; i++) {
    for(var j = 0; j < 4; j++) {
        matrixCTranslate[i,j] = [ ];
    }
}

var matrixATranslate = [
[5,6,7,8],
[10,20,30,40],
[100,200,300,400]
];

var matrixBTranslate = [5,6,7,8];

matrixCTranslate[0][0]=matrixATranslate[2][3] * matrixBTranslate[0,0];
var varA=matrixCTranslate[0,0];
console.log(varA)