\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}