3

さまざまな位置にさまざまなエントリを持つ 2D 配列があります。ただし、一部の位置は同じ値 (たとえば 5) です。他の配置された要素から、値が 5 の最も近いブロックを見つける必要があります。

画像はこのリンクにあります:) これは、問題をよりよく理解するための画像です

上のこの写真。デジタル画像処理の概念を使用して、各ブロック間の m 距離を見つけることができます。しかし、問題のスペースが大きすぎる場合 (100X100 または 200X200 の配列を想定)、この方法での解決には時間がかかります。

解決策の途中で、これらのリンクを見つけました。 最近隣人へのウィキペディア リンク

これとは別に、この全体をプログラミングでマッピングする方法は...?

4

2 に答える 2

0

最も簡単な (おそらく最も効率的ではない) 方法は、Wikipedia の方法 #1 を使用する場合です。これは次のとおりです。

すべての座標ペアをループして、それらの間の距離を見つけます。式: sqrt((x2-x1)^2+(y2-y1)^2)

テストしているポイントに最も近いペアと、最も近い距離を追跡します。

各計算の後、距離が短いかどうかをテストします。その場合は、距離変数と最近接ペア変数を上書きします。

必要に応じて、これを拡張できます。

于 2012-06-07T22:43:47.583 に答える