2010-11-19 4 views
0

HIWie werden Interpolationen in einem visuellen Basis-Array durchgeführt?

Wenn es ein einheitliches Gelände mit einem bestimmten Grad an Rauheit gibt (bekanntes Konturintervall), wie kann eine Interpolation durchgeführt werden, wenn das Gitter um einen bestimmten Punkt herum bekannt ist?

Zum Beispiel, wenn die Starthöhe 105m und das Konturintervall zum Beispiel 0,2m ist. Wenn ein Raster von 7x7 verfügbar ist (das ist ein Array in VB, TERR (6,6)). Wenn die Stelle von 105 in TERR ist (4,3), dann die anderen Werte um es sollte durch den Wert von 0,2 zu verringern, und es wird so etwas wie folgt aussehen:

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

Die Verteilung der Zahlen in der Anordnung durch Änderung der Position der Starthöhe und die Größe des Arrays variieren (Gitter).

Ich fand viele Artikel und Interpolationsmethoden (Nachbarschaft, kubisch, bilinear ... etc), aber niemand war nah genug an diesem Problem.

Vielen Dank!

Antwort

2

Dies ist wie eine Pyramide geformt, mit Ecken.

Wenn Sie möchten, dass es wie ein Kegel aussieht, können Sie den Wert basierend auf der direkten Entfernung und nicht auf der x- oder y-Entfernung berechnen. In diesem Beispiel wären die horizontalen und vertikalen Werte (relativ zu 105) die gleichen wie sie jetzt sind. Aber von TERR (4,3) zu TERR (3,2) wäre eine "Entfernung" von sqrt (1^2 + 1^2) oder 1,414. So multiple 0,2 von 1,414 und weist TERR (3,2) einen Wert von 105-.2828 = 102,7272

dx = x Abstand von bekannten Wert dy = y Abstand von bekannten Wert val = bekannte Wert DVal = Differenz in Wert über eine Entfernung von 1 TERR (dx, dy) = val + sqrt (dx^2 + dy^2)

Dies ist einfach und linear. Es gibt viele Möglichkeiten, eine glatte 3D-Kurve über die Punkte zu legen, aber es müssen mehr Informationen eingegeben werden und es gibt viele Möglichkeiten, dies zu tun.

Verwandte Themen