МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ КОСТРОМСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА ТЕХНОЛОГИИ ХУДОЖЕСТВЕННОЙ ОБРАБОТКИ МАТЕРИАЛОВ И ТЕХНИЧЕСКОГО СЕРВИСА
И.А. МАКШАНЧИКОВ А.Г. БЕЗДЕНЕЖНЫХ
3D-программа Rhino Ceros
учебно-методическое пособие
Кострома КГТУ 2009 |
УДК 004.925.8
Макшанчиков И.А. 3D программа Rhino Ceros: учебно-методическое пособие / И.А. Макшанчиков, А.Г. Безденежных – Кострома: Изд-во Костромского государственного технологического университета, 2009. – 44 с.
В учебно-методическом пособии приводятся сведения о основных операциям, используемых в процессе проектирования в специализированном трехмерном редакторе для ювелиров Rhino Ceros. Рассматривается пользовательский интерфейс и основные функции программы.
Предназначено для студентов вузов специальности 071504 «Художественное проектирование ювелирных изделий», изучающих дисциплину «Компьютерное проектирование».
Рецензент: кандидат технических наук, доцент кафедры инженерной графики С.И. Каргина
Рекомендовано к изданию редакционно-издательским советом университета.
Ó Костромской государственный технологический университет, 2009
1 Теоретическое введение
Rhinoceros (Rhino) это коммерческое программное обеспечение для трехмерного NURBS моделирования разработки Robert McNeel & Associates. Преимущественно используется в промышленном дизайне, архитектуре, корабельном проектировании, ювелирном и автомобильном дизайне, в CAD/CAM проектировании, быстром прототипировании, реверсивной разработке, а также в мультимедиа и графическом дизайне.
Модель, созданная в Rhino, демонстрирует NURBS поверхности (Рендеринг Flamingo).
Rhino специализируется на NURBS моделировании. В плагины разрабатываемые McNeel входят Flamingo (рейтрейс рендеринг), Penguin (нефотореалистичный рендеринг), Bongo (анимация), and Brazil (сложный рендеринг). Существует более 100 сторонних плагинов для Rhino. Как и во многих других программах моделирования, в Rhino есть свой язык скриптов основанный на Visual Basic, а SDK позволяет читать и записывать файлы напрямую.
Растущая популярность Rhino основана на его разнородности, разнообразии функциональной применимости, быстрой обучаемости, относительно небольшой стоимости, и возможности импорта/экспорта почти 30 различных форматов, которые позволяют использовать Rhino как «конвертер» в рабочем процессе.
Формат файла Rhino (*.3DM) используется для передачи геометрии NURBS. Разработчиками Rhino был начат проект openNURBS, чтобы предоставить разработчикам графического программного обеспечения инструменты для точной передачи геометрии между приложениями. Инструментарий openNURBS с открытым кодом включает в себя спецификации файлового формата 3DM, документацию, исходный код библиотек C++ и сборки .NET 2.0 для чтения файлов 3DM, на всех поддерживаемых платформах (Windows, Windows x64, Mac, and Linux).
Геометрические типы Rhino
Существует пять фундаментальных геометрических объектов в Rhino: точки, кривые, поверхности, тела и полигональные объекты.
Кривые, поверхности и тела - это NURBS-объекты. NURBS-объекты описываются математическими выражениями, благодаря чему могут быть хорошо сглаженными. Эти гладкие модели могут быть экспортированы в другие модельеры, программы тонирования и создания анимации, например в CAM-системы. Некоторые модельеры используют линейные сегменты и полигональные объекты для апроксимирования гладких поверхностей, поэтому Rhino может создать полигональный объект, аппроксимировав NURBS-объект для экспорта в эти программы.
Точки
Объект «точка» отмечает единственную точку в 3D-пространстве. Это самый простой объект в Rhino, поскольку представляется единственной точкой.
Кривые. Создание кривых
Не имеет значения, создаете ли вы линию, ломаную, угол, окружность, свободно деформированную кривую или любой другой объект из меню Кривые (Curve), - это всегда NURBS-объекты. Вы можете создавать кривые, используя множество инструментов, доступных в меню Кривые (Curve). Кривые могут быть замкнутые или разомкнутые, 2D или 3D, (рис. 1).
а
б
Рис. 1. Виды кривых: а-2D кривые; б-3D кривые
Кривые поверхностей (рис. 2)
Все NURBS-поверхности состоят из кривых. В ребрах поверхностей находятся кривые, это можно использовать при моделировании. Кривые могут быть созданы не только на гранях поверхностей. Например, кривые могут быть созданы ребрами нескольких поверхностей. Планарное сечение существующих поверхностей или тел, по пересечениям двух и более поверхностей, также кривые могут быть построены непосредственно на поверхностях.
Рис. 2. Кривые на поверхностях
Редактирование кривых (рис. 3)
Кривые могут редактироваться несколькими способами. Вы можете включить контрольные точки и перемещать их для редактирования кривой, также вы можете редактировать кривые вручную.
Примечание
Кривые, лежащие на поверхностях, никак с этими поверхностями не связаны. Таким образом, редактирование этих кривых, скорее всего, уведет их от поверхностей.
Рис. 3. Редактирование кривых
Поверхности. Создание поверхностей
Поверхности также могут быть представлены как NURBS-объекты. В Rhino, в меню Поверхность (Surface) есть множество инструментов для создания поверхностей как «с нуля», так и из существующих кривых. При помощи NURBS-объектов в Rhino можно представлять поверхности любой формы (рис. 4).
Рис. 4. Поверхности
Усеченные поверхности (TRIMMED)
Поверхности могут быть усеченными и неусеченными. Поверхности могут быть усечены кривыми, другими поверхностями (рис. 5), или телами. Для некоторых команд есть разница между усеченными и неусеченными поверхностями. Таким образом, важно знать, усечена поверхность или нет.
Рис. 5. Усечение поверхности
Редактирование поверхностей
Все поверхности могут быть отредактированы перемещением их контрольных точек (рис. 6). Это полезно при создании свободных форм, органических поверхностей. Когда две или более поверхности соединяются для образования тела или неполного тела, их контрольные точки уже не могут быть отредактированы.
а б
Рис. 6. Оригинальная (а) и отредактированная (б) поверхности
Отображение поверхностей
На экране поверхности выглядят как набор пересекающихся линий. Эти линии отражают параметры поверхности. Кривые помогают вам представить форму поверхности. Когда поверхность выделена, ее параметрические линии становятся яркими. В некоторых программах такие линии называются исопарамы (isoparams) или изопары (isoparms).
На границах поверхностей лежат параметрические линии и кривые. Вы можете использовать кривые на границе поверхности с командами взаимодействующими с поверхностями, но не можете использовать параметрические линии непосредственно.
Если отделить кривые с поверхности, включая параметрические линии, то можно модифицировать их.
Тела и неполные тела
Поверхности, задающие объем, называются телами. Тела могут быть созданы несколькими способами:
создавая базовые тела командами меню Тела (Solid) (рис. 7);
соединяя две или более поверхностей вместе (рис. 8);
вращением поверхности;
на основе сечения поверхностей;
применяя команды создания поверхностей, вы получите замкнутый объем.
Базовые тела
Можно создавать базовые тела, используя меню Тела(Solid).
Рис. 7. Базовые тела
Тела объединения
Если две или более поверхностей соединены вместе, образуя замкнутый объем, то получившийся объект называется телом. На рис. 8 приведен пример тела состоящего из двух плоскостей, цилиндрической и конической поверхности. Эти поверхности могут быть объединены вместе для образования тела.
Рис. 8. Объединение тела
Неполные тела объединения
Если две или более поверхностей объединяются вместе, но не образуют замкнутого объема, то такой объект называется неполным телом. На рис. 9 показаны три поверхности, после объединения образующие неполное тело. Обратите внимание, что по сравнению с предыдущим рисунком здесь отсутствует верхняя плоскость.
Неполные тела могут выглядеть как поверхности, но они ведут себя подобно телам. В частности, некоторые команды редактирования поверхности не применимы к телам и неполным телам.
Рис. 9. Неполное тело, объединение
Отделение поверхностей из тел и неполных тел
Тела и неполные тела, как правило, состоят из множества поверхностей. Иногда возникает необходимость отделить поверхность от тела, поработать с ней и снова вернуть ее в тело. Можно разбить тело или неполное тело на отдельные поверхности или отделить любую поверхность с возможностью последующего присоединения.
Редактирование тел
Главное отличие поверхностей от тел – это то, что тела нельзя редактировать при помощи контрольных точек. Ведь в процессе редактирования контрольных точек тел и неполных тел можно разделить ребра составляющих тела поверхностей. Таким образом может нарушиться замкнутый объем тел.
Логические операции
В Rhino можно использовать логические операции сложения, вычитания и пересечения тел.
Индетификация тел и поверхностей
Для получения типа объекта выполните команды: Что (What); далее используя опцию Выбрать объект (Choose object), выберете интересующий вас объект. Информация о нем отразится в командной строке.
Полигональные объекты
Все свои геометрические модели Rhino представляет как NURBS-объекты. Однако многие модельеры работают с полигональным представлением геометрических моделей, например: 3D Studio, Lightwave и FormZ. Формат DXF, системы AutoCAD также поддерживает полигональные объекты.
Поскольку так много программных продуктов поддерживают полигональные объекты, Rhino может отконвертировать NURBS в полигональные модели для экспорта в 3DS, LWO, DXF и STL-форматы файлов.
Rhino поддерживает оба типа лиц полигональных моделей: треугольные и четырехугольные как показано на рис. 10, 11.
Рис. 10. NURBS-поверхности и тела
Рис. 11. Полигональные объекты, созданные из NURBS-поверхностей и тел
На настоящий момент в Rhino можно создавать, импортировать и отображать полигональные объекты, но их редактирование серьезно ограничено. Полигональные объекты могут модифицироваться командами трансформирования, и их контрольные точки могут редактироваться. Rhino разрабатывался для моделирования объектов на основе сплайнов, таким образом, более сложные команды, такие как усечение, логические операции и вращение недоступны для полигональных объектов.