Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Пересечение отрезка с окружностью

88K
01 ноября 2013 года
Prostor
3 / / 01.11.2013
Помогите решить задачу!

Условия задачи:
Отрезок задан двумя точками P0(x,y),P1(x,y)
Окружность задана центром С(x,y) и радиусом R
Надо узнать пересекает ли отрезок окружность в любой точке.
Система координат - географическая в градусах.
Радиус задан в метрах.

Пример:
P0.x:=51.754012;
P0.y:=36.202744;
P1.x:=51.752864;
P1.y:=36.201472;
C.x:=51.7545655080246;
C.y:=36.2031805515289;
R:=50;
446
01 ноября 2013 года
Meander
487 / / 04.09.2011
Чё, в гугле не искал?
88K
01 ноября 2013 года
Prostor
3 / / 01.11.2013
Цитата: Meander
Чё, в гугле не искал?



Уже обыскался...
Найти алгоритм пересечение с окружностью не проблема, есть решение:
нужно подставить координаты концов отрезка(;) (;) в уравнение окр-ти x^2+y^2=R^2
если ^2+^2 или ^2+^2 будет меньше R^2, то хотя бы одна точка отрезка лежит внутри окр-ти, если же оба условия не выполняются то может быть два случаея:
либо весь отрезок лежит вне окр-ти, либо он пересекает окр-ть
в первом случае все понятно. а во втором нужно решить систему, где первое ур-ние - ур-ние окр-ти, а второе уравнение прямой проходящей через две точки (;) (;)

, проблема возникает когда подставляем используем градусы и метры в радиусе окружности

446
01 ноября 2013 года
Meander
487 / / 04.09.2011
Похоже, отрезок и окружность нарисованы на поверхности сферы (т.е. отрезок - дуга окружности, а не прямая). Раз уж система координат географическая, то радиус этой сферы равен радиусу Земли (в метрах). Но можно параметризовать для произвольного радиуса, главное чтобы он был не меньше 50 метров.
Выведи формулы аналитической геометрии для случая сферической поверхности, а не плоскости.
326
01 ноября 2013 года
sadovoya
757 / / 19.11.2005
Сферическая геометрия

Сферическая система координат

Географические координаты

В частности сферическая окружность – множество точек сферы, равноудаленных от заданной точки Р.

Хороший справочник по математике Корн & Корн (можно скачать здесь).
446
01 ноября 2013 года
Meander
487 / / 04.09.2011
Хотя, на сфере, через две точки можно провести бесконечно много окружностей (не обязательно, что это большой круг). Так что, по-моему, формулировка задания не полна. Может это отрезок прямой, концы которой лежат на сфере. В общем х.з.
326
01 ноября 2013 года
sadovoya
757 / / 19.11.2005
Окружность задана однозначным образом:

 
Код:
C.x:=51.7545655080246;
C.y:=36.2031805515289;
R:=50;
Система координат - географическая в градусах.
Радиус задан в метрах.
Разве нет?
Отрезок тоже.
Все решаемо.
446
01 ноября 2013 года
Meander
487 / / 04.09.2011
Цитата: sadovoya
Окружность задана однозначным образом:


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

326
01 ноября 2013 года
sadovoya
757 / / 19.11.2005
Отрезок задан двумя точками P0(x,y),P1(x,y). Точка -- парой углов. Так задать можно только на поверхности известной сферы. Об окужности -- аналогично. Раз система координат - географическая, то подразумевается, что заданная сфера - Земля (раз иного не оговорено). Об высоте и слова нет, значит все нарисовано на поверхности Земли (а также по причине заданности только углами координат).

Отрезок должен быть сферическим (Прямыми на сфере считаются большие окружности. Если две точки принадлежат большой окружности, то длина меньшей из дуг, соединяющих эти точки, определяется как сферическое расстояние между этими точками, а сама дуга – как сферический отрезок.) Иначе говорить, что он задан -- бессмысленно. Кроме случая обычного прямого отрезка, но тогда он окажется под поверхностью сферы).

Решать можно либо в сферических координатах, либо можно взять проекцию на удобную плоскость и решать в декартовых.
446
01 ноября 2013 года
Meander
487 / / 04.09.2011
в том то и дело, что там не сказано какой он. прямой, кривой, или тоннель в Земле.
326
03 ноября 2013 года
sadovoya
757 / / 19.11.2005
Видимо нашего ТС все это не интересует :)
88K
06 ноября 2013 года
Prostor
3 / / 01.11.2013
Цитата: Meander
в том то и дело, что там не сказано какой он. прямой, кривой, или тоннель в Земле.


Отрезок лежит на сфере Земли

446
06 ноября 2013 года
Meander
487 / / 04.09.2011
Цитата: Prostor
Отрезок лежит на сфере Земли


Отрезок лежит в плоскости проведенной через центр сферы?

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог