Внимание! Студландия не продает дипломы, аттестаты и иные документы об образовании. Наши специалисты оказывают услуги консультирования в области образования: в сборе информации, ее обработке, структурировании и оформления в соответствии с ГОСТом. Все услуги на сайте предоставляются исключительно в рамках законодательства РФ.

Курсовая работа по программированию: компьютерная графика на C++

  • 27.01.2025
  • Дата сдачи: 04.02.2025
  • Статус: Архив
  • Детали заказа: # 282433

Тема: Компьютерная графика c++

Задание:
Выполнить работу по компьютерной графике: на c++ графика жидкости и света в ней, использую обратную трассировку с глобальной моделью освещения. Должно реализовано быть алгоритмами: не все через OpenGL (можно только карту теней в нем).

ПЗ не нужна, только сама программа на c++.

Всё через OpenGL нельзя (можно карту теней прокинуть), суть работы в алгоритмической реализации.

Задание:

Разработать программу для построения трёхмерного изображения бассейна с жидкостью и деталями конструктора: кубами, шарами, эллипсоидами и пирамидами. Детали конструктора могут плавать на поверхности или находиться на дне бассейна. Предусмотреть наличие источника света на бесконечности. Предусмотреть наличие точечных статичных источников

света. Геометрия поверхности жидкости в бассейне задаётся на этапе трансляции. Оптические свойства поверхностей объектов коэффициенты рассеянного, диффузного и зеркального отражения, коэффициент пропускания, коэффициент преломления задаются пользователем

на этапе выполнения. Количество и расположение объектов, число и расположение источников света задаются пользователем на этапе выполнения.

Пояснение и требования:

В интерфейсе программы возможность выбора деталей из набора деталей и их размещение на поверхности или на дне. Также в интерфейсе задаются все коэффициенты, амплитуда генерации волновой поверхности жидкости, точечные источники света. Источник света на бесконечности - это фоновое освещение, оно по умолчанию есть всегда. Задается положение наблюдателя.

Прозрачный бассейн. Детали конструктора имеют матовую поверхность(не прозрачные и не отражают свет). Также на дне должны быть тени от деталей и каустинги от света и волн.

Из алгоритмов надо отбратную трассировку лучей(для удаления невидимых линий и поверхностей и для теней и для затенения) глобальная модель освещения.

От плотности жидкости будет зависеть пропускание света на дно и амплитуда волн. Физику воды учесть.

Приложил ссылку и фото того, как это примерно должно выглядеть для понимания что нужно.

(https://madebyevan.com/webgl-water/)

Тема компьютерной графики на C++ предполагает разработку алгоритмической части рендера: моделирование поверхности жидкости, расчёт преломления и рассеяния света, а также обратная трассировка лучей для теней и глобального освещения.

Что входит в работу

  • построение трёхмерной сцены с бассейном и наборами примитивов — куб, сфера, эллипсоид, пирамида;
  • модель поверхности жидкости с параметрами амплитуды волн и зависимостью оптических свойств от плотности;
  • реализация обратной трассировки лучей для видимости, расчёта теней, затенения и каустик;
  • учёт источников света: направленный (на бесконечности) и набор точечных источников;
  • интерфейс выбора и размещения деталей, задания коэффициентов отражения, преломления и прозрачности во время выполнения.

На что обращает внимание преподаватель

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

Мы помогаем с объяснением структуры решения: разбиением на модули сцены, геометрии, трассировщика и шейдинга, описанием используемых формул для преломления и отражения, а также с проверкой логики реализации каустик и зависимости прозрачности от плотности жидкости. Вы получите готовое текстовое описание работы по заданной теме и разбор от специалиста, правки по замечаниям преподавателя — бесплатно до 21 дня; опишите задание в заявке, чтобы получить расчёт.

  • Тип: Курсовая работа
  • Предмет: Программирование
  • Объем: 20-25 стр.

Можем рассчитать стоимость такой же или похожей работы за 2 минуты

Ответим за 2 минуты, без регистрации

Рассчитать
Нужна помощь?
Примеры выполненных работ
103 972 студента обратились к нам за прошлый год
439 оценок
среднее 4.9 из 5