Gradient tool где находится в иллюстраторе команда. Создание градиентов в Illustrator. Использование границ в режиме просмотра

Под геометрическими примитивами понимают тот базовый набор геометрических фигур, который лежит в основе всех графических построений, причем эти фигуры должны образовывать " базис " в том смысле, что ни один из этих объектов нельзя построить через другие. Однако вопрос о том, что включать в набор геометрических примитивов, нельзя считать окончательно решенным в компьютерной графике. Например, количество примитивов можно свести к некоему минимуму, без которого нельзя обойтись, и этот минимум сводится к аппаратно реализованным графическим объектам. В этом случае базисный набор ограничивается отрезком, многоугольником и набором литер (символов).

Другая точка зрения состоит в том, что в набор примитивов необходимо включить гладкие кривые различного рода (окружности, эллипсы, кривые Безье ), некоторые классы поверхностей и даже сплошные геометрические тела. В качестве трехмерных геометрических примитивов в таком случае предлагаются пространственные кривые, параллелепипеды, пирамиды, эллипсоиды. Но если такой расширенный набор примитивов связан с аппаратной реализацией, то возникает проблема перенесения программных приложений с одного компьютера на другой, поскольку такая аппаратная поддержка существует далеко не на всех графических станциях. Кроме того, при создании трехмерных геометрических примитивов программисты сталкиваются с проблемой их математического описания, а также разработки методов манипулирования такими объектами, поскольку те типы объектов, которые не попали в список базовых, надо уметь приближать с помощью этих примитивов.

Во многих случаях для аппроксимации сложных поверхностей используются многогранники, но форма граней может быть различной. Пространственный многоугольник с числом вершин больше трех не всегда бывает плоским, а в этом случае алгоритмы изображения многогранников могут привести к некорректному результату. Поэтому программист должен сам позаботиться о том, чтобы многогранник был описан правильно. В этом случае оптимальным выходом из положения является использование треугольников, поскольку треугольник всегда является плоским. В современной графике это, пожалуй, самый распространенный подход.

Но существует и альтернативное направление, которое называется конструктивной геометрией тел . В системах, использующих этот подход, объекты строятся из объемных примитивов с использованием теоретико- множественных операций ( объединение , пересечение ).

Любая графическая библиотека определяет свой набор примитивов. Так, например, широко распространенная интерактивная система трехмерной графики OpenGL включает в список своих примитивов точки (вершины), отрезки, ломаные, многоугольники (среди которых особо выделяются треугольники и четырехугольники), полосы (группы треугольников или четырехугольников с общими вершинами) и шрифты. Кроме того, в нее входят и некоторые геометрические тела: сфера, цилиндр, конус и др.

Понятно, что для изображения таких примитивов должны быть разработаны эффективные и надежные алгоритмы, поскольку они являются конструктивными элементами. Исторически сложилось так, что первые дисплеи были векторными, поэтому базовым примитивом был отрезок . Но, как уже было отмечено в первой главе нашего курса, самая первая интерактивная программа Sketchpad А.Сазерленда в качестве одного из примитивов имела прямоугольник , после чего этот объект уже традиционно входил в различные графические библиотеки.

Здесь мы рассмотрим такие примитивы, как вершина , отрезок , воксель и модели, строящиеся на их основе, а также функциональные модели .

Для этих пространственных моделей используются в качестве примитивов вершины (точки в пространстве), отрезки прямых (векторы), из которых строятся полилинии , полигоны и полигональные поверхности . Главным элементом описания является вершина, все остальные являются производными. В трехмерной декартовой системе координаты вершины определяются своими координатами (x,y,z), линия задается двумя вершинами, полилиния представляет собой незамкнутую ломаную линию, полигон - замкнутую ломаную линию. Полигон моделирует плоский объект и может описывать плоскую грань объемного объекта. Несколько граней составляют этот объект в виде полигональной поверхности - многогранник или незамкнутую поверхность ("полигональная сетка").


Рис. 4.1.

В современной компьютерной графике векторно-полигональная модель является наиболее распространенной. Она применяется в системах автоматизированного проектирования, компьютерных играх, тренажерах, ГИС, САПР и т. д. Достоинства этой модели заключаются в следующем:

  • Удобство масштабирования объектов.
  • Небольшой объем данных для описания простых поверхностей.
  • Аппаратная поддержка многих операций.

К числу недостатков полигональных моделей можно отнести то, что алгоритмы визуализации выполнения топологических операций (например, построение сечений) довольно сложны. Кроме того, аппроксимация плоскими гранями приводит к значительной погрешности, особенно при моделировании поверхностей сложной формы.

  • Простое выполнение топологических операций; например, чтобы показать сечение пространственного тела, достаточно воксели сделать прозрачными.
  • К ее недостаткам относятся:

    • Большое количество информации, необходимое для представления объемных данных.
    • Значительные затраты памяти, ограничивающие разрешающую способность, точность моделирования.
    • Проблемы при увеличении или уменьшении изображения; например, с увеличением ухудшается разрешающая способность изображения.

    В статье я решил описать процесс создания скрипки. И мой выбор был не случайным. Дело в том, что скрипка имеет ряд нетривиальных областей с точки зрения моделинга…

    Для того, чтобы разобраться с этим, я условно поделил создание скрипки на принципиально разные подходы к моделированию:

    1. Моделирование деки скрипки. Форма основной детали инструмента имеет сложную поверхность с изгибами заданной формы;
    2. Гриф скрипки. Он не доставил много трудностей при моделинге, но тем не менее…
    3. Мост скрипки;
    4. Головка скрипки;
    5. Струны

    Вот основные элементы на примере которых мы и разберем весь процесс.

    1. 3д моделирование деки

    Для этого этапа я не просто нашел проекционное изображение скрипки. Мне потребовался топографический чертеж с изолиниями. Такой же как бывает на картах местности, где замкнутыми линиями изображены высотные отметки. По сути этот чертеж послужит нам опорным шаблоном для отрисовки сплайнов в 3ds max:

    Здесь четко прорисованы продольный и поперечные профили. Судя по ним мы можем понимать, что поверхность деки меняется. Это и нужно взять на вооружение. С чего я начал работу. В первую очередь я отрисовал с помощью сплайна половину внешнего контура:

    Здесь вообще все строилось лишь половинами, а вторая часть получалось зеркальной симметрией.

    Все вместе выглядит так:

    Когда закончил создание профилей, то развернул на 90 градусов, так как они создавались на виде сверху:

    Отлично, основа задана. Переходим к построению полигональной сетки корпуса. Для этого я снова перехожу на вид сверху и создаю элементарную плоскость (Plane ):

    Как видите на рисунке сверху, я создал не просто плоскость, а такую тонкую полоску с сегментацией 1 х 1. Ребра я создам самостоятельно так, как мне нужно. Подправляем край, подгоняя его ко внешнему контуру:

    Нарезаем как и говорил дополнительные ребра:

    В данном случае я создал 6 дополнительных ребер. Этого мне достаточно.

    Переходим на вид сбоку либо спереди, в зависимости от того, как у вас ориентирована сцена. Главное, видеть профиль. Находясь на уровне редактирования вершин этой полоски подгоняем по сплайну профиля нашу полоску, формируя изгиб. Остальные сплайны я пока скрыл, т.к. в противном случае они все свалились бы в одну кучу и было бы не понятно, на какой из них ориентироваться:

    Так это выглядит в проекции:

    Подобную процедуру проделываем со всеми поперечными профилями:

    Теперь я нарезаю на каждой полоске одно центральное продольное ребро:

    Выделяем два крайних просплита полигонов так, как показано на рисунке ниже:

    И удаляем их. После чего используя инструмент Bridge , соединяем последовательно каждое ребро с ребром напротив. Предварительно нужно объединить все полоски в один объект функцией Attach :

    Так это выглядит в перспективе:

    Последнюю группу полигонов я наращивал с зажатым Shift вручную:

    Переходим на уровень редактирования вершин и подгоняем точки по внешнему контуру:

    В результате мы получаем примерно вот такой результат:

    Остается достроить мелкие «хвостики», стараясь при этом не перегружать полигональную сетку:

    Переводим Pivot на крайнее ребро, которое послужит стыком со второй симметричной половиной:

    Применив модификатор Symmetry , получаем очень неплохой начальный результат:

    Теперь нам нужно сформировать фигурные прорези:

    Однако до этого обязательно создайте копию поверхности, зеркально перевернув ее по оси Z, это будет нижняя поверхность скрипки.

    Создаем основу для прорези:

    Она также получена элементарным сплайном. Советую не торопиться с этим, а уделить побольше времени точности формы. Подгоняем сплайн прорези к поверхности:

    Добавляем модификатор Shell к этому сплайну и наращиваем толщину:

    Совмещаем эту заготовку с поверхностью основы, так чтобы она как бы пересекала ее, выделяем основу и выбираем :

    Выбираем ProBoolean и в нем нажимаем на кнопку Start Picking , после чего щелкаем по заготовке, с помощью которой хотим вырезать отверстие:

    Когда вы применяете объекты типа Boolean , нужно конвертировать оболочку обратно в Editable Poly :

    Внутреннюю стенку пока удаляем:

    И остается провести зачистку полигональной сетки. Bollean любит ее «портить». Также нужно соединить появившиеся точки дополнительными ребрами:

    Достраиваем внутреннюю стенку еще раз. Разница в том, что она более корректна, чем та, которую мы удалили:

    Заодно можем создать необходимые Edge Loop , чтобы TurboSmooth не съедал кромки в процессе сглаживания. Кроме того внешнюю кромку можно дополнительно доработать добавлением фаски (Chamfer ):

    В некоторых местах, где много мелких изгибов, возникают искажения. Пройдемся еще раз по всему контуру и отредактируем его вручную:

    Полученный результат меня более чем устраивает:

    Итак, что мы имеем?

    Две половины, верхнюю и нижнюю, одна из которых с фигурным вырезом:

    Эти половины присоединяем (attach ) друг к другу. После чего выделяем по очереди, внешнее ребро и создаем дополнительный сплит полигонов, небольшую полоску, далее повторяем то же самое со второй половиной:

    Выделяем все полигоны этих полосок и копируем в отдельный объект:

    Переходим снова к выделению ребер и соединяем обе половины, используя инструмент Bridge :

    На виде сверху важно уточнить форму этой полоски:

    Кое-где я достраивал по два ребра и корректировал контур:

    В результате всех коррекций и сглаживания получается примерно так:

    Очень удобно на виде сверху его корректировать. Это сделать совершенно необходимо:

    И заводим полигоны вниз за основную поверхность:

    Эту процедуру следует повторить и снизу.

    Применяем модификатор Symmetry , сшиваем обе половины, сворачиваем точки стыка (Weld ):

    Результат:

    1. 3д моделирование грифа

    Моделирование грифа я начал с построения плоскости и подгонки ее по найденному чертежу:

    Как видите, я точно также как и с декой работаю лишь над одной из половин, а вторая создается путем применения модификатора Symmetry .

    Подгоняем более точно, сворачиваем стек и добавляем модификатор Shell , чтобы нарастить толщину данной основе:

    Нарезаем дополнительные ребра. Это позволит создать равномерную структуру и корректно задать изгиб:

    Применяем модификатор Bend и опытным путем подбираем значения модификатора, чтобы получить такой результат:

    Теперь переходим к моделированию нижнего основания грифа. Я решил отделить его от фигурной головки грифа, так как головка является достаточно сложным элементом, который удобнее будет смоделировать отдельно и затем уже соединить с нижним основанием. Моделирование я начал с построения сплайна:

    Корректируем форму этого сплайна и конвертируем его в Editable Poly :

    После чего важно достроить ребра и сформировать корректную полигональную сетку, состоящую из четырехугольников:

    При необходимости нужно ориентировать эту заготовку. В моем случае я развернул ее на 90 градусов:

    Для большей точности можно использовать модификатор FFD 2x2x2 :

    После чего я ориентировал и подогнал окончательно обе половины:

    Нижняя половина имеет округлость. Ее создать не сложно. Добавим два ребра по середине на боковой и нижней гранях:

    И удаляем полигоны между этими ребрами как показано на рисунке ниже:

    Теперь переходим на уровень редактирования ребер и используя инструмент Bridge создаем скос из полигонов:

    Создаем дополнительные ребра:

    Формируем округлость и применяем модификатор Symmetry , чтобы создать симметричную половину:

    Создаем дополнительные EdgeLoop , применяем модификатор TurboSmooth :

    Окончательно подгоняем элементы грифа к деке:

    Аналогичным образом формируем вторую часть грифа с той лишь разницей, что нужно проделать четыре отверстия под струны. В основе этих отверстий лежат восьмиугольники. В качестве шаблона можно использовать цилиндр с восемью гранями:

    Корректируем полигональную сетку:

    1. 3д моделирование скрипичного моста

    Мост скрипки – это вертикально расположенная фигурная планка на середине деки, которая натягивает струны для их звучания. Пожалуй наиболее простой в плане создания элемент, однако к его созданию я подошел немного творчески.

    Сперва, важно решить, что мы будем делать с моделью скрипки, а следовательно и с этим мостиком. Дело в том, что это плоский элемент, и получают такие элементы путем создания сплайна в качестве контура.

    Хотите стать профи в 3D-дизайне и легко создавать потрясающие рендеры высокого уровня? Тогда кликайте по прямо сейчас!

    В статье по вопросам топологии я уже описывал такие элементы. Если вы планируете эту модельку переносить из пакета в пакет для обработки, то однозначно нужно выдерживать качество топологии сетки на должном уровне, в частности добавлять множество ребер на основную поверхность, чтобы сформировать четырехугольники и ни в коем случае не оставлять брошенных точек. Но что если мы не планируем переносить модель в другой пакет. Я планирую все процессы: от моделинга до визуализации провести здесь же в 3ds max. Тогда можно не усердствовать с правильной сеткой.

    К делу! Я обрисовал контур, лишь его половину, т.к. вторую можно отзеркалить:

    Много точек, не так ли? Зеркалим вторую половину и аттачим одну половину к другой, точки на стыке естественно спаиваем командами Fuse (точное совмещение) и Weld (спаивание):

    На дальнейшие действия, которые не приведут к четырехугольникам я получил право по причине, описанной выше. Удаляем два больших полигона, являющиеся N-угольниками (где N >> много больше 10):

    Я сделал это для того, чтобы сгладить TurboSmooth , в противном случае с такими N-угольниками у меня ничего бы не вышло:

    В результате мы получаем вот такие «ленты»:

    Теперь мне нужно создать удаленные полигоны обратно, уже на сглаженную основу. Это делается функцией Cap , но элемент по середине не даст просто так этого сделать, его следует пока отделить через функцию Detach :

    Выделяем кромку и применяем Cap :

    То же самое проделываем с отделенным элементом:

    Немного увеличиваем по длине и пересекаем один элемент с другим:

    Теперь снова выделяем большой элемент, применяем – ProBoolean :

    Жмем Start Picking и выбираем маленький элемент, в результате мы проделаем фигурное отверстие:

    Применение булиновых операций влечет за собой ломанные сетки. Это проявляется во множестве брошенных точек и ребер. Их нужно естественно зачистить:

    Результат:

    1. 3д моделирование скрипичной головки

    Это пожалуй наиболее сложный элемент в изготовлении всей модели скрипки. Процесс создания скрипичной головки можно смело отнести к теме моделинга резного декора.

    Скрипичная головка имеет характерную особенность, которая заключается в ее форме. Это спираль. Учтем этот факт. Начинаем моделинг с создания контурного сплайна:

    При создании контура я советую вам не мельчить в погоне за сглаженностью контура. Обилие точек на начальном этапе может в итоге сыграть с нами злую шутку. Мы попросту не сможем увязать все точки в единую корректную сетку, из-за чего и сглаживание окажется некачественным.

    Второй момент: выдерживайте между точками примерно равные расстояния по всему контуру, дабы задать однородность будущей детали.

    И третий момент: никаких конвертаций точек в Безье ради сглаживания!

    Пусть сохраняется небольшая угловатость контура, углы сгладятся на последующих этапах модификаторами.

    Теперь следует конвертировать наш контур в Editable Poly , в результате чего получим полигон (N-угольник со множеством брошенных точек), которые нам и предстоит соединить достраиваемыми ребрами:

    И снова создаем поперечные ребра, соединяя брошенные точки:

    Какой на данном этапе главный принцип?

    Равномерность контуров и сетка состоящая преимущественно из квадов (четырехугольников). Чем больше квадов в вашей сетке, тем она пластичнее, тем проще ее редактировать.

    Пришло время сформировать объем. Для этого я группами избирательно выделяю полигоны и применяю к ним инструмент Extrude для выдавливания. На данном этапе у нас получаются ступеньки, что пока неизбежно:

    Теперь в тех местах, где получились ступеньки с резким переходом нужно их ликвидировать. Для этого нам нужно соединить точки функцией Target Weld . И делать это следует по принципу переноса верхней точки к нижней, не наоборот. После чего удалить ребра-атавизмы:

    Крышку сверху пока удаляем. Ее мы сформируем чуть позже иначе. В то же время окружность в основании будет проще выровнять без этой крышки:

    Теперь впереди пожалуй наиболее длительный и ответственный этап формирования плавной спирали. Ручная подгонка точек по высоте:

    Теперь я хочу сформировать углубление на внутренней стороне витка спирали. Это достигается опусканием вниз на фиксированное значение всех точек внутреннего ребра спирали:

    И наоборот, небольшим поднятием всех внешних точек также на фиксированное значение:

    После чего боковую поверхность можно удалить:

    Теперь следует выровнять верхнее основание как я и писал чуть выше. Для этого я создал обыкновенный цилиндр с количеством боковых граней соответствующим количеству ребер основания:

    Выравниваем точки:

    Вспомогательный цилиндр можно удалить. Создаем сферу, также выдерживаем нужное количество ребер, чтобы можно было совместить точки верхнего основания с крышкой, которую получим из сферы:

    Конвертируем сферу в Editable Poly . Как видите, нижняя часть удалена. Я оставил только верхушку. Она немного сплющена. Подгоняем ее к ребру верхнего основания еще более точно:

    Присоединяем одну часть к другой и спаиваем точки также через Target Weld , как и ранее:

    Постольку поскольку к головке скрипки мы применим модификатор TurboSmooth , то нужно создать дополнительные ребра на кромках:

    Как вы могли уже догадаться, это всего лишь одна их половин головки. Нам предстоит создать зеркально симметричную половину и совместить в итоге все в одно целое. Разворачиваем заготовку под небольшим уклоном:

    Поскольку локальные координаты заготовки также меняют угол ориентации в сцене, а от них зависит работа модификатора Symmetry , то надо эти координаты обнулить, вернув в исходное базовое положение. Для этого применяем утилиту Reset XForm . Стек модификаторов нужно «убить»:

    Добавляем модификатор Symmetry и снова «убиваем» стек:

    Выделяем кромки обеих половинок и используем инструмент Bridge , чтобы создать стенку из полигонов:

    После чего добавляем два новых ребра на этой поверхности для формирования небольшой «горки»:

    Выделяем полигоны:

    И применяем команду Extrude , чтобы выдавить выделенные полигоны. В настройках Extrude Выставляем Local Normal и подбираем значение выдавливания.

    Продолжаем формировать нашу головку. Создаем канавки:

    В итоге получаем такой результат:

    Также я сформировал скругление внизу:

    Остается совсем немного. Задаем основание для формирования паза, в котором будут располагаться колки для натягивания струн:

    Все процедуры повторяются, выделяем полигоны, применяем Extrude , выдавливаем на определенную величину:

    Не забываем добавить Edge Loop’ы , чтобы правильно сгладить модель:

    Результат сглаживания:

    В процессе соединения с грифом скрипки пришлось использовать формовку с помощью модификаторов FFD :

    Результат:

    1. Струны

    Что касается струн, то они были созданы из сплайнов с подгонкой по точкам:

    Придаем утолщение:

    Копируем струны:

    Что касается скрученной на колке части струны, то ее я получил с помощью спирали Helix :

    Придаем толщину и соединяем с основной частью струны:

    Проделываем процедуры со всеми струнами:

    Результат моделинга:

    .

    
    Top