Изменения

Перейти к: навигация, поиск

Пересечение отрезков на сфере

Нет изменений в размере, 21:46, 12 мая 2014
Нет описания правки
Дано два отрезка на сфере. Необходимо узнать пересекаются ли они.
 
== Алгоритм ==
 
1) Проверим отрезки на то что они лежат в одной плоскости, если лежат перейдем к плоскости и разберем случаи, иначе перейдем к шагу 2.
 
2) Построим из концов отрезков тетраэдр.
 
3) Проверим центр сферы на принадлежность тетраэдру. Если принадлежит то отрезки не пересекаются, иначе перейдем к шагу 4.
 
4) Подставим координаты точек в соотношение написанное выше и сравним результат с <tex>0</tex>. Если хотя бы для одной точки результат <tex>> 0</tex> то отрезки пересекаются, иначе нет.
== Проверка на пересечение ==
где вместо <tex>P</tex> необходимо поочередно подставить <tex>C</tex> и <tex>D</tex>. И если хотя бы для одной точки <tex>V > 0</tex>, то отрезки пересекаются и точка пересечения лежит на <tex>AB</tex>.
 
== Алгоритм ==
 
1) Проверим отрезки на то что они лежат в одной плоскости, если лежат перейдем к плоскости и разберем случаи, иначе перейдем к шагу 2.
 
2) Построим из концов отрезков тетраэдр.
 
3) Проверим центр сферы на принадлежность тетраэдру. Если принадлежит то отрезки не пересекаются, иначе перейдем к шагу 4.
 
4) Подставим координаты точек в соотношение написанное выше и сравним результат с <tex>0</tex>. Если хотя бы для одной точки результат <tex>> 0</tex> то отрезки пересекаются, иначе нет.
Анонимный участник

Навигация