Если вы ищете не полное ландшафтное моделирование, а простое приближение, то это не должно быть слишком сложно.В основном, первое приближение вашего изображения сводится к камере с известным фокусным расстоянием, смотрящей вдоль плоскости.Таким образом, мы можем очень легко создать модель системы в 3D - это не так уж далеко от классического наблюдателя, просматривающего демонстрацию шахматной доски.
Обычно нашей графической проблемой было бы проецировать 3D-модель в 2D, чтобы мы моглисделать изображениеХотя в настоящее время большинство программ используют API (например, OpenGL), для этого уравнения не являются особенно сложными или трудными для понимания.Я написал свой первый код, используя примеры из 3D-графики в Pascal , который является хорошим понятным трактатом, но будет много других подобных источников (хотя, вероятно, в настоящее время их не так много, поскольку аппаратный API неизменно используется).
Что полезно в этом, так это то, что уравнения проекции являются коммутативными, в том случае, если у вас есть точка на изображении и модель, вы можете запустить данные обратно через проекцию, чтобы получить исходные трехмерные координаты - это то, что выхочу сделать.
Итак, пара подходов предлагает: либо написать код, чтобы выполнить вышеописанное самостоятельно, либо, возможно, более просто использовать OpenGL (я бы порекомендовал GLUT toolkit для этого).Если ваша математика хороша и манипулирование матрицами не вызывает у вас проблем, то я бы порекомендовал первое, так как решение будет более трудным и интересным, в противном случае воспользуйтесь подходом OpenGL.Возможно, вы также захотите превратить приближение камеры / плоскости в камеру / сферу довольно рано.
Если этого недостаточно для ваших нужд, то теоретически можно перейти к реальному моделированию ландшафта.Данные SRTM находятся в свободном доступе (хотя и не в самых дружелюбных формах), поэтому в сочетании с вашим положением GPS должна быть возможность создать модель сетки, в которой вы применяете те же алгоритмы, что и выше.