Органическое моделирование
При построении таких объектов, как здание, предметы мебели и т.п., то есть объектов с прямыми углами, ровными краями и несложными поверхностями, вполне можно обойтись использованием одних лишь точек, полигонов и примитивов.А как бы вы поступили, если бы пришлось создать криволинейную поверхность? Для моделирования естественных объектов, например, животных, растений и людей, часто требуется неоднозначный подход. Хотя в принципе их можно создать, используя уже полученные знания, но тем не менее это очень и очень трудная задача. Вам бы пришлось вручную подгонять положение той или иной точки и полигонов, чтобы с достаточной степенью точности передать очертания объекта. Мельчайшая ошибка будет очень заметна. Так что в этом случае необходима особая геометрия, более подходящая для создания органических поверхностей.
Существует три метода создания органической геометрии: SubPatches (Подразделенные поверхности), кривые и сопряжения (curves and patches), а также Metageometry (Метагеометрия). Далее будут рассмотрены первые два метода, поскольку они используются в большинстве случаев. Метагеометрия имеет весьма ограниченное применение, если вы хотите узнать об этом методе подробнее, обратитесь к руководству пользователя LightWave 3D.
SubPatches
Один из самых простых способов создания органической геометрии - это так называемые подразделенные поверхности. В LightWave они носят название SubPatches. Создать SubPatch нельзя, но в него можно преобразовать.Чтобы создать подразделенную поверхность, необходимо указать один из полигонов объекта. После подобного преобразования все острые углы и кромки на поверхности объекта будут сглажены
На рис. 3.55 изображен ступенчатый объект, состоящий из трех четырехугольников. Смежные полигоны расположены под прямыми углами. Если преобразовать этот объект в SubPatches, то все острые края и углы сглаживаются, поверхность становится плавной (рис. 3.56). В результате объект состоит из трех SubPatch - по одному на каждый полигон. Никаких других геометрических объектов при преобразовании создано не было.
Преобразовать объект, состоящий из полигонов, в SubPatches очень просто - всего-навсего необходимо нажать на нужную клавишу.
Преобразование объекта в SubPatches
1. Постройте куб, используя процедуру создания параллелепипеда (рис. 3.57).
2. Перейдите на вкладку Construct (Строить), а затем, чтобы преобразовать все полигоны в текущем слое в SubPatches, на панели инструментов выберите пункт SubPatch или нажмите клавишу Tab (рис. 3.58).
3. Переведите Modeler в режим выделения точек.
4. Выделите точку объекта.
5. Перейдите на вкладку Modify (Изменить), затем для вызова инструмента Move (Переместить) щелкните по кнопке Move или нажмите клавишу T.
6. Перетащите точку. Обратите внимание, как изменяется при этом геометрия объекта (рис. 3.59).
7. Закройте инструмент, нажав клавишу Пробел.
8. Нажмите клавишу / (Слэш), чтобы отменить выделение точек.
9. Щелкните по кнопке SubPatch или нажмите клавишу Tab, чтобы преобразовать SubPatches в полигоны (рис. 3.60).
В приведенном выше примере куб был преобразован в сферический, объект. Вы, наверное, удивлены, что произошла именно такая метаморфоза - скорее всего вы ожидали, что объект в результате будет все-таки больше походить на куб. Может быть, судя по описанию, вы ожидали, что будут сглажены ребра?
Для каждого полигона существует алгоритм построения сглаживающей поверхности. Таким образом, при ее создании LightWave применяет упомянутый алгоритм для двух смежных полигонов, образующих ребро куба. Если теперь эту операцию проделать с каждым из ребер, то есть скруглить их, в результате получится сфера - абсолютно круглая, гладкая поверхность.
Существует два способа, при помощи которых можно сделать более «круглые» или более «квадратные» SubPatches. Первый способ заключается в том, что степень сглаживания SubPatch определяется количеством геометрических элементов, используемых для создания поверхности. Чем больше полигонов участвует в построении поверхности, тем больше будет похож получившийся объект на своего предшественника.
В предыдущем примере для определения поверхности использовалось минимально необходимое число полигонов. Чем больше элементов, из которых состоит объект, тем больше кривизна сглаживающей поверхности, тем меньше проявляется эффект сглаживания. Для достижения желаемого результата необходимо всего лишь разбить каждую из граней на сегменты. Вы уже можете самостоятельно осуществить такое разбиение, применив полученные знания. Выполнив процедуру разбиения объекта на сегменты, вы получите куб, каждая грань которого состоит из девяти четырехугольников. Затем проделайте шаги 2-9 процедуры создания SubPatches (рис. 3.61). Так как в данном случае для определения формы объекта используется большее количество элементов, то после преобразования объект будет больше напоминать исходный. Вы можете пойти еще дальше, сместив границы сегментов ближе к краям объекта, эффект сглаживания при этом будет еще меньше (рис. 3.62).
Второй способ задать степень сглаживания поверхности заключается в использовании весовой карты подразделенной поверхности (SubPatch Weight Map). Этот метод очень прост в реализации, он не требует дополнительных геометрических построений (разбиений объекта на сегменты). Подробнее о нем рассказывается в главе 5.
Если вам нравится объект, преобразованный в SubPatches, но требуется работать с ним через полигоны, вы можете преобразовать его в полигоны и зафиксировать при помощи команды Freeze (Заморозить). Перейдите на вкладку Construct, щелкните по кнопке Freeze на панели инструментов или нажмите клавиши Ctrl+D.
Окно Statistics можно использовать не только для выделения полигонов, преобразованных в SubPatch, но и для выделения полигонов, не относящихся к типам three-point и four-point (подробнее об этом читайте на следующей странице).
В поле Patch Divisions (Уровень разбиения) окна General Options (Общие настройки) можно указать уровень сглаживания.
Сплайновые сопряжения и кривые
Подразделенные поверхности не подходят для моделирования высокоточных объектов. Для решения таких задач лучше всего использовать кривые и сплайновые сопряжения.Однако работа со сплайновыми сопряжениями более запутана и сложна, чем с SubPatches. Кроме того, необходимо более тщательно продумать их вид, чтобы как можно точнее передать вид поверхностей. Но, тем не менее, многие разработчики моделей предпочитают использовать именно этот способ органического моделирования.
Моделирование с применением сплайновых сопряжений можно сравнить с работой с папье-маше. Сначала в вашем распоряжении имеется только каркас - основа конструкции, ее формообразующий элемент. Затем вы заполняете каркас материалом, придавая ему целостную форму. Чем больше элементов использовано при создании каркаса, тем точнее будет соответствовать создаваемый объект своему реально существующему прототипу. Подобным образом и осуществляется работа со сплайновыми сопряжениями.
В отличие от SubPatches сплайновые сопряжения не преобразуют существующие геометрические элементы при создании органической формы. Вместо этого используются другие компоненты - кривые или сплайны, которые и определяют форму сопряжения полигонов, из которых состоит объект. Кривые похожи на элементы каркаса конструкции из папье-маше. В результате сплайновое сопряжение - это не что иное, как совокупность полигонов, описывающих некоторую искривленную поверхность.
Существует ряд различных методов и инструментов создания кривых. Рассмотрим три основных способа.
Преимущества и недостатки SubPatch
Как уже упоминалось ранее, при перемещении отдельных элементов объекта происходит перерасчет геометрии всего объекта и его перестройка. Это весьма существенное достоинство-SubPatches. В результате редактирование объекта очень напоминает вылепливание фигуры из куска глины. Любые внесенные изменения отображаются непосредственно в окне проекции.Ниже перечислен ряд преимуществ использования SubPatches:
-работа с объектом проста, она подобна работе с куском глины;Однако, несмотря на все очевидные преимущества, SubPatches обладают и рядом весьма существенных недостатков:
-несложно преобразовывать полигоны в SubPatches и обратно;
-при изменении элементов объекта автоматически запускается алгоритм сглаживания - происходит перерасчет геометрии.
-алгоритм сглаживания способен обрабатывать только полигоны типа three-point и four-point, при попытке преобразования полигонов других типов возникнет сообщение об ошибке;
-подразделенные поверхности не всегда подходят для моделирования объектов с острыми углами и ровными поверхностями;
-есть некоторые сложности при работе с UV-картами. Подробнее об этом читайте в главе 12.
Построение кривой, проходящей через заданные точки
1. Создайте четыре точки, выполнив процедуру создания серии точек (рис. 3.63).
2. Выделите точки, обходя их слева направо.
3. Перейдите на вкладку Create (Создать),затем на панели инструментов из выпадающего меню Make Curve (Построить кривую) выберите пункт Make Open Curve (Построить разомкнутую кривую) или нажмите клавиши Ctrl+P (рис. 3.64). В результате будет создана кривая (рис. 3.65).
Другой способ построить кривую - использовать инструмент Sketch (Эскиз). Этот метод создания кривой более нагляден, однако при его использовании достаточно сложно контролировать количество точек кривой, что может негативно отразиться в дальнейшем при создании сплайнового сопряжения.
Построение кривой при помощи инструмента Sketch
1. Перейдите на вкладку Create, затем, чтобы запустить инструмент Sketch, щелкните по кнопке Sketch на панели инструментов или нажмите клавишу ' (Апостроф).
2. Из выпадающего меню Modeler, расположенного на панели инструментов, выберите пункты Windows -> Numeric Options Open/Close или нажмите клавишу N. Откроется окно Numeric.
3. Убедитесь, что в поле Туре (Тип) установлено значение Curve (Кривая) - рис. 3.66.
4. Мышью нарисуйте кривую, подобную созданной в предыдущем примере (рис. 3.67).
Даже если форма нарисованной вами кривой соответствует форме ранее созданной, количество ее точек будет отлично от числа точек, использованных для построения первой кривой. Единственный способ избежать этого - железной рукой нарисовать точную копию. Поэтому вполне естественно, что данный метод построения кривых находит достаточно узкое применение.
Третий, и последний способ построения кривых - это использование инструмента Spline Draw (Рисование сплайна). Основное достоинство этого метода заключается в том, что допускается изменять кривую, прежде чем она будет окончательно построена, тем самым можно добиться желаемого вида.Построение кривой при помощи инструмента Spline Draw
1. Перейдите на вкладку Create, затем, чтобы запустить инструмент Spline Draw, на панели инструментов нажмите на кнопку Spline Draw. 2. Чтобы создать первую точку, щелкните мышью в одном из видов. 3. Создайте еще три точки. Заметьте, что кривая будет строиться по мере создания каждой новой точки, а сами точки будут находиться в центре светло-синих окружностей - маркеров редактирования кривой (рис. 3.68).
4. Чтобы изменить положение точки, перетащите соответствующий маркер (рис. 3.69).
5. На панели инструментов из выпадающего меню Modeler выберите пункты Windows ->Nmeric Options Open/Close или нажмите клавишу N. Откроется окно Numeric (рис. 3.70).
6. В поле Curve Points (Количество точек кривой) введите новое значение или для изменения указанного значения воспользуйтесь расположенными справа стрелками. 7. Как только вы добились желаемого вида кривой, нажмите кнопку Spline Draw, чтобы завершить работу с инструментом. Кривая создана (рис. 3.71).
Хотя очень легко изменять вид кривой, перемещая ее точки, большую трудность представляет редактирование начала и конца кривой. Чтобы облегчить работу с этими «проблемными» точками, можно использовать так называемые Control Points (Контрольные точки). Подробнее об этом вы можете узнать из руководства пользователя Lightwave 3D.
Хотя мы считаем созданные геометрические объекты кривыми, LightWave рассматривает их как полигоны. Поэтому, если вы работаете в режиме выделения полигонов, кривые можно выделять и редактировать точно так же, как и обычные полигоны.При выделении кривой вокруг ее начальной точки появляется желтый ромб (рис. 3.72) -индикатор начальной точки кривой. Более подробно об этом рассказывается далее.
Теперь пора перейти к созданию поверхности. Для определения формы сплайнового сопряжения необходимо указать три или четыре кривые. Степень сглаживания поверхности прямо пропорциональна количеству используемых для ее создания полигонов. После создания сплайнового сопряжения (Make Spline Patch) вы указываете количество полигонов, входящих в него.
Команда Make Spline Patch
1. Используя один из описанных выше методов, постройте четыре кривые, определяющие создаваемое четырехгранное сплайновое сопряжение (рис. 3.73).
2. Переведите Modeler в режим выделения точек и выделите две точки, которые образуют один из углов сопряжения.
3. Перейдите на вкладку Detail (Детали), затем, чтобы связать первую и последнюю точки двух кривых, щелкните по кнопке Weld (Связать) или нажмите клавиши Ctrl+W.
4. Повторите описанные выше действия, чтобы создать три оставшихся угла (рис. 3.74).
5. Переведите Modeler в режим выделения полигонов.
6. Выделите все кривые против часовой стрелки, при этом запомните, какую кривую выделили первой.
7. Перейдите на вкладку Multiply (Размножить), затем из выпадающего меню Patches (Сопряжения) выберите пункт Make Spline Patch (Создать сплайновое сопряжение) или нажмите клавиши Ctrl+F. Откроется окно Make Spline Patch (рис. 3.75).
8. В полях Perpendicular (Перпендикуляр) и Parallel (Параллель) установите число создаваемых полигонов в двух взаимно перпендикулярных направлениях. Отсчет производится от первой выделенной вами кривой.
9. Если вы хотите, чтобы полигоны были равномерно распределены по образующим кривым, щелкните по кнопке Length (Длина). А если требуется, чтобы вершины полигонов лежали в характерных (узловых) точках каждой кривой, то нажмите на кнопку Knots (Узлы).
10. Щелкните по кнопке ОК, чтобы закрыть окно и создать Spline Patch (рис. 3.76).
Так как Lightwave 3D рассматривает кривую как полигон, то для редактирования кривых можно использовать инструменты редактирования полигонов - Flip (Инвертирование нормали или направления кривой), Freeze (Заморозить), Add Points (Добавить точки), Smooth (Сгладить). Подробнее об этих функциях читайте в главе 4 или обратитесь к руководству пользователя Lightwave.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий