Найти точку пересечения двух отрезков в пространстве
Запись от jogano размещена 31.12.2014 в 07:47
Дано: отрезки АВ и СD, заданные координатами концов Нужно определить, пересекаются ли два отрезка, и если пересекаются, найти точку пересечения. 1. Проверка того, что прямые АВ и СD лежат в одной плоскости. Это будет так, если 2. Точка на отрезке АВ выражается через координаты концов таким образом: Для нахождения u и v нужно решить линейную систему 2 на 2: Третьи координаты не используются, так как мы уже проверили, что прямые АВ и СD пересекаются. Можно представить себе это так, что мы проектируем данные два отрезка на плоскость XOY и находим точку пересечение этих проекций, в которую проектируется точка пресечения самих отрезков. Решение системы: Если знаменатель каждой дроби (он один и тот же) равен 0, от вывод: отрезки параллельны, т.е. не пересекаются. Оба эти числа u,v должны быть от 0 до 1. Если u не в пределах от 0 до 1, а v в пределах, это означает, что отрезок CD пересекается с ПРОДОЛЖЕНИЕМ отрезка АВ. Точно так же, если значение v не от 0 до 1, то пересекается не сам отрезок CD, а его продолжение. 3. Искомая точка пересечения |
Всего комментариев 0
Комментарии