使用Javascript中的随机x和y坐标生成矩阵

时间:2013-09-25 10:51:30

标签: javascript canvas

我正在尝试生成矩阵。

矩阵的宽度和高度未知。

只有在过程结束时我才知道min(x,y)和max(x,y)

我需要像m 1 [2]那样访问矩阵而不是m [1,2]

每个元素都应保存一个对象。

如何在php中生成矩阵?

这是我到目前为止所做的,但我无法访问或保存数据,因为它会出错,因为height属性未知:

matrix[row][min_column].height;

image

我的代码:

var matrix = new Array();

for (i = lastDrawn.length - 1; i >= 0; i--) {

            ind++;
//            console.log(tile.x);
//            matrix[tile.x, tile.y] = 0;

            tile = lastDrawn[ i ];

            if (!matrix[tile.y])
                matrix[tile.y] = new Array();

            if (!matrix[tile.y][tile.x])
                matrix[tile.y][tile.x] = new Array();

            //calculare tile cu min x,y si max x,y pt viewport curent
            var size_x = Math.round(tile.size.x);//tile width
            var size_y = Math.round(tile.size.y);//tile height
            var position_x = tile.position.x;
            var position_y = tile.position.y;
            var min = OpenSeaDragonCustomSettings.save_viewport_min(tile.y, tile.x, size_x, size_y, position_x, position_y);
            var max = OpenSeaDragonCustomSettings.save_viewport_max(tile.y, tile.x, size_x, size_y, position_x, position_y);
            matrix[tile.y][tile.x] = {'x': tile.x, 'y': tile.y, 'width': size_x, 'height': size_y, 'position_x': position_x, 'position_y': position_y};//y:rand,x:coloana
            console.log(matrix[tile.y][tile.x]);

}

1 个答案:

答案 0 :(得分:1)

您创建“矩阵”的代码应该没问题。 消息Uncought TypeError: Cannot read property 'height' of undefined只是意味着您尝试访问的对象未定义,而不是属性... matrix[row][min_column]似乎未定义,只检查row和min_column,如果这些索引有效...