将负多边形转换为正坐标 - Javascript

Convert negative polygons to positive coordinates - Javascript

我想让我的分数 (x, y) 始终为正值。

我有一个包含这些值的数组:

(points) [-916, 214, 10, 214, 10, 362, 200, 362, 200, 764, -916, 764]
            X    Y    X   Y    X   Y    X    Y    X    Y     X    Y

是否有算法可以将这些点移动到它们的原点,使坐标始终保持正值?

您可以先获取 xy 的最小值,然后使用更正映射一个新数组。

Minimum values

[-916, 0]

Conversion

[-916,  214,   10,  214,   10,  362,  200,  362,  200,  764, -916,  764] original
[   0,  214,  926,  214,  926,  362, 1116,  362, 1116,  764,    0,  764] updated

var data = [-916, 214, 10, 214, 10, 362, 200, 362, 200, 764, -916, 764];
    min = [0, 0];
    
data.forEach(function (v, i) {
    if (v < min[i % 2]) {
        min[i % 2] = v;
    }
});

console.log(min);
console.log(data.map(function (v, i) {
    return v - min[i % 2];
}));
.as-console-wrapper { max-height: 100% !important; top: 0; }