Лабораторная работаКомпьютерная графикаГод: 2025ТУСУР: Томский государственный университет систем управления и радиоэлектроники
👁 15💼 0

Готовая лабораторная работа: Моделирование 3D-сцены в OpenGL

Загружена: 18.02.2026 09:36

Создание статической 3D-сцены в OpenGL: центральный закрашенный куб и две проволочные четырехугольные пирамиды. Описаны среда разработки, алгоритм отрисовки (gluLookAt, gluPerspective), функции для рисования объектов и практическая демонстрация теста глубины.

Содержание

ВВЕДЕНИЕ	3
ОСНОВНАЯ ЧАСТЬ	4
Описание используемой среды программирования	4
Описание алгоритма решения задачи	4
Фрагменты исходного кода с комментариями	5
Функциональные возможности разработанного приложения	9
ЗАКЛЮЧЕНИЕ	11
ПРИЛОЖЕНИЯ	12

Введение

Задание:
Создать в окне трехмерную сцену, состоящую из двух проволочных четырехугольных пирамид и закрашенного куба. Расположить и окрасить в различные цвета по своему усмотрению.
Цель работы:
Получение навыков моделирования трехмерных сцен с использованием библиотеки OpenGL.
Задачи:
1. Изучить основы работы с библиотекой OpenGL.
2. Реализовать программную модель 3D-сцены согласно заданию варианта 16.
3. Продемонстрировать работу алгоритмов тестирования глубины и перспективной проекции.
4. Подготовить отчет.
Исходные данные:
На экране необходимо создать 3D-сцену, состоящую из:
• двух проволочных четырехугольных пирамид;
• одного закрашенного куба.
Объекты должны быть окрашены в различные цвета по усмотрению.

Заключение

В ходе выполнения работы были достигнуты следующие результаты:
• Изучены базовые возможности библиотеки OpenGL.
• Реализована 3D-сцена, соответствующая заданию варианта №16.
• Продемонстрированы принципы использования перспективной проекции
и тестирования глубины.
• Получены практические навыки построения трехмерных объектов и
управления камерой.
Представленная программа корректно отображает все необходимые объекты и может быть расширена для реализации дополнительных возможностей, таких как управление камерой или вращение объектов.

Подробное описание

📘 О чем эта работа

Отчет посвящен созданию статической трехмерной сцены в среде OpenGL с использованием GLUT: в центре расположена окрашенная по граням кубическая модель, по бокам — две проволочные четырёхугольные пирамиды. Предмет работы — визуализация примитивов и настройка камеры, объект — программная модель сцены на C++.

📚 Что внутри

Отчет последовательно описывает среду разработки, алгоритм решения и фрагменты исходного кода. Конкретно включено:

  • Описание среды: язык C++, OpenGL (GLUT + GLU), Visual Studio 2022, Windows 11.
  • Инициализация и настройки рендеринга: glClearColor, glEnable(GL_DEPTH_TEST) для корректного теста глубины.
  • Настройка камеры и проекции: использование gluLookAt и gluPerspective, примеры изменения положения наблюдателя.
  • Функции отрисовки: drawColoredCube() — шесть граней куба, каждая с собственным цветом (передняя — красная, задняя — зелёная, верхняя — синяя, нижняя — жёлтая, правая — пурпурная, левая — голубая); drawWirePyramid(float x, float y, float z) — каркасная пирамида, отрисованная через GL_LINES.
  • Пример структуры программы: init(), display(), reshape(), main() с использованием двойной буферизации (GLUT_DOUBLE) и обработчиков GLUT.
  • Приложения с изображениями результатов работы: вид спереди, сбоку, сверху и снизу, а также комментарии по изменению обзора через координаты камеры.

📊 Для кого подходит

Полезно для студентов по направлениям программирования и прикладной информатики, изучающих компьютерную графику, OpenGL и основы 3D-моделирования; также пригодно преподавателям как демонстрационный пример по работе с немоделируемой (статической) сценой.

✨ Особенности

В отчете приведены готовые фрагменты кода и конкретные параметры: использование GL_QUADS и GL_LINES, включение теста глубины, организация матриц (GL_PROJECTION / GL_MODELVIEW), применение glPushMatrix/glPopMatrix и glTranslatef для позиционирования пирамид (в отчете указаны вызовы drawWirePyramid(-1.5f, 0.0f, 0.0f) и drawWirePyramid(1.5f, 0.0f, 0.0f)). Это экономит время при подготовке лабораторной работы и упрощает модификацию сцены (добавление анимации, управление камерой, текстурирование).

❓ Частые вопросы

Подойдет ли для моего ВУЗа?
Структура работы включает введение, цель и задачи, основную часть с описанием алгоритма и кодом, заключение и приложения — соответствует типовым требованиям по лабораторным работам.

Можно адаптировать?
Да: исходники на C++ совместимы с Visual Studio; легко добавить интерактивность, анимацию, заменить GLUT на GLFW или расширить сцену дополнительными примитивами и текстурами.