Files
computer-graphics/lab1/report.tex

360 lines
20 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[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-front}-\ref{fig:chip-front-right}).
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip-front.jpg}
\caption{Объект моделирования №1, вид с лицевой стороны.}
\label{fig:chip-front}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip-back.jpg}
\caption{Объект моделирования №1, вид с обратной стороны.}
\label{fig:chip-back}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip-front-left.jpg}
\caption{Объект моделирования №1, вид на лицевую сторону под углом слева.}
\label{fig:chip-front-left}
\end{figure}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\linewidth]{img/chip-front-right.jpg}
\caption{Объект моделирования №1, вид на лицевую сторону под углом справа.}
\label{fig:chip-front-right}
\end{figure}
\newpage
\textbf{Форма:} Покерная фишка представляет собой круглую плоскую дисковидную форму. На поверхности фишки есть небольшое колцевидное углубление.
\textbf{Материал:} Фишка изготовлена из пластика и покрыта белой краской. Номинал и узоры нанесены синей краской. Поверхность ближе к матовой.
\textbf{Особенности:} На фишке видны множественные дефекты покраски - отдельные точки и пятна синей краски, в особенности на лицевой стороне.
\section{Описание технологии разработки моделей}
\subsection{Объект моделирования №1}
\subsubsection{Моделирование}
\subsubsection{Текстурирование}
\subsubsection{Освещение и камера}
\newpage
\section*{Заключение}
\addcontentsline{toc}{section}{Заключение}
\newpage
\section*{Список литературы}
\addcontentsline{toc}{section}{Список литературы}
\vspace{-1.5cm}
\begin{thebibliography}{0}
\end{thebibliography}
\end{document}