NxN 値の高さマップがあります。
x 座標と y 座標が与えられている点 A (赤い点) を指定して (z はデータからわかっているので、A は表面の頂点です)、円周上にある一連の点を見つけたいと思います。中心が A で半径が R の円は、データ ポイントによって記述される想像上の表面にドレープされた円形の「布」(グレー) の適切な近似値です。
私が見つけようとしている点のセット間の逆距離であるサンプリングは、均一である必要はありませんが、メッシュのエッジとA から距離 R の円。
この一連のポイントを見つける方法は?
これは既知の問題ですか?
(ソース: keplero.com )
- 編集
Jan が使用している仮定は正しいです。サンプルは、[0,0] に位置合わせされた (XY 平面内の) 規則的な長方形または正方形のグリッドを形成します。しかし、距離を計算するために Z 方向の変位を考慮したいと思います。高さマップを地形として見ることができ、私が探しているアルゴリズムは、指定された緯度または経度のパスを移動して、A から R の距離にあるポイントをマークする探検家に与える指示として探しています。 、これまでに行われたすべての Z 変位が考慮されています。探検家も谷を登ったり降りたりします。
このための自明なアルゴリズムは、次のようなものになります。R が与えられると、x 軸と y 軸の最大変位は完全に平らな面に対応することがわかっています。勾配がない場合、x、y ポイントはすべて境界正方形 Ax-R < x < Ax+r および Ay-R 内にあります。
この時点で、境界がグリッドの 1 つのセルの端に入ると、そのセルから出なければならないため、近くのセルへの移動が開始されます。