Рельеф
От: mukhomor  
Дата: 15.03.06 20:06
Оценка:
Имеется набор точек в пространстве (геодезическая съемка). Требуется построить горизонтали — линии равных высот. Подскажите, где можно найти ответ.
И еще — задача выбора: помогите найти источник, который подскажет, какой оптимальный алгоритм поможет найти координаты точки, если щелкнуть по ней мышкой (точек очень много).
Заранее благодарен.
Re: Рельеф
От: gok Россия  
Дата: 15.03.06 20:12
Оценка:
Здравствуйте, mukhomor, Вы писали:

1. строим поверхность (триангуляция и подобное)
2. шагаем по линиям высот, ищем пересечения с поверхностью
Каждый пункт довольно обширно обсужден на rsnd.ru
gok
Re: Рельеф
От: HiSH Россия http://m0riarty.ya.ru
Дата: 16.03.06 07:51
Оценка:
Здравствуйте, mukhomor, Вы писали:

M>Имеется набор точек в пространстве (геодезическая съемка). Требуется построить горизонтали — линии равных высот. Подскажите, где можно найти ответ.

M>И еще — задача выбора: помогите найти источник, который подскажет, какой оптимальный алгоритм поможет найти координаты точки, если щелкнуть по ней мышкой (точек очень много).

Распишу поподробнее, как мы делали (gok описал общий принцип)

1. Строим триангуляцию (использовали метод Делоне)
2. Берем треугольник, отмечаем на его ребрах точки с одинаковыми высотами (с определенным шагом). Соединяем их
3. Повторяем то же для смежных треугольников.

Так можно получить построение высот в виде отрезков прямых. Если требуется замкнутый контур, задача становится чуть сложнее, но принцип тот же.

ЗЫ. Делалось это все в AutoCAD'е, была предусмотена возможность конвертации полученных линий высот в сплайны и/или кривые, проходящие через те же точки — выбор типа кривой оставался на совести оператора =)
... << RSDN@Home 1.1.4 stable SR1 rev. 568 with тишина...>>
Re[2]: Рельеф
От: gok Россия  
Дата: 16.03.06 18:46
Оценка: 2 (1)
Здравствуйте, HiSH, Вы писали:

У меня самое «ленивое» решение: просто выдернул готовые контуры из матлаба в автокад.
gok
Re[3]: Рельеф
От: HiSH Россия http://m0riarty.ya.ru
Дата: 17.03.06 09:48
Оценка:
Здравствуйте, gok, Вы писали:

gok>Здравствуйте, HiSH, Вы писали:


gok>У меня самое «ленивое» решение: просто выдернул готовые контуры из матлаба в автокад.


А можно поподробнее? Я так понимаю, из автокада данные о вершинах экспортируются в матлаб, там высчитываются горизонтали и импортируются обратно? Как такое реализовать?
... << RSDN@Home 1.1.4 stable SR1 rev. 568 with тишина...>>
Re[4]: Рельеф
От: Аноним  
Дата: 17.03.06 22:04
Оценка:
Здравствуйте, HiSH, Вы писали:

Канэчна можно!
В акаде есть куча 3—мерных линий вдоль горных хребтов и море 3-мерных точек между ними. Разбил эти линии на точки с некоторым заданным шагом и все это «облако» затащил в матлаб. А там буквально 2 команды: построить поверхность (griddata()), построить контуры (contour3()). Попутно там же получаем поле градиентов (можно отметить куда вода потечет!).
А потом обратным макаром вытаскиваем из МЛ готовые контуры ввиде 2-мерных полилиний и усе. Изолинии получились даже лучше чем в промышленных пакетах, могу повесить рез-ты сравнения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.