Пересечение линии и сферы - Line–sphere intersection
Три возможных пересечения линии и сферы:
1. Нет пересечения.
2. Точка пересечения.
3. Пересечение двух точек.
В аналитическая геометрия, а линия и сфера может пересекаться тремя способами:
- Никакого пересечения
- Пересечение ровно в одной точке
- Пересечение в двух точках.
Методы различения этих случаев и определения координаты точки в последних случаях полезны в ряде обстоятельств. Например, это обычный расчет, выполняемый во время трассировка лучей [1].
Расчет с использованием векторов в 3D
В векторные обозначения, уравнения имеют следующий вид:
Уравнение для сфера
- - Центральная точка
- - радиус
- - точки на сфере
Уравнение для линии, начинающейся в
- - расстояние по линии от начальной точки
- - направление линии (a единичный вектор )
- - происхождение линии
- - точки на линии
Поиск точек на линии и на сфере означает объединение уравнений и решение с участием скалярное произведение векторов:
- Комбинированные уравнения
- Расширенный
- Переставил
- Форма квадратичная формула теперь можно наблюдать. (Это квадратное уравнение является примером уравнения Иоахимсталя.[2])
- куда
- Упрощенный
- Обратите внимание, что является единичным вектором, и поэтому . Таким образом, мы можем упростить это до
- Если , то ясно, что решений не существует, т.е. линия не пересекает сферу (случай 1).
- Если , то существует ровно одно решение, т.е. прямая касается сферы в одной точке (случай 2).
- Если , существует два решения, поэтому линия касается сферы в двух точках (случай 3).
Смотрите также
Рекомендации
- ^ Эберли, Дэвид Х. (2006). Дизайн трехмерного игрового движка: практический подход к компьютерной графике в реальном времени, 2-е издание. Морган Кауфманн. п. 698. ISBN 0-12-229063-1.
- ^ [1]