Линия, отсутствие пересечения или совпадение
Две различные непараллельные плоскости пересекаются по прямой. Параллельные различные плоскости общих точек не имеют. Совпадающие плоскости имеют бесконечно много общих точек, но не выделяют единственную линию пересечения. Поэтому начинать с поиска двух точек полезно лишь после проверки взаимного положения.
В координатах пусть α: n₁·X = D₁ и β: n₂·X = D₂. При ненулевых нормалях направление искомой прямой u = n₁ × n₂. Если u ≠ 0, остаётся найти одну общую точку P; тогда X = P + tu. Если u = 0, нужно сравнить не только нормали, но и свободные члены с тем же коэффициентом пропорциональности.
Алгоритм двух вспомогательных сечений
- Выберите вспомогательную плоскость γ₁, например горизонтальную плоскость уровня.
- Постройте прямые a₁ = α ∩ γ₁ и b₁ = β ∩ γ₁. Их общая точка P принадлежит обеим исходным плоскостям.
- Выберите другую вспомогательную плоскость γ₂ и аналогично найдите Q.
- Соедините P и Q на каждой проекции. Проверяйте, что P и Q различны в пространстве.
- Для ограниченных граней оставьте только участки прямой внутри обеих граней и установите видимость.
Вместо плоскостей уровня можно использовать следы: общая точка горизонтальных следов и общая точка фронтальных следов дают две точки линии пересечения. Но если следы параллельны, совпадают или встречаются за пределами удобной компоновки, вспомогательные сечения часто лучше. Пересечение любых двух случайных линий на эпюре не гарантирует принадлежности обеим плоскостям.
Проверяемый пример
Пусть α: x + y + z = 30, β: x − y = 0, координаты в миллиметрах. В плоскости γ₁: z = 0 получаем x + y = 30 и x = y; следовательно, P(15;15;0). В плоскости γ₂: z = 10 получаем x + y = 20 и x = y; значит, Q(10;10;10). Направление Q − P = (−5;−5;10) пропорционально (1;1;−2).
Нормали равны n₁ = (1;1;1), n₂ = (1;−1;0); n₁ × n₂ = (1;1;−2). Поэтому удобно записать линию как X(t) = (t;t;30 − 2t), где t имеет размерность миллиметров. Для t = 12 точка R(12;12;6) удовлетворяет обоим уравнениям: 12 + 12 + 6 = 30, 12 − 12 = 0. Проверяемая длина PQ равна √(25 + 25 + 100) = √150 ≈ 12,247449 мм.
| Плоскость уровня | Общая точка | Контроль α | Контроль β |
|---|---|---|---|
| z = 0 | (15;15;0) | 15 + 15 = 30 | 15 − 15 = 0 |
| z = 10 | (10;10;10) | 10 + 10 + 10 = 30 | 10 − 10 = 0 |
| z = 6 | (12;12;6) | 12 + 12 + 6 = 30 | 12 − 12 = 0 |
Таблицу можно прокручивать по горизонтали →
Границы и вырожденные случаи
Если β заменить уравнением 2x + 2y + 2z = 60, она совпадёт с α: деление на два воспроизводит всё исходное уравнение. При свободном члене 80 получится параллельная плоскость x + y + z = 40, не имеющая с α общих точек. Сравнивать только направления следов недостаточно: нужны и положения.
В некоторых сечениях a₁ и b₁ окажутся параллельными, хотя исходные плоскости пересекаются. Это означает неудобную ориентацию выбранной γ₁: она параллельна искомой линии или не даёт единственной общей точки. Следует сменить вспомогательную плоскость. Если выбранное сечение содержит всю искомую линию, обе линии сечения могут совпасть; оно тоже не выделяет одну точку P.
Для реальных граней бесконечная линия не означает физического контакта деталей. Если область α ограничена треугольником, а область β — другим многоугольником, нужно отдельно пересечь найденную прямую с их границами. При почти параллельных плоскостях решение чувствительно к ошибкам построения; дополнительные точки проверяют подстановкой, а не только совпадением пикселей.
Первичная база
Монж, Géométrie descriptive, [1798], ETH-Bibliothek Rar 5465, раздел I, §§ 14–22, с. 21–29 — задачи взаимного положения прямых и плоскостей. Координаты этой статьи и расчёт длины PQ самостоятельные. ISO 5456-2:1996 относится к ортогональному оформлению, а не служит источником векторного доказательства.
