我想保持我的观点(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
是否有一种算法可以将这些点移至其原点,以使坐标始终保持正值?
最佳答案
您可以先获取x
和y
的最小值,然后使用校正值映射一个新数组。
最小值
[-916, 0]
转换次数
[-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; }
关于javascript - 将负多边形转换为正坐标-Javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45997468/