![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 01.11.2013
Сообщений: 6
|
![]()
Помогите решить задачу!
Условия задачи: Отрезок задан двумя точками 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; |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.10.2013
Сообщений: 142
|
![]()
Из головы:
1) ищем пересечение 2х прямых - 1ая отрезком задана, вторая - перпедикуляром к отрезку из центра окружности 2) если есть пересечение в п.1 - проверяем что оно внутри отрезка |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]()
делается проще - проверяются обе точки отрезка на принадлежность кругу, очерченому исходной окружностью.
например так: Код:
Правильно поставленная задача - три четверти решения.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,504
|
![]() |
![]() |
![]() |
![]() |
#5 |
Регистрация: 01.11.2013
Сообщений: 6
|
![]()
Дело происходит на сфере. То есть на земном шаре
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,504
|
![]()
Если на сфере, то это сферическая геометрия, а теорема Пифагора - для плоской, то есть Евклидовой геометрии.
Представьте например, что внутри этой вашей окружности находится северный полюс, и попробуйте посчитать по " плоским " формулам. Во-первых, в качестве единиц измерения в сферической геометрии удобнее использовать не метры, километры, а градусы. В том числе и радиус окружности надо перевести в градусы . А лучше в радианы, потому что и в Excel и во всяких языках функции sin, cos ... питаются радианами. Радиус окружности в радианах = R/R_Земли. Расстояние между двумя точками на сфере (в градусах или радианах): =arccos(sin(шир1)*sin(шир2)-cos(шир1)*cos(шир2)*cos(долг1-долг2)) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Точки в системе координат. | Sheva95 | Помощь студентам | 0 | 10.04.2013 17:28 |
определить точка принадлежит окружности | Karlen1990 | Помощь студентам | 17 | 12.07.2012 19:59 |
Определение координат точек на окружности | DDiKey | Помощь студентам | 5 | 23.03.2012 21:11 |
отрезок и окружности. | alerwert | Паскаль, Turbo Pascal, PascalABC.NET | 15 | 17.10.2011 17:02 |
Получение координат точек касательной к окружности | Stilet | Помощь студентам | 2 | 01.08.2008 15:12 |