Изменения

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

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

84 байта убрано, 19:31, 4 сентября 2022
м
rollbackEdits.php mass rollback
3) Проверим центр сферы на принадлежность тетраэдру. Если принадлежит то отрезки не пересекаются, иначе перейдем к шагу 4.
4) Подставим координаты точек в соотношение написанное выше и сравним результат Проверим с <tex>0</tex>. Если хотя бы для одной точки результат <tex>> 0</tex> то помощью поворота отрезки пересекаются, иначе нетна пересечение.
== Проверка на пересечение двух отрезков на сфере==
|statement=Если два отрезка на сфере пересекаются, то все их четыре точки находятся в одной полусфере.
|proof=
[[Файл:Sphere4Sphere_4.png|right|1000|thumb|Плоскость ОАХ]]
Пусть есть отрезки: <tex>AB</tex> и <tex>CD</tex>. Точка пересечения <tex>X</tex>. Центр сферы - начало координат <tex>O</tex>.
Найдем нужную полусферу. Это будет полусфера от плоскости, образованной точками <tex>O</tex>, <tex>A</tex> и <tex>C</tex>, ориентированная так, чтобы содержать <tex>X</tex>.Проведем плоскость <tex>OAX</tex>, пересечем ее со сферой. На полученной окружности возьмем точку <tex>A'</tex> - диаметрально противоположную точке <tex>A</tex>. Точка <tex>B</tex> находится в нашей полусфере, потому что она находится "ближе" точки <tex>A'</tex>. Если бы она была дальше точки <tex>A'</tex>, то мы бы провели отрезок <tex>AB</tex> через другую половину сферы, и соответственно, точка <tex>X</tex> была бы не в выбранной полусфере.
Иначе, если точки не лежат в одной плоскости, рассмотрим следующий алгоритм.
Соединив Соединим концы отрезков, получим результатом будет тетрэдр.
{{Утверждение
Для того, чтобы найти такую грань, необходимо для каждой грани тетраэдра проверить поворот противоположной точки и центра окружности, и если знаки определителей матриц поворота оказались разные, то такая грань найдена.
Для того, чтобы проверить грань существование грани, отсекающей тетраэдр <tex>PABC</tex> от центра сферы, необходимо посчитать определитель матрицы поворота для четырех точек.
1632
правки

Навигация