0

こんにちは

特定の粗さの程度の均一な地形がある場合 (等高線の間隔がわかっている場合)、特定の点の周囲のグリッドがわかっている場合、どのように補間を実行できますか?

たとえば、開始標高が 105m で等高線間隔が 0.2m の場合。さらに、7x7 のグリッドが使用可能な場合 (VB の配列である TERR(6,6) )。105 の位置が TERR(4,3) にある場合、その周囲の他の値は 0.2 の値だけ減少し、次のようになります。

104.2 104.2 104.2 104.2 104.2 104.2 104.2

104.4 104.4 104.4 104.4 104.4 104.4 104.4

104.4 104.6 104.6 104.6 104.6 104.6 104.4

104.4 104.6 104.8 104.8 104.8 104.6 104.4

104.4 104.6 104.8 105 104.8 104.6 104.4

104.4 104.6 104.8 104.8 104.8 104.6 104.4

104.4 104.6 104.6 104.6 104.6 104.6 104.4

配列内の数値の分布は、開始標高の位置と配列 (グリッド) のサイズを変更することによって異なります。

多くの記事と内挿法 (neighborhood、cubic、bilinear など) を見つけましたが、誰もこの問題に十分に近づいていませんでした。

ありがとうございました!

4

1 に答える 1

2

これは、角のあるピラミッドのような形をしています。

円錐のように見せたい場合は、x または y 距離ではなく、直接距離に基づいて値を計算できます。この例では、水平方向と垂直方向の値 (105 を基準) は現在と同じになります。しかし、TERR(4,3) から TERR(3,2) への「距離」は sqrt(1^2 + 1^2)、つまり 1.414 になります。したがって、0.2 に 1.414 を掛けて、TERR(3,2) に 105-.2828 = 102.7272 の値を割り当てます。

dx = 既知の値からの x の距離 dy = 既知の値からの y の距離 val = 既知の値 dval = 1 の距離にわたる値の差 TERR(dx, dy) = val + sqrt(dx^2+dy^2)

これは単純で直線的です。ポイントに滑らかな 3D 曲線を当てはめる方法はたくさんありますが、より多くの情報を入力する必要があり、それを行う方法はたくさんあります。

于 2010-12-02T07:07:08.087 に答える