Интерполяция высоты для точки в сетке на основе дискретной функции высоты

Я разрушал мозг для предложения решения этой проблемы.

Point P inside a grid square.

У меня есть справочная таблица, которая возвращает значения высоты для различных точек (x, z) на сетке. Например, я могу вычислить высоту в A, B, C и D на рисунке 1. Однако я ищу способ интерполировать высоту в P (который имеет известное (x, z)). Справочная таблица только имеет значения в интервалах сетки, и P находится между этими интервалами. Я пытаюсь вычислить значения s и t, таким образом что:

' (s) = + s (C-A) B' (t) = B + t (P-B)

Я затем использовал бы эти два уравнения, чтобы найти, что точка пересечения B' (t) с' (s) находит точку X на строке A-C. С этим я могу вычислить высоту в этой точке X и с этим высота в точке P.

Моя проблема находится в вычислении значений для s и t.

Любая справка значительно ценилась бы.

5
задан Glorfindel 4 July 2019 в 22:06
поделиться

1 ответ

Рассмотрение значения точек доступно в четырех углах квадрата единичной длины, интерполированным значением в любой точке (x, y) в квадрате дают:

f(x,y) = [ (1-y)f(0,0) + yf(0,1) ](1-x) + [ (1-y)f(1,0)+y(f(1,1)) ]x

, Если квадрат имеет длину кроме 1, скажите, что L затем f (x, y) дают:

  f(x,y) = [ (L-y)f(0,0) + yf(0,L) ](L-x)/L^2 + [ (L-y)f(L,0)+y(f(L,L)) ]x/L^2

изображение

0
ответ дан 14 December 2019 в 19:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: