Изменения

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

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

603 байта добавлено, 10:07, 23 апреля 2014
Проверка на пересечение
Для того чтобы определить принадлежит ли центр шара тетраэдру, необходимо найти грань тетраэдра, которая будет отсекать тетрэдр от центра шара, если такой грани не существует, то центра шара принадлежит тетраэдру, следовательно отрезки находятся в разных полушариях, следовательно они не пересекаются.
Для того, чтобы найти такую грань, необходимо для каждой пары точек грани тетраэдра проверить поворот противоположной точки и центра окружности, и если знаки определителей матриц поворота оказались разные, то такая грань найдена. Для того, чтобы проверить грань необходимо посчитать определитель матрицы поворота для четырех точек. <tex> A = </tex><tex>\left (\begin{array}{cccc} a_x & a_y & a_z & 1 \\ b_x & b_y & b_z & 1 \\ c_x & c_y & c_z & 1 \\ p_x & p_y & p_z & 1 \end{array}\right)</tex> Где <tex>A</tex>, <tex>B</tex>, <tex>C</tex> - точки задающие плоскость, <tex>P</tex> точка для которой надо вычислить поворот. 
Рассмотрим отрезки <tex>AB</tex> и <tex>CD</tex>. Проверим их на пересечение. Для этого возьмем отрезок <tex>AB</tex> и посчитаем для него следующее соотношение
91
правка

Навигация