commit 2e49d9dc1726735b2c3971c1e3f4c0e7ad3ba7f6 Author: Arity-T Date: Thu Mar 13 14:28:58 2025 +0300 Заготовка отчёта по первой лабе по блендеру (спасибо Владу Гаару ;) ) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..283a7e2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +* +!.gitignore +!lab1 \ No newline at end of file diff --git a/lab1/.gitignore b/lab1/.gitignore new file mode 100644 index 0000000..38a3719 --- /dev/null +++ b/lab1/.gitignore @@ -0,0 +1,5 @@ +**/* +!.gitignore +!report.tex +!img +!img/** \ No newline at end of file diff --git a/lab1/img/chip-back.jpg b/lab1/img/chip-back.jpg new file mode 100644 index 0000000..920cce3 Binary files /dev/null and b/lab1/img/chip-back.jpg differ diff --git a/lab1/img/chip-front-left.jpg b/lab1/img/chip-front-left.jpg new file mode 100644 index 0000000..7af8ee2 Binary files /dev/null and b/lab1/img/chip-front-left.jpg differ diff --git a/lab1/img/chip-front-right.jpg b/lab1/img/chip-front-right.jpg new file mode 100644 index 0000000..857305d Binary files /dev/null and b/lab1/img/chip-front-right.jpg differ diff --git a/lab1/img/chip-front.jpg b/lab1/img/chip-front.jpg new file mode 100644 index 0000000..1e8349a Binary files /dev/null and b/lab1/img/chip-front.jpg differ diff --git a/lab1/report.tex b/lab1/report.tex new file mode 100644 index 0000000..38d9d68 --- /dev/null +++ b/lab1/report.tex @@ -0,0 +1,360 @@ +\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} \ No newline at end of file