 | 3D-МАСТЕРСКАЯ :: Пересечение линии с плоскостью |
Пересечение линии с плоскостью
Автор: Alvaro Luna Bautista
1.1 Эта статья рассматривает решение известной задачи по определению точки пересечения линии с плоскостью, которую каждый студент решает, проходя курс начертательной геометрии.(Рис. 1). Эта статья поможет нам определить эту точку:
а) С помощью инструментов моделирования/редактирования программы Blender;
b) Без применения специальных скриптов;
с) На основании чисто геометрических рассуждений.

По этим причинам результат не может быть вычислен математически (иначе бы нам потребовался ряд формул и некоторые навыки программирования), однако будет весьма приемлемым, довольно точным и основанным на геометрической логике.
1.2 Основная цель заданий, подобных этому — избежать использования непредсказуемых булевых операций в Blender. И раз уж мы сможем определить точку пересечения линии и плоскости, то сможем применить данный метод в широком диапазоне ситуаций по пересечению двух объектов в сцене. Например в случае, показанном на Рис. 2, я построил пересечение призмы с плоскостью, используя принципы, описанные ниже.
1.3 Первое, что необходимо сделать — определить проекцию одного объекта (линия) на другой (плоскость). Найдём их используя одновременно вид спереди и сбоку в Blender в режиме ортографической проекции. Перед началом заглянем в меню привязки
Snap (
Shift-S). Опция
Cursor to selection (Курсор к выбранному) позволяет разместить курсор точно на предварительно выбранной вершине. Если мы теперь переведём относительный центр вращения/масштабирования в режим курсора (клавиша [>]), то эта вершина окажется в этом центре. Итак, начнём. А начнём мы с того, что линия и плоскость вместе будут у нас одним объектом (Рис.3 - то есть объект состоит из плоскости, произвольно расположенной в пространстве и линии, пересекающей плоскость под произвольным углом) и работаем мы в режиме Edit Mode.
1.4 В ортографическом режиме (
Num5) заходим в вид сбоку (
Num3) и выбираем самую верхнюю вершину плоскости.

Делаем её относительным центром координат (
Shift-S -> Cursor to selection). Теперь переходим в систему координат курсора (
>). Видим, что цветные стрелки и курсор находятся в верхней вершине плоскости. Теперь выбираем нижнюю вершину того ребра плоскости, проекция которого пересекает нашу прямую. Дублируем её (
Shift-D) и масштабируем (
S). Видим, что её проекция «скользит» по проекции ребра, приближаясь к точке пересечения проекций ребра и прямой. Максимально точно стараемся приблизить вершину и установить её в точку пересечения проекций. Для этого максимально приближаем вид и снова масштабируем (
S). Теперь в этом же виде выбираем в качестве центра координат нижнюю вершину проекции плоскости и дублируем другую вершину противоположного ребра (проекция которого тоже пересекает нашу прямую) и повторяем смещение выбранной копии вершины в точку пересечения проекций с помощью относительного масштабирования. Полученные точки проекции прямой выбираем и соединяем ребром (
F).
Рис. 6 Масштабирование построенной прямой1.5 Теперь меняем вид на ортографический вид спереди (
Num1). Мы видим новую прямую - результат наших предыдущих построений. (Рис. 5) Выбираем одну из вершин этой прямой тоже в качестве центра координат и масштабируем, другую вершину до пересечения с проекцией прямой. (Рис. 6). Чем точнее мы это сделаем, тем точнее результат. Вот и всё. Визуально оцениваем результат наших построений поворачивая сцену в 3Д-окне с помощью зажатой средней клавиши мыши.
1.6 Приведённый метод геометрических построений можно применять при решении широкого спектра задач начертательной геометрии. Действительно, если с помощью Blender мы решили задачу, основываясь на простых принципах, то можем решать и более сложные геометрические задачи. Сейчас мы попытаемся решить задачу определения линии пересечения двух плоскостей.
1.7 Итак начнём с объекта, состоящего из двух пересекающихся плоскостей (Рис. 7). В режиме редактирования переходим в вид сбоку (
Num3). С помощью описанного ранее метода строим точки пересечения проекций рёбер плоскостей, масштабируя относительно вершин (1st. pivot; 2st. Pivot), как описывалось в п. 1.4 и как показано на Рис. 8. Полученные точки соединяем рёбрами. Таким образом мы получили проекции рёбер одной плоскости на другую.
Рис. 8 Боковой вид . Проекции рёбер одной плоскости на другую1.8 Теперь переходим в вид спереди (
Num1). На группе рисунков ниже видно, что нужно масштабировать построенные проекции рёбер, до точек пересечения с проекциями других рёбер. Возможно для этого лучше переключиться в режим непрозрачного (solid) отображения модели, чтобы лучше понять ситуацию. Когда мы соединим отмасштабированные результирующие точки, то получим линию пересечения плоскостей. Проверяем достоверность построения вращением сцены во вьюпорте.
1.9 Вот и всё. Мы с вами неплохо провели время, решая задачки начертательной геометрии, которым действительно пара сотен лет с помощью Blender. И пройдите по приведённым мною интересным ссылкам, посвящённым предмету начертательной геометрии.
Автор: Alvaro Luna Bautista

< назад ::
Оглавление ::
вперед >