[英]Getting closest coordinates closest to point in array
我在網格上有一個點(以下稱為原始點),例如, [3, 3]
。
我也有一組與原點在同一水平和垂直線上的點,比如[[3,1],[3,2],[3,4],[7,3],[8,3]]
。
我想要一些函數將返回最多四個點的數組:每個方向上最接近原點的點(即左,右,上,下)。 通過上面的例子,它將返回,
[[3,2],[3,4],[7,3]]
因為[3,2]
是左邊最近的點, [3,4]
是右邊最近的點, [7,3]
是上面最近的點,下面沒有點。 (方向順序並不重要。)
使用Javascript / JQuery是否有一種優雅且相當簡潔的方法來做到這一點?
我不懂JavaScript,但如果你能用JavaScript來表達它,下面的算法會非常簡單。
設(X0, Y0)
為原點。
迭代數組, [(X1, Y1), ..., (XN, YN)]
,並[(X1, Y1), ..., (XN, YN)]
最小值
R = Xi-X0> 0
和
L = X0 -Xi> 0
當你繼續。 在迭代結束時,這些值給出最近的點,即X0 + R
和X0 - L
。
在垂直線上進行類似的迭代。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.