Определить видимость точки на по-ти Земли

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
Shasoft
Интересующийся
Сообщения: 37
Зарегистрирован: 24 июл 2009, 14:47
Репутация: 0

Определить видимость точки на по-ти Земли

Сообщение Shasoft » 31 мар 2010, 22:06

Делаю 3D карту.
Есть точка над поверхностью Земли (позиция камеры) и точка на поверхности Земли. Нужно определить: видно ли из позиции камеры заданную точку?
По ГИС я не специалист, поэтому прежде чем заниматься геометрией, решил здесь спросить. Может уже есть простые и быстрые формулы для моей задачи?

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Определить видимость точки на по-ти Земли

Сообщение Boris » 01 апр 2010, 01:17

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

Shasoft
Интересующийся
Сообщения: 37
Зарегистрирован: 24 июл 2009, 14:47
Репутация: 0

Re: Определить видимость точки на по-ти Земли

Сообщение Shasoft » 01 апр 2010, 08:18

Ничего не понял из ответа. :shock:

Я придумал следующее. На рисунке красная точка - это заданная точка, которую нужно проверить на видимость, синяя точка - позиция камеры. Строим два вектора A и B. Определяем угол u. Если угол меньше 90 градусов, то точка видима.Изображение

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Определить видимость точки на по-ти Земли

Сообщение Александр Мурый » 01 апр 2010, 11:28

По сути, задача называется "Line-of-sight", так?
Насколько я понял, можно решить в GRASS GIS с помощью модуля r.los.
http://grass.itc.it/grass64/manuals/htm ... r.los.html

Нужно:
- импортировать в GRASS цифовую модель рельефа (r.in.gdal)
- импортировать из шейп-файла (или в чем оно у вас) точки, для которых нужно выяснить их "видимость"
- надо знать координаты точки камеры и ее высоту над уровнем моря
- используем модуль r.los, как сказано в документации выше.
- создается растровый файл с раскраской по вертик. углу обзора
- смотрите, куда попадает ваша точка

Пример из мануала (крестик -- башня высотой 50 м, цветом на растре -- вертикальный угол обзора, конкретных точек здесь нет;)
2010-04-01-042441_1400x1050_scrot.png
2010-04-01-042441_1400x1050_scrot.png (586.36 КБ) 7774 просмотра
P.S. Если решитесь делать в GRASS, ищите здесь на сайте статьи про ее использование.
Редактор материалов, модератор форума

self-improving
Активный участник
Сообщения: 144
Зарегистрирован: 18 дек 2009, 15:36
Репутация: 4
Откуда: Златоглавая

Re: Определить видимость точки на по-ти Земли

Сообщение self-improving » 01 апр 2010, 11:46

Аналогичный вариант - в ArcGIS (в справке - 1, 2, 3, 4)
Но, возможно, если вы в принципе с ГИСами не общаетесь, то логичнее будет все же решать геометрически.
Но это уже вам лучше знать - исходя из задач, условий, нюансов и пр. :)

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Определить видимость точки на по-ти Земли

Сообщение Александр Мурый » 01 апр 2010, 12:19

В принципе, можете выложить сюда данные. Подумаем вместе, а то долго можно рассуждать без конкретики...
Редактор материалов, модератор форума

Shasoft
Интересующийся
Сообщения: 37
Зарегистрирован: 24 июл 2009, 14:47
Репутация: 0

Re: Определить видимость точки на по-ти Земли

Сообщение Shasoft » 01 апр 2010, 12:40

Судя по всему я просто не выдал всю конкретную задачу.
На самом деле задача намного проще, чем ответы, которые тут написали.
Я делаю 3D карту. Земной шар представляется тайлами с объектами. Каждый тайл - это один НЕДЕЛИМЫЙ объект. Мне нужно определить: какие тайлы следует выводить для текущего положения камеры. Алгоритм я описал выше.
Заданная точка - это средняя точка тайла. Так что как я понял, самый лучший вариант - это через геометрию и мой алгоритм.

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: Определить видимость точки на по-ти Земли

Сообщение alexandr cherepanov » 01 апр 2010, 14:05

Вообще вам походу хватит расчета видимого горизонта :P

Shasoft
Интересующийся
Сообщения: 37
Зарегистрирован: 24 июл 2009, 14:47
Репутация: 0

Re: Определить видимость точки на по-ти Земли

Сообщение Shasoft » 01 апр 2010, 14:10

Во! Именно на такой ответ я и надеялся. :)

Ответить

Вернуться в «Общие вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: Semrush [Bot] и 1 гость