Кривая пересечения - Википедия - Intersection curve

В геометрия, кривая пересечения в простейшем случае представляет собой линию пересечения двух непараллельных плоскостей в трехмерном евклидовом пространстве. Как правило, кривая пересечения состоит из точек пересечения двух поперечно пересекающийся поверхности, что означает, что в любой общей точке нормали к поверхности не параллельны. Это ограничение исключает случаи, когда поверхности соприкасаются или имеют общие части поверхности.

Пересечение двух плоскостей

Аналитическое определение кривой пересечения двух поверхностей легко только в простых случаях; например: а) пересечение двух плоскостей, б) плоское сечение квадрика (сфера, цилиндр, конус и т. д.), в) пересечение двух квадрик в частных случаях. В общем случае в литературе приводятся алгоритмы для вычисления точек кривой пересечения двух поверхностей.[1]

Линия пересечения двух плоскостей

Дано: два самолета линейно независимый, т.е. плоскости не параллельны.

Требуется: параметрическое представление линии пересечения.

Направление линии получается от кросс-продукт нормальных векторов: .

Точка линии пересечения можно определить, пересекая заданные плоскости с самолетом , которая перпендикулярна и . Вставка параметрического представления в уравнения унд дает параметры и .

Пример:

Нормальные векторы а направление линии пересечения - . Для точки , получается из формулы выше Следовательно

является параметрическим представлением линии пересечения.

Примечания:

  1. В особых случаях определение линии пересечения по Гауссово исключение может быть быстрее.
  2. Если одна (или обе) плоскости заданы параметрически , получается как вектор нормали и уравнение: .

Кривая пересечения плоскости и квадрики

В любом случае кривая пересечения плоскости и квадрики (сферы, цилиндра, конуса, ...) есть коническая секция. Подробнее см.[2] Важным применением плоских сечений квадрик являются контурные линии квадрик. В любом случае (параллельная или центральная проекция) контуры квадрик являются коническими сечениями. См. Ниже и Умриссконструкция.

Кривая пересечения цилиндра или конуса и квадрики

Определить точки пересечения прямой с квадрикой (т.е. линейная сфера ); нужно только решить квадратное уравнение. Итак, любая кривая пересечения конуса или цилиндра (они порождаются прямыми) с квадрикой состоит из точек пересечения прямых и квадрики (см. Рисунки).

На рисунках показаны возможности, возникающие при пересечении цилиндра и сферы:

  1. В первом случае существует только одна кривая пересечения.
  2. Во втором случае показан пример, в котором кривая пересечения состоит из двух частей.
  3. В третьем случае сфера и цилиндр касаются друг друга в одной особой точке. Кривая пересечения является самопересекающейся.
  4. Если цилиндр и сфера имеют одинаковый радиус, а средняя точка сферы расположена на оси цилиндра, то кривая пересечения состоит только из особых точек (окружности).

Общий случай: походный способ

Кривая пересечения: принцип походного алгоритма

В общем, нет никаких особых возможностей для использования. Одной из возможностей определения многоугольника точек кривой пересечения двух поверхностей является маршевый метод (см. Раздел Рекомендации ). Он состоит из двух основных частей:

  1. Первая часть - это алгоритм точки кривой, который определяет начальную точку в окрестности двух поверхностей точку на кривой пересечения. Алгоритм существенно зависит от представления данных поверхностей. В простейшей ситуации обе поверхности неявно задаются уравнениями , потому что функции предоставляют информацию о расстояниях до поверхностей и показывают через градиенты путь к поверхностям. Если одна или обе поверхности заданы параметрически, преимуществ неявного случая не существует. В этом случае алгоритм точки кривой использует трудоемкие процедуры, такие как определение точки основания кривой. перпендикуляр на поверхности.
  2. Вторая часть метода марширования начинается с первой точки на кривой пересечения, определяет направление кривой пересечения с помощью нормалей поверхности, затем делает шаг с заданной длиной шага в направлении касательной линии, чтобы получить начальная точка для второй точки кривой, ... (см. рисунок).

Подробнее об алгоритме похода см.[3]

Метод марширования создает для любой начальной точки многоугольник на кривой пересечения. Если кривая пересечения состоит из двух частей, алгоритм должен выполняться с использованием второй удобной отправной точки. Алгоритм довольно надежный. Обычно особые точки не представляют проблемы, потому что шанс встретить именно особую точку очень мал (см. Рисунок: пересечение цилиндра и поверхности ).

Применение: контурная линия

Точка контурной линии неявной поверхности с уравнением и параллельная проекция с направлением должен выполнить условие , потому что должен быть касательным вектором, что означает, что любая точка контура является точкой кривой пересечения двух неявных поверхностей

.

Для квадрик всегда является линейной функцией. Следовательно, контур квадрики всегда представляет собой плоское сечение (то есть коническое сечение).

Контурная линия поверхности (см. рисунок) отслеживался маршевым способом.

Замечание: Определение контурного многоугольника параметрической поверхности требуется трассировка неявной кривой в плоскости параметров.[4]

Условие для точек контура: .

Кривая пересечения двух многогранников

Кривая пересечения многогранников: три дома
Пересечение многогранников: два тора

Кривая пересечения двух многогранников представляет собой многоугольник (см. Пересечение трех домов). Отображение параметрически заданной поверхности обычно выполняется путем отображения прямоугольной сети в 3-мерное пространство. Пространственные четырехугольники почти плоские. Итак, для пересечения двух параметрически заданных поверхностей можно использовать алгоритм пересечения двух многогранников.[5] Смотрите изображение пересекающихся торов.

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

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

дальнейшее чтение

  • C: L: Баджадж, К.М. Hoffmann, R.E. Линч: Трассировка пересечений поверхностей, Комп. С помощью Geom. Дизайн 5 (1988), стр. 285-307.
  • R.E. Барнхилл, С. Керси: A Метод анализа для параметрической поверхности / пересечения поверхностей, Комп. С помощью Geom. Дизайн 7 (1990), стр. 257-280.
  • Р. Барнхилл, Г. Фарин, М. Джордан, Б. Пайпер: Поверхность / пересечение поверхности, Компьютерный геометрический дизайн 4 (1987), стр. 3-16.