Определить видимость точки на по-ти Земли
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 24 июл 2009, 14:47
- Репутация: 0
Определить видимость точки на по-ти Земли
Делаю 3D карту.
Есть точка над поверхностью Земли (позиция камеры) и точка на поверхности Земли. Нужно определить: видно ли из позиции камеры заданную точку?
По ГИС я не специалист, поэтому прежде чем заниматься геометрией, решил здесь спросить. Может уже есть простые и быстрые формулы для моей задачи?
Есть точка над поверхностью Земли (позиция камеры) и точка на поверхности Земли. Нужно определить: видно ли из позиции камеры заданную точку?
По ГИС я не специалист, поэтому прежде чем заниматься геометрией, решил здесь спросить. Может уже есть простые и быстрые формулы для моей задачи?
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Определить видимость точки на по-ти Земли
есть. для этого надо построить профиль в выбранном направлении. после этого задача сведется к поиску точки пересечения между линией и набором прямоугольных трапеций.
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 24 июл 2009, 14:47
- Репутация: 0
Re: Определить видимость точки на по-ти Земли
Ничего не понял из ответа.
Я придумал следующее. На рисунке красная точка - это заданная точка, которую нужно проверить на видимость, синяя точка - позиция камеры. Строим два вектора A и B. Определяем угол u. Если угол меньше 90 градусов, то точка видима.

Я придумал следующее. На рисунке красная точка - это заданная точка, которую нужно проверить на видимость, синяя точка - позиция камеры. Строим два вектора A и B. Определяем угол u. Если угол меньше 90 градусов, то точка видима.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Определить видимость точки на по-ти Земли
По сути, задача называется "Line-of-sight", так?
Насколько я понял, можно решить в GRASS GIS с помощью модуля r.los.
http://grass.itc.it/grass64/manuals/htm ... r.los.html
Нужно:
- импортировать в GRASS цифовую модель рельефа (r.in.gdal)
- импортировать из шейп-файла (или в чем оно у вас) точки, для которых нужно выяснить их "видимость"
- надо знать координаты точки камеры и ее высоту над уровнем моря
- используем модуль r.los, как сказано в документации выше.
- создается растровый файл с раскраской по вертик. углу обзора
- смотрите, куда попадает ваша точка
Пример из мануала (крестик -- башня высотой 50 м, цветом на растре -- вертикальный угол обзора, конкретных точек здесь нет;) P.S. Если решитесь делать в GRASS, ищите здесь на сайте статьи про ее использование.
Насколько я понял, можно решить в GRASS GIS с помощью модуля r.los.
http://grass.itc.it/grass64/manuals/htm ... r.los.html
Нужно:
- импортировать в GRASS цифовую модель рельефа (r.in.gdal)
- импортировать из шейп-файла (или в чем оно у вас) точки, для которых нужно выяснить их "видимость"
- надо знать координаты точки камеры и ее высоту над уровнем моря
- используем модуль r.los, как сказано в документации выше.
- создается растровый файл с раскраской по вертик. углу обзора
- смотрите, куда попадает ваша точка
Пример из мануала (крестик -- башня высотой 50 м, цветом на растре -- вертикальный угол обзора, конкретных точек здесь нет;) P.S. Если решитесь делать в GRASS, ищите здесь на сайте статьи про ее использование.
Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 144
- Зарегистрирован: 18 дек 2009, 15:36
- Репутация: 4
- Откуда: Златоглавая
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Определить видимость точки на по-ти Земли
В принципе, можете выложить сюда данные. Подумаем вместе, а то долго можно рассуждать без конкретики...
Редактор материалов, модератор форума
-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 24 июл 2009, 14:47
- Репутация: 0
Re: Определить видимость точки на по-ти Земли
Судя по всему я просто не выдал всю конкретную задачу.
На самом деле задача намного проще, чем ответы, которые тут написали.
Я делаю 3D карту. Земной шар представляется тайлами с объектами. Каждый тайл - это один НЕДЕЛИМЫЙ объект. Мне нужно определить: какие тайлы следует выводить для текущего положения камеры. Алгоритм я описал выше.
Заданная точка - это средняя точка тайла. Так что как я понял, самый лучший вариант - это через геометрию и мой алгоритм.
На самом деле задача намного проще, чем ответы, которые тут написали.
Я делаю 3D карту. Земной шар представляется тайлами с объектами. Каждый тайл - это один НЕДЕЛИМЫЙ объект. Мне нужно определить: какие тайлы следует выводить для текущего положения камеры. Алгоритм я описал выше.
Заданная точка - это средняя точка тайла. Так что как я понял, самый лучший вариант - это через геометрию и мой алгоритм.
-
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: Определить видимость точки на по-ти Земли
Вообще вам походу хватит расчета видимого горизонта 

-
- Интересующийся
- Сообщения: 37
- Зарегистрирован: 24 июл 2009, 14:47
- Репутация: 0
Re: Определить видимость точки на по-ти Земли
Во! Именно на такой ответ я и надеялся. 

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