Позже для сглаживания модели мы воспользуемся объектом HyperNURBS, а пока можем добавить к цилиндру не сколько разбиений. Параметру Rotation Segments присвойте значение 12, параметру Height Segments - значение 3, а параметру Segments в разделе Caps - значение 1 (торцы должны быть достаточно детализированы).
Преобразуйте цилиндр в редактируемый объект и выделите обе торцевые поверхности. Уменьшите эти поверхности с помощью команды Extrude Inner, а с помощью функции Extrude вдавите вглубь цилиндра уменьшенные многоугольники верхнего торца (см. рис. 1.177).
![Создание зеркального отображения с помощью объекта Symmetry](/images/openglorg08/openglorg08-183.png)
Рис. 1.175. Создание зеркального отображения с помощью объекта Symmetry
![Завершенная модель сердца](/images/openglorg08/openglorg08-184.png)
Рис. 1.176. Завершенная модель сердца Расстояние между дном цилиндра и вдавленными поверхностями определяет толщину днища чашки.
Теперь переходим к боковой поверхности. Выделите верхний и нижний многоугольник в любом столбце, пропустив средний, и дважды выдавите их наружу, причем во второй раз значение параметра Offset должно быть меньше, чем в первый раз (рис. 1.178).
Обратите внимание на поверхностью, обозначенную на рис. 1.178 наклонной штриховкой. С ней мы будем работать на следующем шаге. Выдели эту поверхность, а также многоугольник, лежащий напротив нее на верхнем выступе.
Соедините эти две поверхности с помощью инструмента Bridge (рис. 1.179). Этим мы завершим моделирование ручки. Подчините этот объект новому объекту HyperNURBS и переместите вершины ручки таким образом, чтобы получилась корректная фигура.
![В качестве базового объекта выбран цилиндр](/images/openglorg08/openglorg08-185.png)
Рис. 1.177. В качестве базового объекта выбран цилиндр
![Два выдавливания многоугольников](/images/openglorg08/openglorg08-186.png)
Рис. 1.178. Два выдавливания многоугольников
![Заполнение промежутка между двумя выступами](/images/openglorg08/openglorg08-187.png)
Рис. 1.179. Заполнение промежутка между двумя выступами С помощью инструмента Knife в режиме "Loop" добавьте в верхней и нижней частях ручки цикличный разрез, чтобы устранить склон в месте присоединения ручки к чашке (рис. 1.180).
Из-за дополнительных разбиений объекту HyperNURBS недостаточно пространства для создания плавного соединения. Сглаженная поверхность должна находиться ближе к граням и поверхностям полигонального объекта.
![Закругленная чашка Оптимизация цилиндра](/images/openglorg08/openglorg08-188.png)
Рис. 1.180. Закругленная чашка Оптимизация цилиндра Между дном и боковой поверхностью чашки существует резкий переход, нехарактерный для сглаженного объекта.
Дело в том, что цилиндр после преобразования в полигональный объект не оптимизирует свои торцы. По этой причине грани по краю торцов существуют дважды, и объект HyperNURBS видит не одну неразрывную поверхность, а два отдельных объекта, и потому не может выполнить сглаживание за этими гранями.
Исправим эту ситуацию с помощью функции Optimize (рис. 1.181).
![Оптимизация чашки](/images/openglorg08/openglorg08-189.png)
Рис. 1.181. Оптимизация чашки Команду Optimize можно также применить только к выделенным поверхностям, поэтому перед выполнением этой команды в режиме работы с многоугольниками убедитесь в том, что со всех поверхностей снято выделение - в таком случае оптимизация будет выполнена для всего объекта.
Если заглянуть внутрь чашки, то станет очевидна еще одна проблема: хотя объект был сглажен, поверхность внутри все равно волнистая (рис. 1.182).
![Некорректное сглаживание треугольных многоугольников](/images/openglorg08/openglorg08-190.png)
Рис. 1.182. Некорректное сглаживание треугольных многоугольников