Как измерить высоту над поверхностью, граница которой определяется как 3D-точки - PullRequest
1 голос
/ 25 мая 2011

У меня есть список упорядоченных трехмерных точек, которые определяют границу поверхности. Больше ничего о поверхности не известно. Теоретически они могут быть сколь угодно сложными, однако на практике существует небольшое количество точек, которые в основном определяют плоские плоскости с некоторыми наклонами и т. Д. Учитывая произвольную точку, координаты x и y которой находятся внутри границы, я хочу знать высоту над соответствующая точка на поверхности, которую определяет граница.

Ответы [ 2 ]

1 голос
/ 26 мая 2011

Это зависит от того, как точки определяют поверхность и характеристики расположения точек: определяют ли точки карту высот?Точки создают регулярную сетку или нет?Вы хотите определить поверхность как набор многоугольников или изоповерхность?

Я пытаюсь угадать, что у вас есть обычная карта высот.В этом случае вам нужно:

  1. Определить, в каком квадре регулярной сетки вершин находится соответствующая точка.

  2. Разбить квад на 2 треугольника

  3. Определите, в каком треугольнике (XY-проекция треугольника) соответствующая точка.

  4. Найдите пересечение четырехугольника и вектора(x, y, 1) где (x, y) - соответствующая точка (гугл "точка-треугольник пересечения")

1 голос
/ 25 мая 2011

Рассматривайте свою коллекцию точек как набор определений для плоскостей (Можете ли вы определить, какие точки являются частью объекта?)

Определите линию от заданной точки с помощью вектора (линии), указывающего «вниз».

Переберите плоскости и посмотрите, пересекает ли вектор какую-либо из них. Расстояние между (x, y) и точкой пересечения равно «высоте»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...