簡體   English   中英

獲得距離數組中最近點的最近坐標

[英]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 + RX0 - L

在垂直線上進行類似的迭代。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM