2017-09-01 54 views
1

我想保持我的觀點(x,y)始終爲正。將負多邊形轉換爲正座標 - Javascript

我與這些值的數組:

(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 

是否有可以使座標留總是正的這些點轉移到其原點的算法?

回答

1

您可以先獲取最小值xy,然後用修正映射一個新陣列。

最小值

[-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; }

+0

是否有可能逆轉與ABSOLU響應te再次座標到相對位置? – baybox

+0

是的,通過存儲最小值。那麼你需要在循環中添加值。 –