Недавно возникла необходимость в «реальном времени» увеличивать разрешение карты высот для одной разрабатываемой игры. По существу, задача сводится к трёхмерной линейной интерполяции: берем уравнение плоскости, выражаем высоту (Z), т.е. приводим уравнение к виду z = f(x_1, y_1, z_1, x_2, y_2, z_2, x_3, y_3, z_3, x, y), подставляем туда координаты трёх известных точек и две координаты искомой и получаем результат.

Однако для такой тривиальной и простейшей задачи я не смог найти в Интернете, собственно, уравнение плоскости в удобоваримом виде. Везде предлагают его в матричном виде, что, может быть, выглядит красиво и удобно для запоминания, но никак не пригодно для выражения высоты. Или в виде коэффициентной системы уравнений, что опять не то, что нам нужно.

\begin{vmatrix}x-x_1&y-y_1&z-z_1\\ x_2-x_1&y_2-y_1&z_2-z_1\\ x_3-x_1&y_3-y_1&z_3-z_1\end{vmatrix}=0

Читать далее