
Министерство высшего образования и науки РФ
Государственное образовательное учреждение высшего профессионального образования
Национальный минерально-сырьевой университет «Горный»
Институт заочного образования
Отчет по лабораторным работам №№1-3
Курс "Компьютерная геометрия и графика"
Студентки 3 курса института информационных систем и вычислительной техники ЗФО специальность 230202 Серебрянниковой Ю.С., шифр 9405030019
Санкт-Петербург 2012
Лабораторная работа №1 Геометрические операции над моделями
Цель работы – научиться использовать булевы операции для получения объектов сложной конфигурации.
Для изучения булевых операций в двухмерном пространстве использую редактор CorelDraw X3.
Для создания примитивов в программе присутствуют инструменты:
|
- создание прямоугольников; - создание овалов; - создание многоугольников. |
Выделение нескольких объектов производится с помощью мыши при нажатой клавише Shift. Булевы операции доступны через пункт меню Упорядочить – Формирование:
Требуется: получить самостоятельно с помощью булевых операций объекты представленные на рисунке:
Фигуры верхнего ряда получены путем применения булевых операций к двум примитивам: квадрат и круг.
Фигуры начерчены с помощью инструментов "Прямоугольник" ( ) и "Овал" ( ) соответственно. К фигурам применены следующие параметры: заливка – белая, контур – черный, толщина линии – 2 мм.
Для получения фигур верхнего ряда примитивы были наложены друг на друга следующим образом:
Для получения фигуры слева применена
операция "Объединить"
(фигура 1), при этом объединяются исходные
фигуры; также можно применить команду
"Создание нового объекта, который
окружает выбранные объекты"
,
при этом исходные фигуры остаются в
неприкосновенности и появляется
объединяющий их контур, поэтому видимо
формально нельзя сказать, что это то
что нам нужно, ведь фигура не залита,
следовательно, точки находящиеся внутри
исходных множеств в новое множество не
включены.
Для получения центральной фигуры
применена операция "Пересечение"
(фигура 2).
Фигура справа получена путем применения
операции "Исключить"
(фигура 3), при этом круг остается в
неприкосновенности; операции "Упрощение"
,
аналогично предыдущему результату;
операции "Задние минус передние"
,
что наиболее полно отражает текущее
задание, так как в результате остается
лишь усеченный квадрат; аналогично
предыдущему можно использовать операцию
"Передние минус задние"
,
но в этом случае изначально круг следует
разместить под квадратом.
Фигуры второго ряда:
Крайняя слева получена путем применения операции "Задние минус передние" к двум примитивам "Пятиконечная звезда", разных размеров (фигура 4)
Центральная фигура получена путем "Объединения" трех примитивов: треугольник, прямоугольник и прямоугольник с закругленными углами (фигура 5).
Крайняя справа фигура получена с помощью
"Задние минус передние"
двух примитивов: звезда и круг. Взяты
две двенадцатилучевых звезды с разной
глубиной лучей и 12 кругов. Внешняя звезда
преобразована в кривую
(Упорядочить – Преобразовать в кривую),
затем, так как изначально звезда
представляет из себя ломаную прямую,
необходимо преобразовать эти линии в
кривые
,
а затем внутренние узлы сделать
симметричными
,
таким образом они приобретут плавный
изгиб (фигура 6).
Для изучения булевых операций в трехмерном пространстве использую пакет Blender 2.60а.
Запускаем пакет Blender, по умолчанию в рабочем пространстве по умолчанию уже имеется куб, камера и лампа. Применительно к заданию, нас интересуют исключительно геометрические объекты.
Чтобы получить первую фигуру из задания, на рабочий стол необходимо добавить цилиндр – Add-Mesh-Cylinder. По умолчанию, если не трогать систему координат, фигуры будут располагаться по центру относительно друг друга. Цилиндр необходимо сдвинуть таким образом, чтобы их пересечение представляло из себя требуемую фигуру. В правой части экрана располагаются многочисленные меню, позволяющие работать с объектами и слоями. Нас интересует меню: Object Modifier – Add Modifier – Boolean – Intersect. Операцию "Пересечение" можно применять выделив первым как цилиндр, так куб. Если выбрали цилиндр, то затем назначаем операцию Intersect, а в качестве второго объекта указываем Cube и нажимаем клавишу Apply.
Убираем в сторону оставшийся без изменений куб и получаем искомую четверть цилиндра. Если необходимо, чтобы угол поворота соответствовал исходнику, а у нас вышло не так, то нажимаем клавишу R и вращаем фигуру так как нам нравится (фигура 1).
Центральную фигуру первого ряда получаем из тех же примитивов: цилиндр и куб, с помощью булевой операции "Объединение" (фигура 2).
Крайняя справа фигура первого ряда получается путем исключения из цилиндра куба (фигура 3).
|
|
|
Фигура 1 |
Фигура 2 |
Фигура 3 |
Фигура слева во втором ряду представляет собой подобие фигуры 3, только из куба вычитается цилиндр (фигура 4).
Центральная фигура второго ряда представляет собой объединение двух примитивов сферы и кольца (torus) (фигура 5).
Последняя фигура получена путем исключения из куба 6 сфер (фигура 6). Берем куб, добавляем сферу, уменьшаем ее в размере и дублируем (shift+D). Применяем вычитание 6 раз. Эту же фигуру можно получить путем вычитания из куба двух цилиндров.
|
|
|
Фигура 4 |
Фигура 5 |
Фигура 6 |