Пересечение линии и сферы - Line–sphere intersection

Три возможных пересечения линии и сферы:
1. Нет пересечения.
2. Точка пересечения.
3. Пересечение двух точек.

В аналитическая геометрия, а линия и сфера может пересекаться тремя способами:

  1. Никакого пересечения
  2. Пересечение ровно в одной точке
  3. Пересечение в двух точках.

Методы различения этих случаев и определения координаты точки в последних случаях полезны в ряде обстоятельств. Например, это обычный расчет, выполняемый во время трассировка лучей [1].

Расчет с использованием векторов в 3D

В векторные обозначения, уравнения имеют следующий вид:

Уравнение для сфера

  • - Центральная точка
  • - радиус
  • - точки на сфере

Уравнение для линии, начинающейся в

  • - расстояние по линии от начальной точки
  • - направление линии (a единичный вектор )
  • - происхождение линии
  • - точки на линии

Поиск точек на линии и на сфере означает объединение уравнений и решение с участием скалярное произведение векторов:

Комбинированные уравнения
Расширенный
Переставил
Форма квадратичная формула теперь можно наблюдать. (Это квадратное уравнение является примером уравнения Иоахимсталя.[2])
куда
Упрощенный
Обратите внимание, что является единичным вектором, и поэтому . Таким образом, мы можем упростить это до
  • Если , то ясно, что решений не существует, т.е. линия не пересекает сферу (случай 1).
  • Если , то существует ровно одно решение, т.е. прямая касается сферы в одной точке (случай 2).
  • Если , существует два решения, поэтому линия касается сферы в двух точках (случай 3).

Смотрите также

Рекомендации

  1. ^ Эберли, Дэвид Х. (2006). Дизайн трехмерного игрового движка: практический подход к компьютерной графике в реальном времени, 2-е издание. Морган Кауфманн. п. 698. ISBN  0-12-229063-1.
  2. ^ [1]