Кривая пересечения - Википедия - Intersection curve
В геометрия, кривая пересечения в простейшем случае представляет собой линию пересечения двух непараллельных плоскостей в трехмерном евклидовом пространстве. Как правило, кривая пересечения состоит из точек пересечения двух поперечно пересекающийся поверхности, что означает, что в любой общей точке нормали к поверхности не параллельны. Это ограничение исключает случаи, когда поверхности соприкасаются или имеют общие части поверхности.
Аналитическое определение кривой пересечения двух поверхностей легко только в простых случаях; например: а) пересечение двух плоскостей, б) плоское сечение квадрика (сфера, цилиндр, конус и т. д.), в) пересечение двух квадрик в частных случаях. В общем случае в литературе приводятся алгоритмы для вычисления точек кривой пересечения двух поверхностей.[1]
Линия пересечения двух плоскостей
Дано: два самолета линейно независимый, т.е. плоскости не параллельны.
Требуется: параметрическое представление линии пересечения.
Направление линии получается от кросс-продукт нормальных векторов: .
Точка линии пересечения можно определить, пересекая заданные плоскости с самолетом , которая перпендикулярна и . Вставка параметрического представления в уравнения унд дает параметры и .
Пример:
Нормальные векторы а направление линии пересечения - . Для точки , получается из формулы выше Следовательно
является параметрическим представлением линии пересечения.
Примечания:
- В особых случаях определение линии пересечения по Гауссово исключение может быть быстрее.
- Если одна (или обе) плоскости заданы параметрически , получается как вектор нормали и уравнение: .
Кривая пересечения плоскости и квадрики
В любом случае кривая пересечения плоскости и квадрики (сферы, цилиндра, конуса, ...) есть коническая секция. Подробнее см.[2] Важным применением плоских сечений квадрик являются контурные линии квадрик. В любом случае (параллельная или центральная проекция) контуры квадрик являются коническими сечениями. См. Ниже и Умриссконструкция.
Кривая пересечения цилиндра или конуса и квадрики
Определить точки пересечения прямой с квадрикой (т.е. линейная сфера ); нужно только решить квадратное уравнение. Итак, любая кривая пересечения конуса или цилиндра (они порождаются прямыми) с квадрикой состоит из точек пересечения прямых и квадрики (см. Рисунки).
На рисунках показаны возможности, возникающие при пересечении цилиндра и сферы:
- В первом случае существует только одна кривая пересечения.
- Во втором случае показан пример, в котором кривая пересечения состоит из двух частей.
- В третьем случае сфера и цилиндр касаются друг друга в одной особой точке. Кривая пересечения является самопересекающейся.
- Если цилиндр и сфера имеют одинаковый радиус, а средняя точка сферы расположена на оси цилиндра, то кривая пересечения состоит только из особых точек (окружности).
Пересечение сферы и цилиндра: одна часть
Пересечение сферы и цилиндра: две части
Пересечение сферы и цилиндра: кривая с одной особой точкой
Пересечение сферы и цилиндра: касание по особой кривой
Общий случай: походный способ
В общем, нет никаких особых возможностей для использования. Одной из возможностей определения многоугольника точек кривой пересечения двух поверхностей является маршевый метод (см. Раздел Рекомендации ). Он состоит из двух основных частей:
- Первая часть - это алгоритм точки кривой, который определяет начальную точку в окрестности двух поверхностей точку на кривой пересечения. Алгоритм существенно зависит от представления данных поверхностей. В простейшей ситуации обе поверхности неявно задаются уравнениями , потому что функции предоставляют информацию о расстояниях до поверхностей и показывают через градиенты путь к поверхностям. Если одна или обе поверхности заданы параметрически, преимуществ неявного случая не существует. В этом случае алгоритм точки кривой использует трудоемкие процедуры, такие как определение точки основания кривой. перпендикуляр на поверхности.
- Вторая часть метода марширования начинается с первой точки на кривой пересечения, определяет направление кривой пересечения с помощью нормалей поверхности, затем делает шаг с заданной длиной шага в направлении касательной линии, чтобы получить начальная точка для второй точки кривой, ... (см. рисунок).
Подробнее об алгоритме похода см.[3]
Метод марширования создает для любой начальной точки многоугольник на кривой пересечения. Если кривая пересечения состоит из двух частей, алгоритм должен выполняться с использованием второй удобной отправной точки. Алгоритм довольно надежный. Обычно особые точки не представляют проблемы, потому что шанс встретить именно особую точку очень мал (см. Рисунок: пересечение цилиндра и поверхности ).
Пересечение с цилиндром: две части
Пересечение с цилиндром: одна часть
Пересечение с цилиндром: одна особая точка
Применение: контурная линия
Точка контурной линии неявной поверхности с уравнением и параллельная проекция с направлением должен выполнить условие , потому что должен быть касательным вектором, что означает, что любая точка контура является точкой кривой пересечения двух неявных поверхностей
- .
Для квадрик всегда является линейной функцией. Следовательно, контур квадрики всегда представляет собой плоское сечение (то есть коническое сечение).
Контурная линия поверхности (см. рисунок) отслеживался маршевым способом.
Замечание: Определение контурного многоугольника параметрической поверхности требуется трассировка неявной кривой в плоскости параметров.[4]
- Условие для точек контура: .
Кривая пересечения двух многогранников
Кривая пересечения двух многогранников представляет собой многоугольник (см. Пересечение трех домов). Отображение параметрически заданной поверхности обычно выполняется путем отображения прямоугольной сети в 3-мерное пространство. Пространственные четырехугольники почти плоские. Итак, для пересечения двух параметрически заданных поверхностей можно использовать алгоритм пересечения двух многогранников.[5] Смотрите изображение пересекающихся торов.
Смотрите также
Рекомендации
- ^ Геометрия и алгоритмы автоматизированного проектирования, п. 94
- ^ CDKG: Computerunterstützte Darstellende und Konstruktive Geometrie (TU Darmstadt) (PDF; 3,4 МБ), стр. 87–124
- ^ Геометрия и алгоритмы автоматизированного проектирования, п. 94
- ^ Геометрия и алгоритмы автоматизированного проектирования, п. 99
- ^ Геометрия и алгоритмы автоматизированного проектирования п. 76
дальнейшее чтение
- C: L: Баджадж, К.М. Hoffmann, R.E. Линч: Трассировка пересечений поверхностей, Комп. С помощью Geom. Дизайн 5 (1988), стр. 285-307.
- R.E. Барнхилл, С. Керси: A Метод анализа для параметрической поверхности / пересечения поверхностей, Комп. С помощью Geom. Дизайн 7 (1990), стр. 257-280.
- Р. Барнхилл, Г. Фарин, М. Джордан, Б. Пайпер: Поверхность / пересечение поверхности, Компьютерный геометрический дизайн 4 (1987), стр. 3-16.