Jump to content

Пересечение линии и цилиндра

Четыре случая пересечения прямой и цилиндра. Пересечения с серым цилиндром выделены красным. Глобальные оси черные. Пурпурная линия не имеет пересечений с цилиндром. Голубая линия имеет единственную точку пересечения. Зеленая линия имеет два пересечения. Желтая линия лежит по касательной к цилиндру, поэтому имеет бесконечно много точек пересечения.

Пересечение линии и цилиндра — это расчет любых точек пересечения с учетом геометрии аналитического описания линии и цилиндра в трехмерном пространстве.

Произвольная линия и цилиндр могут вообще не иметь пересечения. Или может быть одна или две точки пересечения. [1] Или линия может лежать вдоль поверхности цилиндра параллельно его оси, что приводит к бесконечному множеству точек пересечения. Описанный здесь метод различает эти случаи и, если пересечения существуют, вычисляет их положения.

Термин «цилиндр» может относиться к трехмерному телу или, как в этой статье, только к изогнутой внешней поверхности твердого тела. Вот почему считается, что линия, пронизывающая объем цилиндра, имеет две точки пересечения: точку на поверхности, где она входит, и ту, где она выходит. См. § торцевые заглушки .

Основная идея такого рода задачи пересечения состоит в том, чтобы представить каждую фигуру в виде уравнения, справедливого для всех точек фигуры. Решая их как систему двух одновременных уравнений, находятся точки, принадлежащие обеим формам, что является пересечением. Приведенные ниже уравнения были решены с использованием Maple .

Этот метод находит применение в вычислительной геометрии , графическом рендеринге , моделировании форм , физическом моделировании и связанных с ним типах вычислительного 3D-моделирования. Это привело к различным реализациям. [2] [3] [4] Этот метод тесно связан с пересечением линии и сферы .

Уравнение цилиндра, без торцевых крышек

[ редактировать ]

Позволять быть основанием цилиндра (или одной конечной точкой), быть единичным вектором оси цилиндра,радиус цилиндра и высота (или длина оси) . Цилиндр может иметь любую ориентацию.

Уравнение бесконечного цилиндра можно записать в виде

где любая точка на поверхности цилиндра. Уравнение просто утверждает, что точки находятся точно на евклидовом расстоянии от оси начиная с точки , где измеряется в единицах . Обратите внимание, что если является единичным вектором. Поскольку обе части уравнения всегда положительны или равны нулю, мы можем возвести его в квадрат и исключить операцию извлечения квадратного корня из евклидовой нормы в левой части:

Точка находится на расстоянии со знаком

от основания вдоль оси. Следовательно, два уравнения, определяющие цилиндр, исключая торцевые крышки, имеют вид

Позволять быть линией, проходящей через начало координат, будучи единичным вектором,и расстояние от начала координат.

Если ваша линия проходит не через начало координат, а через точку , т.е. ваша линия ,заменять с повсюду; расстояние тогда расстояние от .

Проблема с перекрёстком

[ редактировать ]

Пересечение прямой и цилиндра есть

где расстояние со знаком вдоль оси является

Перестановка первого уравнения дает квадратное уравнение для . Решив это для дает

где если является единичным вектором. Если

линия параллельна оси и пересечения нет, либо пересечение представляет собой прямую. Если

линия не пересекает цилиндр.

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

где все еще

Торцевые заглушки

[ редактировать ]

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

Полусферические торцевые заглушки

[ редактировать ]

Полусферические торцевые крышки представляют собой просто полусферы на обоих концах цилиндра. Этот объект иногда называют капсулой,или, возможно, сфера с линейной стреловидностью фиксированного радиуса.

Высота цилиндра не включает торцевые заглушки. Если - высота цилиндра, включая обе полусферические торцевые крышки, тогда .

Проверьте, есть ли линия пересекаетлюбая сфера: центр или и радиус :

Если

линия не пересекает сферу торца.

Если есть решения , примите только те, которые попадают в фактическую полусферу торцевой крышки:

или

где, еще раз,

Плоские торцевые заглушки

[ редактировать ]

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

Решение d простое:

Обратите внимание, что если

линия параллельна плоскости торцевой крышки (а также перпендикулярна оси цилиндра). Наконец, тогда и только тогда, когда

точка пересечения находится внутри фактической торцевой крышки (круглой области в плоскости).

Единичный вектор нормали в точке пересечения

[ редактировать ]

Одно из многих применений этого алгоритма — трассировка лучей , где вектор нормали единичного цилиндра на перекрестке необходим для преломленных и отраженных лучей и освещения.

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

Для поверхности цилиндра (без учета торцевых крышек, но включая шов) :

Для сферической торцевой крышки у основания :

для сферической торцевой крышки на другом конце, :

Для плоской торцевой крышки у основания :

для плоской торцевой крышки на другом конце, :

См. также

[ редактировать ]
  1. ^ Нарриен, Джон (1846). «Глава VI». Аналитическая геометрия со свойствами конических сечений . Лондон: Лонгман, Браун, Грин и Лонгманс. п. 156 . Проверено 12 декабря 2023 г. ...Таким образом, прямая линия может пересечь кривую поверхность второго порядка только в двух точках...
  2. ^ Шэне, Чинг-Куанг (1994). «Вычисление пересечения прямой и цилиндра (Глава V.1)» . В Хекберте, Поле (ред.). Графические драгоценные камни IV . AP Professional, Бостон. стр. 353–355. ISBN  9780123361561 . Проверено 12 декабря 2023 г.
  3. ^ Цихош, Джозеф М.; Ваггенспак, Уоррен Н. младший (1994). «Пересечение луча с цилиндром (глава V.2)» . В Хекберте, Поле (ред.). Графические драгоценные камни IV . AP Professional, Бостон. стр. 356–365. ISBN  9780123361561 . Проверено 12 декабря 2023 г.
  4. ^ Хелд, Мартин (1997). «ERIT — сборник эффективных и надежных тестов пересечений». Журнал графических инструментов . 2 (4): 25–44. дои : 10.1080/10867651.1997.10487482 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f1f3d9483b9749287b9f5fb423989523__1718189700
URL1:https://arc.ask3.ru/arc/aa/f1/23/f1f3d9483b9749287b9f5fb423989523.html
Заголовок, (Title) документа по адресу, URL1:
Line-cylinder intersection - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)