JS:将二维矩阵转换成另一个?
JS: convert 2D matrix into another?
我有一个二维矩阵,坐标系为 -1000 到 +1000 X/Y。
出于绘图目的,我想将其转换为另一个坐标系,其中 0,0 位于左上角。
知道怎么做吗?我知道如何对单个轴进行线性投影,但独立进行会产生失真,尤其是当原点矩阵不像目标矩阵那样真正是矩形时。
示例数据:
[{ "type": 2, "x": 201, "y": -201 }, { "type": 2, "x": 201, "y": -200 }, { "type": 2, "x": 201, "y": -199 }]
此处输入有关点性质的信息。
我本来想 post 更多代码,但我不知道数学运算是如何调用的...
您可以像这样将所有添加 +1000 的元素映射到 x 和 y
const data = [{ "type": 2, "x": 201, "y": -201 }, { "type": 2, "x": 201, "y": -200 }, { "type": 2, "x": 201, "y": -199 }]
const dataWithOrigin = data.map(({x, y, ...d}) => ({...d, x: x + 1000, y: y +1000}))
console.log(dataWithOrigin)
我有一个二维矩阵,坐标系为 -1000 到 +1000 X/Y。 出于绘图目的,我想将其转换为另一个坐标系,其中 0,0 位于左上角。 知道怎么做吗?我知道如何对单个轴进行线性投影,但独立进行会产生失真,尤其是当原点矩阵不像目标矩阵那样真正是矩形时。
示例数据:
[{ "type": 2, "x": 201, "y": -201 }, { "type": 2, "x": 201, "y": -200 }, { "type": 2, "x": 201, "y": -199 }]
此处输入有关点性质的信息。
我本来想 post 更多代码,但我不知道数学运算是如何调用的...
您可以像这样将所有添加 +1000 的元素映射到 x 和 y
const data = [{ "type": 2, "x": 201, "y": -201 }, { "type": 2, "x": 201, "y": -200 }, { "type": 2, "x": 201, "y": -199 }]
const dataWithOrigin = data.map(({x, y, ...d}) => ({...d, x: x + 1000, y: y +1000}))
console.log(dataWithOrigin)