Заготовка отчёта по первой лабе по блендеру (спасибо Владу Гаару ;) )
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*
|
||||
!.gitignore
|
||||
!lab1
|
||||
5
lab1/.gitignore
vendored
Normal file
5
lab1/.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
**/*
|
||||
!.gitignore
|
||||
!report.tex
|
||||
!img
|
||||
!img/**
|
||||
BIN
lab1/img/chip-back.jpg
Normal file
BIN
lab1/img/chip-back.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 298 KiB |
BIN
lab1/img/chip-front-left.jpg
Normal file
BIN
lab1/img/chip-front-left.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 221 KiB |
BIN
lab1/img/chip-front-right.jpg
Normal file
BIN
lab1/img/chip-front-right.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 217 KiB |
BIN
lab1/img/chip-front.jpg
Normal file
BIN
lab1/img/chip-front.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 332 KiB |
360
lab1/report.tex
Normal file
360
lab1/report.tex
Normal file
@@ -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}
|
||||
Reference in New Issue
Block a user