Files
computer-graphics/lab1/report.tex

1436 lines
100 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[a4paper, final]{article}
%\usepackage{literat} % Нормальные шрифты
\usepackage[14pt]{extsizes} % для того чтобы задать нестандартный 14-ый размер шрифта
\usepackage{tabularx}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{amsmath}
\usepackage[left=25mm, top=20mm, right=20mm, bottom=20mm, footskip=10mm]{geometry}
\usepackage{ragged2e} %для растягивания по ширине
\usepackage{setspace} %для межстрочно го интервала
\usepackage{moreverb} %для работы с листингами
\usepackage{indentfirst} % для абзацного отступа
\usepackage{moreverb} %для печати в листинге исходного кода программ
\usepackage{pdfpages} %для вставки других pdf файлов
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{afterpage}
\usepackage{longtable}
\usepackage{float}
\usepackage{graphicx}
\usepackage{subcaption}
% \usepackage[paper=A4,DIV=12]{typearea}
\usepackage{pdflscape}
% \usepackage{lscape}
\usepackage{array}
\usepackage{multirow}
\renewcommand\verbatimtabsize{4\relax}
\renewcommand\listingoffset{0.2em} %отступ от номеров строк в листинге
\renewcommand{\arraystretch}{1.4} % изменяю высоту строки в таблице
\usepackage[font=small, singlelinecheck=false, justification=centering, format=plain, labelsep=period]{caption} %для настройки заголовка таблицы
\usepackage{listings} %листинги
\usepackage{xcolor} % цвета
\usepackage{hyperref}% для гиперссылок
\usepackage{enumitem} %для перечислений
\newcommand{\specialcell}[2][l]{\begin{tabular}[#1]{@{}l@{}}#2\end{tabular}}
\setlist[enumerate,itemize]{leftmargin=1.2cm} %отступ в перечислениях
\hypersetup{colorlinks,
allcolors=[RGB]{010 090 200}} %красивые гиперссылки (не красные)
% подгружаемые языки — подробнее в документации listings (это всё для листингов)
\lstloadlanguages{ SQL}
% включаем кириллицу и добавляем кое−какие опции
\lstset{tabsize=2,
breaklines,
basicstyle=\footnotesize,
columns=fullflexible,
flexiblecolumns,
numbers=left,
numberstyle={\footnotesize},
keywordstyle=\color{blue},
inputencoding=cp1251,
extendedchars=true
}
\lstdefinelanguage{MyC}{
language=SQL,
% ndkeywordstyle=\color{darkgray}\bfseries,
% identifierstyle=\color{black},
% morecomment=[n]{/**}{*/},
% commentstyle=\color{blue}\ttfamily,
% stringstyle=\color{red}\ttfamily,
% morestring=[b]",
% showstringspaces=false,
% morecomment=[l][\color{gray}]{//},
keepspaces=true,
escapechar=\%,
texcl=true
}
\textheight=24cm % высота текста
\textwidth=16cm % ширина текста
\oddsidemargin=0pt % отступ от левого края
\topmargin=-1.5cm % отступ от верхнего края
\parindent=24pt % абзацный отступ
\parskip=5pt % интервал между абзацами
\tolerance=2000 % терпимость к "жидким" строкам
\flushbottom % выравнивание высоты страниц
% Настройка листингов
\lstset{
language=C++,
extendedchars=\true,
inputencoding=utf8,
keepspaces=true,
% captionpos=b, % подписи листингов снизу
}
\begin{document} % начало документа
% НАЧАЛО ТИТУЛЬНОГО ЛИСТА
\begin{center}
\hfill \break
\hfill \break
\normalsize{МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ\\
федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого»\\[10pt]}
\normalsize{Институт компьютерных наук и кибербезопасности}\\[10pt]
\normalsize{Высшая школа технологий искусственного интеллекта}\\[10pt]
\normalsize{Направление: 02.03.01 <<Математика и компьютерные науки>>}\\
\hfill \break
\hfill \break
\hfill \break
\hfill \break
\large{Лабораторная работа №1}\\
\large{<<Изучение технологии создания реалистического объекта в среде Blender 3D>>}\\
\large{по дисциплине}\\
\large{<<Комьютерная графика>>}\\
% \hfill \break
% \hfill \break
\hfill \break
\end{center}
\small{
\begin{tabular}{lrrl}
\!\!\!Студент, & \hspace{2cm} & & \\
\!\!\!группы 5130201/20102 & \hspace{2cm} & \underline{\hspace{3cm}} &Тищенко А. А. \\\\
\!\!\!Преподаватель & \hspace{2cm} & \underline{\hspace{3cm}} & Курочкин М. А. \\\\
&&\hspace{4cm}
\end{tabular}
\begin{flushright}
<<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2025г.
\end{flushright}
}
\hfill \break
% \hfill \break
\begin{center} \small{Санкт-Петербург, 2025} \end{center}
\thispagestyle{empty} % выключаем отображение номера для этой страницы
% КОНЕЦ ТИТУЛЬНОГО ЛИСТА
\newpage
\tableofcontents
\newpage
\section*{Введение}
\addcontentsline{toc}{section}{Введение}
3D-моделирование — это процесс создания трёхмерной модели объекта.
В современном мире 3D-моделирование играет важную роль. Трёхмерная компьютерная графика позволяет создавать максимально реалистичные модели объекта. Сегодня 3D-моделирование используется в проектировании зданий, в ландшафтном дизайне, дизайне интерьеров, а также в компьютерных играх и программах, в
промышленности и медицине, а также во многих других сферах. Примером использования компьютерной графики является реставрация янтарной комнаты.
Одной из задач 3D-моделирования является построение реалистических моделей
объектов реального мира.
Реалистичность модели определяется следующими параметрами:
\begin{enumerate}
\item Соответствие формы объекта реальной форме.
\item Соответствие материала объекта особенностям объекта: цвет, текстура, шероховатость, отражаемость и другие.
\end{enumerate}
Программные пакеты, позволяющие моделировать объекты виртуальной реальности и создавать на основе этих моделей изображения, очень разнообразны, и различаются по функционалу, сложности, аппаратным требованиям, цене и так далее.
В данной работе будет рассматриваться программный пакет Blender 4.3.
\newpage
\section {Постановка задачи}
В данной работе необходимо:
\begin{enumerate}
\item Ознакомиться с возможностями пакета Blender, которые позволяют создавать реалистическую модель;
\item Выбрать три объекта реального мира и построить их визуализации в пакете Blender с учётом уникальных особенностей моделируемого объекта;
\item Отразить характерные особенности объекта, такие как:
\begin{itemize}
\item Геометрическая форма
\item Текстура и материал
\item Цвет
\item Освещение
\end{itemize}
\item Предоставить пошаговое руководство пользователя по получению результата.
\end{enumerate}
\newpage
\section{Описание функциональных возможностей пакета Blender}
Blender — это мощный и универсальный пакет для 3D-моделирования, анимации, рендеринга, скульптинга, композитинга и видео-монтажа. Он является бесплатным и с открытым исходным кодом, что делает его доступным для профессионалов и любителей.
Blender используется в различных областях:
\begin{itemize}
\item 3D-моделирование — создание и редактирование трехмерных объектов.
\item Анимация — разработка движущихся персонажей, эффектов и сцен.
\item Рендеринг — визуализация изображений с использованием движков Cycles и Eevee.
\item Скульптинг — цифровая лепка сложных форм.
\item Текстурирование и UV-развертка — нанесение текстур на 3D-объекты.
\item Физическая симуляция — моделирование воды, дыма, огня, тканей и т. д.
\item Композитинг и постобработка — редактирование изображений и видео.
\item Монтаж видео — встроенный видеоредактор для базового монтажа.
\item Программирование (Python API) — создание аддонов и автоматизация процессов.
\end{itemize}
\subsection{Возможности программы}
\subsubsection{3D-моделирование}
Blender предлагает широкий набор инструментов для моделирования:
\begin{itemize}
\item Полигональное моделирование — редактирование вершин, рёбер и граней.
\item NURBS и кривые — моделирование с использованием кривых Безье.
\item Метаболлы — создание органических форм.
\item Booleans (булевы операции) — вычитание, объединение и пересечение объектов.
\item Модификаторы — неразрушающее изменение геометрии (Subdivision Surface, Mirror, Array и др.).
\item Ретопология — оптимизация сетки для анимации и рендеринга.
\end{itemize}
\subsubsection{Цифровой скульптинг}
Blender позволяет создавать детализированные модели с высокой точностью:
\begin{itemize}
\item Dyntopo (динамическая топология) — адаптивное деление сетки.
\item Remesh — улучшение геометрии для дальнейшей работы.
\item Маскировка — изоляция областей при скульптинге.
\item Мультиразрешение — детализация сетки без потери формы.
\item Кисти (Brushes) — набор инструментов для лепки (Clay, Inflate, Grab и др.).
\end{itemize}
\subsubsection{Анимация и риггинг}
Blender имеет мощные инструменты для анимации:
\begin{itemize}
\item Keyframe Animation — покадровая анимация с интерполяцией.
\item Armature (Кости) — создание скелетов для персонажей.
\item Inverse Kinematics (IK) — автоматическое вычисление движения конечностей.
\item Shape Keys (Формы ключей) — создание мимики и морфинга объектов.
\item Graph Editor — контроль кривых анимации.
\item Grease Pencil — 2D-анимация в 3D-пространстве.
\end{itemize}
\subsubsection{Рендеринг}
Blender поддерживает несколько рендер-движков:
\begin{itemize}
\item Cycles — физически точный рендерер с трассировкой лучей (поддерживает GPU/CPU).
\item Eevee — рендеринг в реальном времени с использованием растеризации.
\item Workbench — быстрый рендер для предпросмотра моделей.
\item Freestyle — стилизованный рендер (например, для комиксов).
\end{itemize}
\subsubsection{Текстурирование и UV-развертка}
Blender предоставляет мощные инструменты для работы с текстурами:
\begin{itemize}
\item UV Mapping — развертка модели для наложения текстур.
\item Texture Painting — рисование текстур прямо на модели.
\item Shader Editor — создание сложных материалов с помощью узлов (nodes).
\item Procedural Textures — генерация текстур на основе алгоритмов.
\end{itemize}
\subsubsection{Физическая симуляция}
Blender позволяет имитировать физические явления:
\begin{itemize}
\item Cloth Simulation — симуляция тканей.
\item Fluid \& Smoke Simulation — симуляция воды, дыма, огня.
\item Soft Body — деформации мягких тел.
\item Rigid Body — симуляция твердых тел.
\item Particles — система частиц (пыль, искры, снег и т. д.).
\end{itemize}
\subsubsection{Композитинг и постобработка}
Blender включает узловую систему композитинга:
\begin{itemize}
\item Color Correction — корректировка цветов и уровней.
\item Blur \& Glare Effects — эффекты размытия и свечения.
\item Depth of Field (DOF) — имитация фокусировки камеры.
\item Green Screen (Chroma Key) — работа с хромакеем.
\end{itemize}
\subsubsection{Видеомонтаж (VSE - Video Sequence Editor)}
Blender также может использоваться как видеоредактор:
\begin{itemize}
\item Обрезка и склейка клипов.
\item Добавление эффектов и переходов.
\item Работа с аудиодорожками.
\end{itemize}
\subsubsection{Программирование и автоматизация (Python API)}
Blender позволяет создавать скрипты и аддоны:
\begin{itemize}
\item Автоматизация рутинных задач.
\item Создание новых инструментов.
\item Редактирование сцен и объектов через код.
\end{itemize}
\newpage
\section{Описание объектов моделирования}
\subsection{Объект моделирования №1}
Объектом №1 является покерная фишка (Рис.~\ref{fig:chip/real/front}-\ref{fig:chip/real/side-view-right}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/real/front.jpg}
\caption{Объект моделирования №1, вид с лицевой стороны.}
\label{fig:chip/real/front}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/real/back.jpg}
\caption{Объект моделирования №1, вид с обратной стороны.}
\label{fig:chip/real/back}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/real/side-view-left.jpg}
\caption{Объект моделирования №1, вид на лицевую сторону под углом слева.}
\label{fig:chip/real/side-view-left}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/real/side-view-right.jpg}
\caption{Объект моделирования №1, вид на лицевую сторону под углом справа.}
\label{fig:chip/real/side-view-right}
\end{figure}
\newpage
\textbf{Форма:} Покерная фишка представляет собой круглую плоскую дисковидную форму. На поверхности фишки есть небольшое колцевидное углубление.
\textbf{Материал:} Фишка изготовлена из пластика и покрыта белой краской. Номинал и узоры нанесены синей краской. Поверхность ближе к матовой.
\textbf{Особенности:} На фишке видны множественные дефекты покраски - отдельные точки и пятна синей краски, в особенности на лицевой стороне.
\newpage
\subsection{Объект моделирования №2}
Объектом №2 является зажим от пакета с хлебом (Рис.~\ref{fig:clamp/real/front}-\ref{fig:clamp/real/writing}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/clamp/real/front.jpg}
\caption{Объект моделирования №2, вид с лицевой стороны.}
\label{fig:clamp/real/front}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/clamp/real/back.jpg}
\caption{Объект моделирования №2, вид с обратной стороны.}
\label{fig:clamp/real/back}
\end{figure}
\newpage
\begin{figure}[h!]
\centering
\includegraphics[width=0.35\linewidth]{img/clamp/real/top.jpg}
\caption{Объект моделирования №2, вид сверху.}
\label{fig:clamp/real/top}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/clamp/real/writing.jpg}
\caption{Объект моделирования №2, развёртка для демонстрации надписи.}
\label{fig:clamp/real/writing}
\end{figure}
\textbf{Форма:} Зажим от пакета имеет форму деформированной плоскости с двумя цилиндрическими ободками сверху и снизу.
\textbf{Материал:} Зажим изготовлен из пластика и покрыта красной краской. Внутри ободков находятся кусочки проволоки, за счёт которых зажим запоминает приданную ему форму. Надпись со сроком годности нанесена белой краской.
\textbf{Особенности:} Объект имеет уникальную форму, которая была придана ему вручную специально для этой лабораторной работы. Также уникальной особенностью является надпись на объекте. В ней содержится срок годности и номер бригады -- <<09.03.25.2 - 1>>.
\newpage
\subsection{Объект моделирования №3}
Объектом №3 является сломанная линейка (Рис.~\ref{fig:ruler/real/front}-\ref{fig:ruler/real/back-side}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.2\linewidth]{img/ruler/real/front.jpg}
\caption{Объект моделирования №3, вид с лицевой стороны.}
\label{fig:ruler/real/front}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.2\linewidth]{img/ruler/real/back.jpg}
\caption{Объект моделирования №3, вид с обратной стороны.}
\label{fig:ruler/real/back}
\end{figure}
\newpage
\begin{figure}[h!]
\centering
\includegraphics[width=0.6\linewidth]{img/ruler/real/side.jpg}
\caption{Объект моделирования №3, вид сбоку на лицевую сторону.}
\label{fig:ruler/real/side}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/ruler/real/back-side.jpg}
\caption{Объект моделирования №3, вид сбоку на обратную сторону.}
\label{fig:ruler/real/back-side}
\end{figure}
\textbf{Форма:} Линейка имеет форму удлинённой плоской пластины с прямыми параллельными краями. Торец, на котором нанесены измерительные деления, скошен.
\textbf{Материал:} Линейка изготовлена из пластика и покрыта чёрной краской. Измерительные деления и отметки нанесены белой краской.
\textbf{Особенности:} Линейка имеет уникальный излом. Также она слегка погнута по всей длине. Видны следы продолжительной эксплуатации -- в некоторых местах стёрта краска, а в некоторых видны царапины.
\newpage
\section{Описание технологии разработки моделей}
\subsection{Объект моделирования №1}
\subsubsection{Реальные размеры изделия}
Диаметр - 40 мм
Высота - 2 мм
Ложбинка - 0.4 мм
\subsubsection{Моделирование}
Добавим изображение фишки в сцену, чтобы использовать его как визуальный ориентир. Нажимаем на цифру 7 на Num Pad (или выбираем "Top" в меню View - Viewpoint), чтобы перейти на вид сверху. Затем нажимаем сочетание клавиш Shift + A (либо открываем список Add в верхнем меню) и в разделе Image выбираем Reference. В открывшемся окне проводника выбираем изображение лицевой стороны покерной фишки и нажимаем Add~Image~(Рис.~\ref{fig:chip/modeling/1-add-reference}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/chip/modeling/1-add-reference.png}
\caption{Добавление изображения фишки.}
\label{fig:chip/modeling/1-add-reference}
\end{figure}
\newpage
Создадим цилиндрическую основу для будущей фишки. Нажимаем сочетание клавиш Shift + A (либо используем меню Add) и в разделе Mesh выбираем Cylinder (Рис.~\ref{fig:chip/modeling/2-add-cylinder}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/chip/modeling/2-add-cylinder.png}
\caption{Добавление цилиндра.}
\label{fig:chip/modeling/2-add-cylinder}
\end{figure}
Активируем режим прозрачности для точного совмещения объектов. Нажимаем сочетание клавиш Alt + Z (или выбираем "X-Ray" в правом нижнем меню Viewport Shading), чтобы видеть изображение сквозь цилиндр.
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/modeling/3-alt-z.png}
\caption{Режим прозрачности.}
\label{fig:chip/modeling/3-alt-z}
\end{figure}
Подгоним размеры и позицию изображения под геометрию цилиндра. Выбираем изображение, затем используем масштабирование (клавиша S) и перемещение (клавиша G), совмещая центр цилиндра с центром фишки на референсе. Для точной настройки перемещаем курсор с зажатой клавишей Shift. Результат на Рис.~\ref{fig:chip/modeling/4-positioning}.
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/modeling/4-positioning.png}
\caption{Результат подгонки изображения под размер цилиндра.}
\label{fig:chip/modeling/4-positioning}
\end{figure}
\newpage
Подготовим грани для формирования ложбинки. Нажимаем на цилиндр и переходим в режим редактирования (клавиша Tab или кнопка Edit Mode в верхнем меню). В режиме выбора граней (клавиша 3 или иконка Face Select) с зажатой клавишей Shift выбираем верхнюю и нижнюю грани цилиндра (Рис.~\ref{fig:chip/modeling/5-select-faces}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/modeling/5-select-faces.png}
\caption{Выбор верхней и нижней граней цилиндра.}
\label{fig:chip/modeling/5-select-faces}
\end{figure}
\newpage
Создадим контур внешнего края ложбинки. Возвращаемся на вид сверху (клавиша 7 на Num Pad). Нажимаем клавишу I (или выбираем Inset Faces в меню Mesh > Faces), чтобы добавить внутреннюю грань. Выравниваем её по внешнему краю ложбинки, используя референс для точности позиционирования.
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/modeling/6-insert-faces.png}
\caption{Добавление новых рёбер на верхней и нижней гранях цилиндра.}
\label{fig:chip/modeling/6-insert-faces}
\end{figure}
Сформируем внутренний контур ложбинки. Снова нажимаем клавишу I и создаём вторую грань, выравнивая её по внутреннему краю ложбинки (Рис.~\ref{fig:img/chip/modeling/7-insert-inner-faces}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/modeling/7-insert-inner-faces.png}
\caption{Добавление новых рёбер на верхней и нижней гранях цилиндра.}
\label{fig:img/chip/modeling/7-insert-inner-faces}
\end{figure}
Уберём референс из рабочей области для удобства. Возвращаемся в объектный режим (клавиша Tab), выбираем изображение и нажимаем клавишу H (или используем меню Object > Show/Hide > Hide Selected).
Зададим реальные размеры для модели. Нажимаем на цилиндр, затем клавишу N (или открываем меню View > Sidebar). В разделе Dimensions указываем: X/Y = 40mm, Z = 2mm. Нажимаем точку на Num Pad (или кнопку Frame Selected в правом верхнем углу) для фокусировки на модели (Рис.~\ref{fig:chip/modeling/8-sizing}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/chip/modeling/8-sizing.png}
\caption{Указание размеров фишки.}
\label{fig:chip/modeling/8-sizing}
\end{figure}
Применим масштабирование для корректной работы с размерами. Нажимаем сочетание клавиш Ctrl + A (или выбираем Apply > Scale в меню Object) и выбираем Scale (Рис.~\ref{fig:chip/modeling/9-scale}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.6\linewidth]{img/chip/modeling/9-scale.png}
\caption{Применение функции Scale к модели.}
\label{fig:chip/modeling/9-scale}
\end{figure}
\newpage
Создадим углубления для ложбинки. В режиме редактирования (клавиша Tab) с зажатой Alt выделяем грани ложбинки. Переключаемся на вид сбоку (клавиша 1 на Num Pad), нажимаем E (или Extrude в меню Mesh), задаём Z = 0.6mm в панели Median. Повторяем для нижней части: вид снизу (Ctrl + 7), выделение граней, углубление с Z = -0.6mm (Рис.~\ref{fig:chip/modeling/10-trench}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.9\linewidth]{img/chip/modeling/10-trench.png}
\caption{Формирование углублений ложбинки.}
\label{fig:chip/modeling/10-trench}
\end{figure}
Сгладим геометрию для реалистичного вида. Отключаем X-Ray (Alt + Z), в объектном режиме добавляем модификатор Subdivision Surface (меню Modifier Properties > Add Modifier). Устанавливаем Levels Viewport/Render = 3. Применяем Shade Smooth через контекстное меню объекта (Рис.~\ref{fig:chip/modeling/11-shade-smooth}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.9\linewidth]{img/chip/modeling/11-shade-smooth.png}
\caption{Сглаживание модели.}
\label{fig:chip/modeling/11-shade-smooth}
\end{figure}
Добавим контрольные рёбра для сохранения чётких граней. В режиме редактирования используем инструмент Loop Cut (сочетание клавиш Ctrl + R) возле перепадов высот. На верхней и нижней поверхностях создаём дополнительные грани инструментом Inset (клавиша I) (Рис.~\ref{fig:chip/modeling/12-new-edges}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip/modeling/12-new-edges.png}
\caption{Добавление новых рёбер для уточнения модели.}
\label{fig:chip/modeling/12-new-edges}
\end{figure}
Теперь добавим подложку, на которой разместим текстуру стола. В боковом меню (клавиша N) в разделе Location в поле Z указываем значение 1mm, чтобы приподнять модель. Затем нажимаем Shift + A и в разделе Mesh выбираем Plane (Рис.~\ref{fig:chip/modeling/13-plane}). Затем нажимаем H, чтобы временно скрыть добавленную поверхность.
\begin{figure}[h!]
\centering
\includegraphics[width=0.9\linewidth]{img/chip/modeling/13-plane.png}
\caption{Добавление плоскости.}
\label{fig:chip/modeling/13-plane}
\end{figure}
\newpage
\subsubsection{Текстурирование}
Приступим к наложению текстур на модель фишки для придания ей реалистичного внешнего вида. Переходим в раздел UV Editing через верхнее меню программы. В правом окне активируем объектный режим с помощью клавиши Tab (либо через выпадающее меню в левом нижнем углу окна). Выделяем модель и приближаемся к ней, нажав клавишу точки на Num Pad (Рис.~\ref{fig:chip/texturing/1-start}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/chip/texturing/1-start.png}
\caption{Раздел UV Editing.}
\label{fig:chip/texturing/1-start}
\end{figure}
Настроим рендер-движок для корректного отображения материалов. В разделе Render Properties выбираем EEVEE в поле Render Engine. Активируем Raytracing, устанавливаем значение Threshold в 1 в подразделе Fast GI Approximation. Переключаемся в режим предпросмотра материалов с помощью сочетания клавиш Z + 2 (либо через меню Viewport Shading в верхней панели 3D-вида) (Рис.~\ref{fig:chip/texturing/2-settings}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.6\linewidth]{img/chip/texturing/2-settings.png}
\caption{Настройка движка EEVEE для корректного отображения текстур.}
\label{fig:chip/texturing/2-settings}
\end{figure}
Создадим материалы для текстур фишки. Открываем раздел Material Properties и добавляем новый материал, нажимая на кнопку New. В поле Base Color указываем значение \#9FAAB1FF. Затем нажимаем на + и снова на New, чтобы добавить ещё один материал. В разделе Base Color нажимаем на жёлтый кружок и выбираем пункт Image Texture (Рис.~\ref{fig:chip/texturing/3-image-texture}). В открывшемся окне проводника выбираем изображение фишки сверху. Изображение фишки снизу добавляем аналогичным образом.
\begin{figure}[h!]
\centering
\includegraphics[width=0.7\linewidth]{img/chip/texturing/3-image-texture.png}
\caption{Добавление изображения текстуры.}
\label{fig:chip/texturing/3-image-texture}
\end{figure}
Выполним UV-развёртку для точного наложения текстур. Переходим в режим редактирования клавишей Tab (либо через меню Mode). Активируем вид сверху клавишей 7 на Num Pad (меню View → Top). Выделяем все видимые грани в режиме выбора поверхностей (клавиша 3) и назначаем материал с текстурой фишки кнопкой Assign (Рис.~\ref{fig:chip/texturing/4-assigning}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.9\linewidth]{img/chip/texturing/4-assigning.png}
\caption{Применение материалов с текстурой к выбранным граням.}
\label{fig:chip/texturing/4-assigning}
\end{figure}
Отредактируем UV-координаты для точного совпадения с изображением. На панели слева распологаем проекцию поверхностей на текстуре таким образом, чтобы форма поверхности совпадала с изображением. Аналогичным образом накладываем материал с текстурой обратной стороны фишки (Рис.~\ref{fig:chip/texturing/5-uv-editing}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/chip/texturing/5-uv-editing.png}
\caption{Подгонка изображения текстуры.}
\label{fig:chip/texturing/5-uv-editing}
\end{figure}
Добавим текстуру для поверхности стола. Возвращаем скрытую ранее плоскость стола сочетанием клавиш Alt + H (меню Object → Show/Hide → Show Hidden). В разделе Material Properties добавляем новый материал и в поле Base Color указываем текстуру стола. С помощью клавишы S в левом окне можно подогнать размеры текстуры (Рис.~\ref{fig:chip/texturing/6-table}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/chip/texturing/6-table.png}
\caption{Добавление текстуры стола.}
\label{fig:chip/texturing/6-table}
\end{figure}
\newpage
\subsubsection{Освещение и камера}
Настроим освещение сцены для финального рендеринга. Переходим в раздел Shading в верхнем меню программы. Нажимаем на модель и нажимаем на точку на Num Pad, чтобы приблизиться к ней. После чего используем сочетание клавиш Z + 8, чтобы перейти в режим предпросмотра результата.
Создадим фоновое освещение через HDRI-карту. На панели редактирования материалов нужно переключиться на вкладку World. Нажать сочетание клавиш Shift + A и в разделе Texture выбрать Image Texture (меню Add → Texture → Image Texture). Выход Color узла Image Texture необходимо подключить ко входу Color узла Background. В Image Texture указывается путь до HDRI текстуры окружения, которая поставляется вместе с Blender -- \texttt{C:\textbackslash Program Files\textbackslash Blender Foundation\textbackslash Blender 4.3\textbackslash 4.3\textbackslash datafiles\textbackslash studiolights\textbackslash world\textbackslash }. В параметре Strength узла Background указываем значение 0.200 (Рис.~\ref{fig:chip/lighting/1_start}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/chip/lighting/1_start.png}
\caption{Настройка общего освещения сцены.}
\label{fig:chip/lighting/1_start}
\end{figure}
Добавим дополнительные источники света для создания теней как на исходных изображениях. Переключаемся на вид сбоку (клавиша 1 на Num Pad), нажимаем Shift + A и в разделе Light выбираем Point. С помощью клавиши G располагаем источник света слева сверху над моделью. Для этого в боковом меню (клавиша N) в разделе Location в поле X указываем -0.3m, в поле Z указываем 0.2m. В разделе Object Data Properties в поле Power устанавливаем значение 4.5W. Затем дублируем источник света с помощью сочетания клавиш Shift + D и располагаем с противоположной стороны. Источнику света слева задаём синеватый оттенок (\#C5FBFF) в поле Color раздела Object Data Properties (Рис.~\ref{fig:chip/lighting/2_points}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/chip/lighting/2_points.png}
\caption{Расположение дополнительных источников освещения.}
\label{fig:chip/lighting/2_points}
\end{figure}
\newpage
Теперь добавим камеру, чтобы зафиксировать ракурс для рендеринга. Для этого нажимаем сочетание клавиш Shift + A и выбираем пункт Camera. Теперь располагаем её ровно над моделью, чтобы получить изображение вида сверху. В боковом меню (клавиша N) в разделе Location в Z указываем значение 0.15m, а в разделе Rotation в поле X укажем значение 0. В разделе Object Data Properties в подразделе Lens в поле Focal Length указываем значение 110mm. Нажимаем 0 на Num Pad, чтобы переключиться на вид с камеры (Рис.~\ref{fig:chip/lighting/3_camera}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/chip/lighting/3_camera.png}
\caption{Расположение камеры.}
\label{fig:chip/lighting/3_camera}
\end{figure}
\newpage
\subsubsection{Рендеринг финальных изображений}
Для настройки рендеринга открываем Render Properties. В поле Render Engine выбираем значение Cycles. В разделе Sampling/Render в поле Max Samples указываем значение 128, чтобы ускорить рендеринг (Рис.~\ref{fig:chip/render/1_settings}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.33\linewidth]{img/chip/render/1_settings.png}
\caption{Настройки рендеринга.}
\label{fig:chip/render/1_settings}
\end{figure}
Нажимаем клавишу F12 и ожидаем некоторое время до окончания процесса рендеринга.
Результаты представлены на Рис.~\ref{fig:compare-front}--\ref{fig:compare-side}.
\begin{figure}[h!]
\centering
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/chip/render/front.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/chip/real/front.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид с лицевой стороны.}
\label{fig:compare-front}
\end{figure}
\begin{figure}[h!]
\centering
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/chip/render/back.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/chip/real/back.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид с обратной стороны.}
\label{fig:compare-back}
\end{figure}
\begin{figure}[h!]
\centering
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/chip/render/side-view.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/chip/real/side-view-right.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид сбоку справа.}
\label{fig:compare-side}
\end{figure}
\newpage
\phantom{text}
\newpage
\subsection{Объект моделирования №2}
\subsubsection{Реальные размеры изделия}
Ширина - 21 мм
Высота - 7 мм
Диаметр ободков - 1 мм
Толщина пластика между ободками - 0.3 мм
\subsubsection{Моделирование}
Нажимаем на цифру 7 на Num Pad, чтобы перейти на вид сверху. Затем нажимаем Shift + A и в разделе Image выбираем Reference. В открывшемся окне проводника выбираем изображение зажима и нажимаем Add~Image~(Рис.~\ref{fig:clamp/modeling/1-add-reference}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/modeling/1-add-reference.png}
\caption{Добавление изображения зажима.}
\label{fig:clamp/modeling/1-add-reference}
\end{figure}
Нажимаем Shift + A и в разделе Mesh выбираем Plane (Рис.~\ref{fig:clamp/modeling/2-add-plane}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/modeling/2-add-plane.png}
\caption{Добавление плоскости.}
\label{fig:clamp/modeling/2-add-plane}
\end{figure}
Переходим в режим редактирования (клавиша Tab) и в режиме выбора вершин (клавиша 1) с зажатой клавишей Shift выбираем три любых вершины добавленной плоскости. Нажимаем на клавишу X и в появившемся меню выбираем пункт Vertex, чтобы удалить эти вершины. Выделяем оставшуюся вершину и с помощью клавишы G переносим её в крайнюю точку ободка зажима. Затем нажимаем клавишу E, чтобы добавить новую точку. Таким образом делаем окантовку для всего зажима (Рис.~\ref{fig:clamp/modeling/3-border}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/modeling/3-border.png}
\caption{Создание окантовки.}
\label{fig:clamp/modeling/3-border}
\end{figure}
\newpage
Переходим в объектный режим. Выделяем изображение и скрываем (клавиша H), оно больше не понадобится. Теперь выделяем полученную линию окантовки и в боковом меню (клавиша N) в разделе Dimensions в поле X указываем реальную ширину объекта -- 21mm. После чего значение поля X из раздела Scale копируем в поле Y того же раздела, чтобы сохранить пропорции при масштабировании (Рис.~\ref{fig:clamp/modeling/4-sizes}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/modeling/4-sizes.png}
\caption{Задание реальных размеров.}
\label{fig:clamp/modeling/4-sizes}
\end{figure}
\newpage
Переключаемся на вид сбоку (клавиша 1 на Num Pad), затем копируем окантовку (сочетание клавиш Shift + D) и поднимаем немного выше. Затем нажимаем по новому объекту правой кнопкой мыши и в разделе Convert To выбираем пункт Curve.
Нажимаем сочетание клавиш Shift + A и в разделе Mesh выбираем пункт Circle. Затем в боковом меню (клавиша N) в разделе Dimensions в полях X и Y указываем диаметр ободков -- 1mm. Нажимаем на добавленный круг правой кнопкой мыши и в разделе Convert To выбираем пункт Curve (Рис.~\ref{fig:clamp/modeling/5-circle}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/modeling/5-circle.png}
\caption{Конвертация круга из меша в кривую.}
\label{fig:clamp/modeling/5-circle}
\end{figure}
Выбираем добавленный круг и нажимаем сочетание клавиш Ctrl + A и в появившемся списке выбираем пункт Scale. Затем выбираем скопированную окантовку, открваем раздел Object Data Properties и в подразделе Geometry/Bevel выбираем вариант Object. Нажимаем на иконку пипетки и выбираем круг и нажимаем на галочку у поля Fill Caps (Рис.~\ref{fig:clamp/modeling/6-bevel}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.85\linewidth]{img/clamp/modeling/6-bevel.png}
\caption{Создание ободка.}
\label{fig:clamp/modeling/6-bevel}
\end{figure}
Полученный ободок и круг пока можно скрыть (клавиша H). В объектном режиме выбираем исходную окантовку зажима и переходим в режим редактирования (клавиша Tab). Выбираем все вершины (клавиша A) и расширяем окантовку вверх (сочетание клавиш E + Z). Возвращаемся в объектный режим (клавиша Tab). В боковом меню (клавиша N) в разделе Dimensions в поле Z указываем высоту чуть меньше реальной высоты объекта -- 6.5mm. В разделе Location в поле Z указываем значение 0.5mm. Нажимаем сочетание клавиш Ctrl + A и выбираем пункт Scale (Рис.~\ref{fig:clamp/modeling/7-sides}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.85\linewidth]{img/clamp/modeling/7-sides.png}
\caption{Создание боковых сторон зажима.}
\label{fig:clamp/modeling/7-sides}
\end{figure}
Продолжаем работать с ободком. В разделе Modifier Properties нажимаем на кнопку Add Modifier и добавляем модификатор Subdivision Surface из раздела Generate. В поле Level указываем значение 2. Затем добавляем ещё один модификатор из раздела Generate -- Solidify. В поле Mode выбираем значение Complex. В поле Thickness указываем половину от толщины пластика -- 0.15mm. В поле Offset указываем значение 0. Затем нажимаем сочетание клавиш Ctrl + A, чтобы применить модификатор Solidify (Рис.~\ref{fig:clamp/modeling/8-modifiers}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.9\linewidth]{img/clamp/modeling/8-modifiers.png}
\caption{Придание толщины зажиму.}
\label{fig:clamp/modeling/8-modifiers}
\end{figure}
Переходим в режим редактирования (клавиша Tab). Нажимаем сочетание Ctrl + R, чтобы добавить новые грани и убрать излишнее сглаживание по краям объекта. Возвращаемся в объектный режим (клавиша Tab). Нажимаем на объект правой кнопкой мыши и выбираем пункт Shade Smooth (Рис.~\ref{fig:clamp/modeling/9-new-edges}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.9\linewidth]{img/clamp/modeling/9-new-edges.png}
\caption{Добавление новых граней.}
\label{fig:clamp/modeling/9-new-edges}
\end{figure}
Возвращаем скрытый ободок (Alt + H). В Modifier Properties добавляем модификатор Subdivision Surface из раздела Generate. В поле Levels указываем значение 2. Нажимаем на ободок правой кнопкой мыши и выбираем пункт Shade Smooth. В боковом меню (клавиша N) в разделе Location в поле Z указываем значение 0.5mm (Рис.~\ref{fig:clamp/modeling/10-bottom}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/modeling/10-bottom.png}
\caption{Установка и сглаживание нижнего ободка.}
\label{fig:clamp/modeling/10-bottom}
\end{figure}
Переходим в режим редактирования (клавиша Tab). Выделяем крайние точки на ободке и чуть-чуть сдвигаем (клавиша G) с зажатой клавишей Shift, чтобы грани ободка и основной части зажима не накладывались друг на друга (Рис.~\ref{fig:clamp/modeling/11-faces}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/modeling/11-faces.png}
\caption{Устранение артефактов на стыке граней.}
\label{fig:clamp/modeling/11-faces}
\end{figure}
Возвращаемся в объектный режим (клавиша Tab). Копируем нижний ободок с помощью сочетания клавиш Alt + D. В боковом меню (клавиша N) в разделе Locataion в поле Z указываем значение 7mm (Рис.~\ref{fig:clamp/modeling/12-copy}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.9\linewidth]{img/clamp/modeling/12-copy.png}
\caption{Установка верхнего ободка.}
\label{fig:clamp/modeling/12-copy}
\end{figure}
Теперь добавим подложку, на которой разместим текстуру стола. Нажимаем Shift + A и в разделе Mesh выбираем Plane (Рис.~\ref{fig:clamp/modeling/13-plane}). Затем нажимаем H, чтобы временно скрыть добавленную поверхность.
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/clamp/modeling/13-plane.png}
\caption{Добавление плоскости.}
\label{fig:clamp/modeling/13-plane}
\end{figure}
\newpage
\subsubsection{Текстурирование}
Переходим в раздел UV Editing в верхнем меню программы. В правом окне переключаемся в объектный режим (клавиша Tab), нажимаем на модель и нажимаем на точку на Num Pad, чтобы приблизиться к ней (Рис.~\ref{fig:clamp/texturing/1-start}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/texturing/1-start.png}
\caption{Раздел UV Editing.}
\label{fig:clamp/texturing/1-start}
\end{figure}
В разделе Render Properties в поле Render Engine выбираем EEVEE, ставим галочку на разделе Raytracing и в его подразделе Fast GI Approximation в поле Threshold указыем значение 1. После чего нажимаем сочетание клавиш Z + 2, чтобы переключиться в режим предпросмотра материалов (Рис.~\ref{fig:clamp/texturing/2-settings}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.7\linewidth]{img/clamp/texturing/2-settings.png}
\caption{Настройка движка EEVEE для корректного отображения текстур.}
\label{fig:clamp/texturing/2-settings}
\end{figure}
Выбираем нижний ободок и открываем раздел Material Properties. Нажимаем на кнопку New, чтобы добавить новый материал. В поле Base Color указываем значение \#A61625 (Рис.~\ref{fig:clamp/texturing/3-color}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/clamp/texturing/3-color.png}
\caption{Покраска ободков.}
\label{fig:clamp/texturing/3-color}
\end{figure}
Переходим в раздел Shading. Выбираем основную часть зажима и добавляем новый материал для него. Для этого нажимаем на кнопку New на панели ниже. Затем нажимаем сочетание клавиш Shift + A и в разделе Color выбираем Hue/Saturation/Value. В поле Color добавленного узла указываем значение \#A61625. Снова нажимаем Shift + A и в разделе Texture выбираем Image Texture, в которой указываем путь до текстуры с надписью (Рис.~\ref{fig:clamp/real/writing-no-bg}), в поле Extension указываем значение Clip, чтобы изображение с надписью не повторялось. Добавляем ещё один узел из раздела Color -- Mix Color. Соединяем узлы как показано на Рис.~\ref{fig:clamp/texturing/4-nodes}.
\begin{figure}[h!]
\centering
\includegraphics[width=0.9\linewidth]{img/clamp/texturing/4-nodes.png}
\caption{Графовое представление материала основной части зажима.}
\label{fig:clamp/texturing/4-nodes}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/clamp/real/writing-no-bg.png}
\caption{Текстура надписи на объекте моделирования.}
\label{fig:clamp/real/writing-no-bg}
\end{figure}
Возвращаемся на вкладку UV Editing. Переключаемся в режим выбора граней (клавиша 3) и выделяем все грани, на которых будет расположена надпись. Нажимаем клавишу U и в разделе Unwrap выбираем пункт Angle Based, чтобы создать развёртку этих граней. Теперь в левом окне подгоняем развёртку под изображение, используя клавишы G, S и R (Рис.~\ref{fig:clamp/texturing/5-uv}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/texturing/5-uv.png}
\caption{Корректировка UV развёртки текстуры с надписью.}
\label{fig:clamp/texturing/5-uv}
\end{figure}
Теперь можно вернуть поверхность, добавленную на этапе моделирования (Alt~+~H). В разделе Material Properties добавляем новый материал и в поле Base Color указываем текстуру стола. С помощью клавишы S в левом окне можно подогнать размеры текстуры (Рис.~\ref{fig:clamp/texturing/6-table}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/texturing/6-table.png}
\caption{Добавление текстуры стола.}
\label{fig:clamp/texturing/6-table}
\end{figure}
\newpage
\subsubsection{Освещение и камера}
Переходим в раздел Shading в верхнем меню программы. После чего используем сочетание клавиш Z + 8, чтобы перейти в режим предпросмотра результата.
Затем на панели редактирования материалов нужно переключиться на вкладку World. Нажать сочетание клавиш Shift + A и в разделе Texture выбрать Image Texture. Выход Color узла Image Texture необходимо подключить ко входу Color узла Background. В Image Texture указывается путь до HDRI текстуры окружения, которая поставляется вместе с Blender -- \texttt{C:\textbackslash Program Files\textbackslash Blender Foundation\textbackslash Blender 4.3\textbackslash 4.3\textbackslash datafiles\textbackslash studiolights\textbackslash world\textbackslash interior.exr} (Рис.~\ref{fig:clamp/lighting/1-start}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/lighting/1-start.png}
\caption{Настройка общего освещения сцены.}
\label{fig:clamp/lighting/1-start}
\end{figure}
Нажимаем Shift + A и в разделе Light выбираем Point. В боковом меню (клавиша N) в разделе Location в поле X указываем 0.01m, в поле Y указываем -0.4m, в поле Z указываем 0.5m. В разделе Object Data Properties в поле Power устанавливаем значение 4.5W. Нажимаем на точку на Num Pad, чтобы перейти к источнику света, и переключаемся на вид сверху (клавиша 7 на Num Pad). Затем дублируем источник света дважды с помощью сочетания клавиш Shift + D. Копии располагаем рядом с исходным источником для имитации лампочек в люстре, именно такое освещения было в момент создания фотографий. Источникам света задаём цвет \#CCDEFF в поле Color раздела Object Data Properties (Рис.~\ref{fig:clamp/lighting/2-points}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/lighting/2-points.png}
\caption{Расположение дополнительных источников освещения.}
\label{fig:clamp/lighting/2-points}
\end{figure}
\newpage
Теперь добавим камеру. Для этого нажимаем сочетание клавиш Shift + A и выбираем пункт Camera. Теперь располагаем перед моделью, чтобы получить вида сбоку как на фотографии. В боковом меню (клавиша N) в разделе Location в поле X указываем 0.062m, в поле Y указываем -0.09m, в поле Z указываем 0.066m, а в разделе Rotation в поле X укажем значение 60, в поле Z -- 34. В разделе Object Data Properties в подразделе Lens в поле Focal Length указываем значение 140mm. Нажимаем 0 на Num Pad, чтобы переключиться на вид с камеры (Рис.~\ref{fig:clamp/lighting/3-camera}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/clamp/lighting/3-camera.png}
\caption{Расположение камеры.}
\label{fig:clamp/lighting/3-camera}
\end{figure}
\newpage
\subsubsection{Рендеринг финальных изображений}
Для настройки рендеринга открываем Render Properties. В поле Render Engine выбираем значение Cycles. В разделе Sampling/Render в поле Max Samples указываем значение 128, чтобы ускорить рендеринг (Рис.~\ref{fig:chip/render/1_settings}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.33\linewidth]{img/chip/render/1_settings.png}
\caption{Настройки рендеринга.}
\label{fig:chip/render/1_settings}
\end{figure}
Нажимаем клавишу F12 и ожидаем некоторое время до окончания процесса рендеринга.
Результаты представлены на Рис.~\ref{fig:clamp-compare-front}--\ref{fig:clamp-compare-top}.
\begin{figure}[h!]
\centering
\begin{subfigure}{0.46\linewidth}
\centering
\includegraphics[width=\linewidth]{img/clamp/render/front.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/clamp/real/front.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид с лицевой стороны.}
\label{fig:clamp-compare-front}
\end{figure}
\begin{figure}[h!]
\centering
\begin{subfigure}{0.425\linewidth}
\centering
\includegraphics[width=\linewidth]{img/clamp/render/other-side.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/clamp/real/other-side.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид сбоку справа.}
\label{fig:clamp-compare-back}
\end{figure}
\begin{figure}[h!]
\centering
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=\linewidth]{img/clamp/render/side.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.40\linewidth}
\centering
\includegraphics[width=\linewidth]{img/clamp/real/side.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид сбоку слева.}
\label{fig:clamp-compare-side}
\end{figure}
\begin{figure}[h!]
\centering
\begin{subfigure}{0.54\linewidth}
\centering
\includegraphics[width=\linewidth]{img/clamp/render/top.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.35\linewidth}
\centering
\includegraphics[width=\linewidth]{img/clamp/real/top.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид сверху.}
\label{fig:clamp-compare-top}
\end{figure}
\newpage
\subsection{Объект моделирования №3}
\subsubsection{Реальные размеры изделия}
Ширина - 27 мм
Длина - 126 мм
Толщина - 2 мм
\subsubsection{Моделирование}
Начинаем с добавления куба. Нажимаем сочетание клавиш Shift + A и в разделе Mesh выбираем Cube. Затем в боковом меню (клавиша N) задаём ему реальные размеры линейки. В разделе Dimensions в поле X указываем 126mm, в поле Y -- 27mm, в поле Z -- 2mm. Нажимаем на точку на Num Pad, чтобы приблизиться к модели (Рис.~\ref{fig:ruler/modeling/1-add-cube}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/modeling/1-add-cube.png}
\caption{Добавление основы для линейки.}
\label{fig:ruler/modeling/1-add-cube}
\end{figure}
В разделе Modifier Properties нажимаем на кнопку Add Modifier и добавляем модификатор Subdivision Surface из раздела Generate. В поле Levels Viewport и Render указываем значение 3 (Рис.~\ref{fig:ruler/modeling/2-subdivision}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/modeling/2-subdivision.png}
\caption{Добавление модификатора Subdivision Surface.}
\label{fig:ruler/modeling/2-subdivision}
\end{figure}
Модель получается слишком сглаженной. Нужно добавить полигонов, чтобы уточнить её. Переключаемся на вид сверху (клавиша 7 на Num Pad). Переходим в режим редактирования (клавиша Tab). Нажимаем сочетание клавиш Ctrl + R и добавляем новые грани по краям линейки (Рис.~\ref{fig:ruler/modeling/3-edges}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/modeling/3-edges.png}
\caption{Добавление новых граней.}
\label{fig:ruler/modeling/3-edges}
\end{figure}
Переключаемся на вид сбоку (клавиша 3 на Num Pad) и переходим в режим прозрачности (сочетание клавиш Alt + Z). Выделяем две крайние верхние вершины с левой стороны линейки и сдвигаем вправо по горизонтали (сочетание клавиш G + Y), чтобы сделать скос (Рис.~\ref{fig:ruler/modeling/4-skew}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/modeling/4-skew.png}
\caption{Создание скоса.}
\label{fig:ruler/modeling/4-skew}
\end{figure}
Режим прозрачности можно отключить (сочетание клавиш Alt + Z). Возвращаемся в объектный режим (клавиша Tab). Нажимаем по модели линейки правой кнопкой мыши на и выбираем пункт Shade Smooth. Нажимаем сочетание клавиш Shift + A и в разделе Empty выбираем Arrows. В разделе Object Properties в подразделе Rotation в поле X указываем значение -90, в поле Z 90 (Рис.~\ref{fig:ruler/modeling/5-arrows}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/modeling/5-arrows.png}
\caption{Добавление объекта Arrows.}
\label{fig:ruler/modeling/5-arrows}
\end{figure}
Выбираем линейку и в разделе Modifier Properties добавляем модификатор Simple Deform из раздела Deform. В настройках модификатора выбираем вариант Bend, в поле Angle указываем значени 10, в поле Object выбираем только что добавленный объект Arrows (Рис.~\ref{fig:ruler/modeling/6-bend}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/modeling/6-bend.png}
\caption{Создание изгиба линейки.}
\label{fig:ruler/modeling/6-bend}
\end{figure}
Линейку и стрелки можно временно скрыть (клавиша H). Нажимаем Shift + A и в разделе Mesh выбираем Plane. В боковом меню (клавиша N) задаём её размеры. В разделе Dimensions в поле X указываем 126mm, в поле Y -- 27mm (Рис.~\ref{fig:ruler/modeling/7-plane}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/modeling/7-plane.png}
\caption{Добавление плоскости.}
\label{fig:ruler/modeling/7-plane}
\end{figure}
\newpage
Нажимаем на цифру 7 на Num Pad, чтобы перейти на вид сверху. Затем нажимаем Shift + A и в разделе Image выбираем Reference. В открывшемся окне проводника выбираем изображение линейки и нажимаем Add~Image. Затем масштабируем линейку под размер плоскости. Для этого в боковом меню (клавиша N) в разделе Scale достаточно указать значение 0.025 по всем осям (Рис.~\ref{fig:ruler/modeling/8-reference}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/modeling/8-reference.png}
\caption{Добавление изображения линейки.}
\label{fig:ruler/modeling/8-reference}
\end{figure}
Включаем режим прозрачности сочетанием клавиш Alt + Z. Переходим в режим редактирования (клавиша Tab). Выделяем угловые вершины плоскости и располагаем на краях линейки. Затем переходим в режим выделения рёбер (клавиша 2), выбираем ребро со стороны излома, нажимаем клавишу X и выбираем пункт Edges, чтобы удалить его (Рис.~\ref{fig:ruler/modeling/9-remove-edge}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.55\linewidth]{img/ruler/modeling/9-remove-edge.png}
\caption{Удаление ребра.}
\label{fig:ruler/modeling/9-remove-edge}
\end{figure}
Переходим в режим выделения вершин (клавиша 1) и выбираем левую нижнюю вершину. С помощью клавишы E создаём новые рёбра по изображению линейки (Рис.~\ref{fig:ruler/modeling/10-break}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.55\linewidth]{img/ruler/modeling/10-break.png}
\caption{Воссоздание нижней части излома линейки.}
\label{fig:ruler/modeling/10-break}
\end{figure}
Затем выбираем две вершины в левом верхнем углу и объединяем. Для этого нажимаем на клавишу M и выбираем пункт At Last (Рис.~\ref{fig:ruler/modeling/11-merge}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.6\linewidth]{img/ruler/modeling/11-merge.png}
\caption{Объединение вершин.}
\label{fig:ruler/modeling/11-merge}
\end{figure}
Переходим на вид сбоку, нажимаем клавишу E и приподнимаем появишуюся копию плоскости (Рис.~\ref{fig:ruler/modeling/12-select}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.6\linewidth]{img/ruler/modeling/12-select.png}
\caption{Придание толщины для плоскости.}
\label{fig:ruler/modeling/12-select}
\end{figure}
Переключаемся на вид сверху (клавиша 7 на Num Pad). И с помощью сочетания клавиш G + X по отдельности выравниваем точки по верхней части излома (Рис.~\ref{fig:13-break-top}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.55\linewidth]{img/ruler/modeling/13-break-top.png}
\caption{Воссоздание верхней части излома линейки.}
\label{fig:ruler/modeling/13-break-top}
\end{figure}
\newpage
С зажатой клавишей Alt выделяем любую вершну на нижней грани излома и нажимаем на клавишу F. Затем проделываем аналогичную операцию с любой вершиной верхней грани (Рис.~\ref{fig:ruler/modeling/14-fill}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.7\linewidth]{img/ruler/modeling/14-fill.png}
\caption{Создание верхней и нижней граней у объекта с изломом.}
\label{fig:ruler/modeling/14-fill}
\end{figure}
Переходим в объектный режим (клавиша Tab) и в боковом меню (клавиша N) в разделе Dimensions в поле Z указываем 2.1mm, а в поле Y -- 28mm. Нажимаем по объекту правой кнопкой мыши, в разделе Set Origin выбраем пункт Origin to Geometry. Затем в боковом меню в поле Z раздела Location указываем значение 0. Изображение больше не понадобится и его можно скрыть (клавиша H) (Рис.~\ref{fig:ruler/modeling/15-scale-locale}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.7\linewidth]{img/ruler/modeling/15-scale-locale.png}
\caption{Задание нужной позиции и размеров.}
\label{fig:ruler/modeling/15-scale-locale}
\end{figure}
Нажимаем Shift + A и в разделе Mesh выбираем Cube. В боковом меню (клавиша N) указываем его размеры и позицию. В разделе Dimensions в поле X указываем 20mm, в поле Y -- 275mm, в поле Z -- 2.05mm. В разделе Locataion в поле X указываем -0.06m (Рис.~\ref{fig:ruler/modeling/16-cube}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.7\linewidth]{img/ruler/modeling/16-cube.png}
\caption{Добавление ещё одного объекта для отражения излома.}
\label{fig:ruler/modeling/16-cube}
\end{figure}
Затем в разделе Modifier Properties добавляем модификатор Boolean из раздела Generate. В поле Object указываем объект с изломом. После этого объект с изломом можно скрыть (клавиша H) (Рис.~\ref{fig:ruler/modeling/17-diff}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.7\linewidth]{img/ruler/modeling/17-diff.png}
\caption{Результат вычитания излома из объекта.}
\label{fig:ruler/modeling/17-diff}
\end{figure}
Возвращаем скрытую модель линейки (Alt + H) и в разделе Modifier Properties добавляем модификатор Boolean из раздела Generate. В поле Object указываем новый объект с изломом, полученный на предыдущем шаге. Модификатор располагаем Boolean располагаем между модификаторами Subdivision Surface и Simple Deform, которые были добавлены ранее. Объект с изломом можно скрыть (клавиша H) (Рис.~\ref{fig:ruler/modeling/18-final-diff}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.7\linewidth]{img/ruler/modeling/18-final-diff.png}
\caption{Вычитание излома из объекта линейки.}
\label{fig:ruler/modeling/18-final-diff}
\end{figure}
\subsubsection{Текстурирование}
Перед началом текстурирования модификаторы Subdivision Surface и Boolean нужно применить. Для этого выделяем их в разделе Modifier Properties и нажимаем сочетание клавиш Ctrl + A. Затем переходим в режим редактирования (клавиша Tab). Модификатор Simple Deform можно временно отключить, для этого нужно нажать на иконку компьютера в его настройках (Рис.~\ref{fig:ruler/texturing/1-apply}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/texturing/1-apply.png}
\caption{Применение модификаторов.}
\label{fig:ruler/texturing/1-apply}
\end{figure}
Переходим во вкладку UV Editing. В разделе Render Properties в поле Render Engine выбираем EEVEE, ставим галочку на разделе Raytracing и в его подразделе Fast GI Approximation в поле Threshold указыем значение 1. После чего нажимаем сочетание клавиш Z + 2, чтобы переключиться в режим предпросмотра материалов (Рис.~\ref{fig:ruler/texturing/2-settings}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/texturing/2-settings.png}
\caption{Настройка движка EEVEE для корректного отображения текстур.}
\label{fig:ruler/texturing/2-settings}
\end{figure}
Переходим в раздел Material Properties и создаём новый материал. В поле Base Color указываем ему цвет \#142735. Нажимаем на иконку плюса рядом со списком материалов и добавляем ещё два слота. В обоих слотах создаём материалы и в поле Base Color выбираем Image Texture и указываем пути до текстур верхней и нижней граней линейки (Рис.~\ref{fig:ruler/texturing/3-materials}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/ruler/texturing/3-materials.png}
\caption{Создание материалов.}
\label{fig:ruler/texturing/3-materials}
\end{figure}
Переходим в режим редактирования (клавиша Tab). И в режиме выбора граней (клавиша 3) выделяем все грани на верхней стороне линейки. Затем в разделе Material Properties выбираем материал с текстурой лицевой стороны линейки и нажимаем Assign. Затем переключаемся на вид сверху (клавиша 7 на Num Pad), нажимаем клавишу U и выбираем пункт Project from View (Bounds), чтобы создать UV развёртку верхней поверхности линейки (Рис.~\ref{fig:ruler/texturing/4-top-uv}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/texturing/4-top-uv.png}
\caption{Наложение текстуры на лицевую сторону линейки.}
\label{fig:ruler/texturing/4-top-uv}
\end{figure}
\newpage
В левом окне подгоняем UV развёртку под текстуру используя клавишы G и S (Рис.~\ref{fig:ruler/texturing/5-top-uv-tuning}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/ruler/texturing/5-top-uv-tuning.png}
\caption{Подгонка UV развёртки под текстуру.}
\label{fig:ruler/texturing/5-top-uv-tuning}
\end{figure}
Теперь проделываем аналогичные операции с обратной стороной линейки. Выбираем все вершины нижней грани, прикрепляем к ним материал с текстурой обратной стороны линейки, создаём UV развёртку и подгоняем (Рис.~\ref{fig:ruler/texturing/6-back-uv}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/ruler/texturing/6-back-uv.png}
\caption{Наложение текстуры на обратную сторону линейки.}
\label{fig:ruler/texturing/6-back-uv}
\end{figure}
Переходим в раздел Modifier Properties и применяе модификатор Simple Deform с помощью сочетания клавиш Ctrl + A (Рис.~\ref{fig:ruler/texturing/7-apply}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.7\linewidth]{img/ruler/texturing/7-apply.png}
\caption{Применение модификаторов.}
\label{fig:ruler/texturing/7-apply}
\end{figure}
Нажимаем Shift + A и в разделе Mesh выбираем Plane, чтобы добавить плоскость, на которой будет расопложена текстура стола. В разделе Material Properties добавляем материал. В поле Base Color указываем Image Texture и указываем путь до текстуры стола. Переходим в режим редактирования (клавиша Tab) и подгоняем размеры текстуры (Рис.~\ref{fig:ruler/texturing/8-table}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/ruler/texturing/8-table.png}
\caption{Добавление текстуры стола.}
\label{fig:ruler/texturing/8-table}
\end{figure}
Перехдоим в объектный режим (клавиша Tab). Переключаемся на вид сбоку (клавиша 1 на Num Pad). Затем выбираем линейку и немного приподнимаем её, чтобы она лежала на столе (Рис.~\ref{fig:ruler/texturing/9-up}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.8\linewidth]{img/ruler/texturing/9-up.png}
\caption{Результат этапа текстурирования сцены.}
\label{fig:ruler/texturing/9-up}
\end{figure}
\subsubsection{Освещение и камера}
Переходим в раздел Shading в верхнем меню программы. Нажимаем на модель и нажимаем на точку на Num Pad, чтобы приблизиться к ней. После чего используем сочетание клавиш Z + 8, чтобы перейти в режим предпросмотра результата.
Затем на панели редактирования материалов нужно переключиться на вкладку World. Нажать сочетание клавиш Shift + A и в разделе Texture выбрать Image Texture. Выход Color узла Image Texture необходимо подключить ко входу Color узла Background. В Image Texture указывается путь до HDRI текстуры окружения, которая поставляется вместе с Blender -- \texttt{C:\textbackslash Program Files\textbackslash Blender Foundation\textbackslash Blender 4.3\textbackslash 4.3\textbackslash datafiles\textbackslash studiolights\textbackslash world\textbackslash interior.exr } (Рис.~\ref{fig:ruler/lighting/1-world}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/lighting/1-world.png}
\caption{Настройка общего освещения сцены.}
\label{fig:ruler/lighting/1-world}
\end{figure}
Нажимаем Shift + A и в разделе Light выбираем Point. В боковом меню (клавиша N) в разделе Location в поле X указываем 0.01m, в поле Y указываем -0.4m, в поле Z указываем 0.5m. В разделе Object Data Properties в поле Power устанавливаем значение 4.5W. Нажимаем на точку на Num Pad, чтобы перейти к источнику света, и переключаемся на вид сверху (клавиша 7 на Num Pad). Затем дублируем источник света дважды с помощью сочетания клавиш Shift + D. Копии располагаем рядом с исходным источником для имитации лампочек в люстре, именно такое освещения было в момент создания фотографий. Источникам света задаём цвет \#CCDEFF в поле Color раздела Object Data Properties (Рис.~\ref{fig:ruler/lighting/2-points}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/lighting/2-points.png}
\caption{Расположение дополнительных источников освещения.}
\label{fig:ruler/lighting/2-points}
\end{figure}
\newpage
Теперь добавим камеру. Для этого нажимаем сочетание клавиш Shift + A и выбираем пункт Camera. Теперь располагаем перед моделью, чтобы получить вида сбоку как на фотографии. В боковом меню (клавиша N) в разделе Location в поле X указываем -0.105m, в поле Y указываем -0.073m, в поле Z указываем 0.011m, а в разделе Rotation в поле X укажем значение 47, в поле Y -- -1, в поле Z -- -50. В разделе Object Data Properties в подразделе Lens в поле Focal Length указываем значение 60mm. Нажимаем 0 на Num Pad, чтобы переключиться на вид с камеры (Рис.~\ref{fig:ruler/lighting/3-camera}).
\begin{figure}[h!]
\centering
\includegraphics[width=1\linewidth]{img/ruler/lighting/3-camera.png}
\caption{Расположение камеры.}
\label{fig:ruler/lighting/3-camera}
\end{figure}
\subsubsection{Рендеринг финальных изображений}
Для настройки рендеринга открываем Render Properties. В поле Render Engine выбираем значение Cycles. В разделе Sampling/Render в поле Max Samples указываем значение 128, чтобы ускорить рендеринг (Рис.~\ref{fig:chip/render/1_settings}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.33\linewidth]{img/chip/render/1_settings.png}
\caption{Настройки рендеринга.}
\label{fig:chip/render/1_settings}
\end{figure}
Нажимаем клавишу F12 и ожидаем некоторое время до окончания процесса рендеринга.
Результаты представлены на Рис.~\ref{fig:ruler-compare-front}--\ref{fig:ruler-compare-back}.
\begin{figure}[h!]
\centering
\begin{subfigure}{0.425\linewidth}
\centering
\includegraphics[width=\linewidth]{img/ruler/render/side.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.5\linewidth}
\centering
\includegraphics[width=\linewidth]{img/ruler/real/side.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид сбоку слева на лицевую сторону.}
\label{fig:ruler-compare-side}
\end{figure}
\begin{figure}[h!]
\centering
\begin{subfigure}{0.48\linewidth}
\centering
\includegraphics[width=0.55\linewidth]{img/ruler/render/front.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.48\linewidth}
\centering
\includegraphics[width=0.4\linewidth]{img/ruler/real/front.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид сверху.}
\label{fig:ruler-compare-front}
\end{figure}
\begin{figure}[h!]
\centering
\begin{subfigure}{0.56\linewidth}
\centering
\includegraphics[width=\linewidth]{img/ruler/render/back-side.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.41\linewidth}
\centering
\includegraphics[width=\linewidth]{img/ruler/real/back-side.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид сбоку слева на обратную сторону.}
\label{fig:ruler-compare-back-side}
\end{figure}
\begin{figure}[h!]
\centering
\begin{subfigure}{0.47\linewidth}
\centering
\includegraphics[width=0.55\linewidth]{img/ruler/render/back.png}
\caption{Модель объекта.}
\end{subfigure}
\hfill
\begin{subfigure}{0.40\linewidth}
\centering
\includegraphics[width=0.6\linewidth]{img/ruler/real/back.jpg}
\caption{Объект моделирования.}
\end{subfigure}
\caption{Сравнение модели объекта и объекта моделирования. Вид сверху на обратную сторону.}
\label{fig:ruler-compare-back}
\end{figure}
\newpage
\phantom{text}
\newpage
\phantom{text}
\newpage
\section*{Заключение}
\addcontentsline{toc}{section}{Заключение}
В ходе работы были успешно созданы реалистичные модели трёх объектов: покерной фишки, зажима от пакета с хлебом и сломанной линейки. Использование программы Blender 4.3 позволило освоить различные аспекты 3D-моделирования, включая построение геометрии, текстурирование, освещение и рендеринг. Каждый объект был смоделирован с учётом его уникальных характеристик, что способствовало достижению высокой степени реалистичности.
Работа над проектом способствовала развитию навыков полигонального моделирования, а также работе с модификаторами, такими как Simple Deform для создания изгибов и изломов. Освоены методы UV-развёртки и текстурирования, включая наложение текстур с реалистичными дефектами и маркировкой. При настройке освещения использовались HDRI-карты и дополнительные источники света, что позволило добиться естественных отражений и теней. Рендеринг в Cycles дал возможность изучить параметры качества изображения и оптимизации времени обработки.
Развитые навыки могут быть применены в различных областях, таких как, например, игровой дизайн и архитектура. Для дальнейшего совершенствования качества моделей можно углубить работу с текстурами, использовать более детализированные сетки и изучить дополнительные возможности Blender. Работа продемонстрировала потенциал программы для создания фотореалистичных сцен и способствовала расширению компетенций в области компьютерной графики.
\newpage
\section*{Список литературы}
\addcontentsline{toc}{section}{Список литературы}
\vspace{-1.5cm}
\begin{thebibliography}{0}
\bibitem{blender}
Официальный сайт Blender 3D. Документация URL: \url{https://www.blender.org/}, Дата обращения: 18.03.2025
\end{thebibliography}
\end{document}