Третий объект

This commit is contained in:
2025-03-18 17:11:13 +03:00
parent b01b5eb9c3
commit ae234f0e2b
35 changed files with 382 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1017 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 781 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 801 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 KiB

View File

@@ -373,7 +373,7 @@
\textbf{Материал:} Зажим изготовлен из пластика и покрыта красной краской. Внутри ободков находятся кусочки проволоки, за счёт которых зажим запоминает приданную ему форму. Надпись со сроком годности нанесена белой краской.
\textbf{Особенности:} Объект имеет уникальную форму, которая была придана ему вручную специально для этой лабораторной работы. Также уникальной особенностью является надпись на объекте. В ней содержится срок годности и номер бригады -- <<09.03.25.2 - 2>>.
\textbf{Особенности:} Объект имеет уникальную форму, которая была придана ему вручную специально для этой лабораторной работы. Также уникальной особенностью является надпись на объекте. В ней содержится срок годности и номер бригады -- <<09.03.25.2 - 1>>.
\newpage
@@ -1028,7 +1028,388 @@
\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}{Заключение}