Task 3 (1126109)

Файл №1126109 Task 3 (Task 3 часть 1)Task 3 (1126109)2019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Задание 3.Трехмерная карта солнечной системыАвторы задания: Александра Афанасьева, Владимир Афанасьев, Кристина Зипа1Contents1Введение .............................................................................................................................................. 32Требования: обязательная часть (15 баллов) ................................................................................... 42.1 Модель движения .............................................................................................................................

42.2 Визуализация ..................................................................................................................................... 42.3 Взаимодействие с пользователем ................................................................................................... 53Требования: дополнительная часть (максимум 5 баллов).............................................................. 54Материалы ........................................................................................................................................... 75Ресурсы для изучения OpenGL 3 и OpenGL4 ..................................................................................... 86Правила оформления работы ............................................................................................................

87Подсказки к решению: база ............................................................................................................... 97.1 Расчет движения планет ................................................................................................................... 97.1.1Глобальные координаты .................................................................................................... 97.1.2О дискретизации .................................................................................................................

97.1.3Расчет движения планеты по модели Кеплера ................................................................ 97.1.4Гравитационная модель взаимодействия ...................................................................... 107.2 Генерация сферы.............................................................................................................................

117.3 Камера .............................................................................................................................................. 127.4 Текстура ............................................................................................................................................ 127.5 Освещение ....................................................................................................................................... 127.6 Расчет нормалей ............................................................................................................................. 138Подсказки к решению: бонусы ........................................................................................................

148.1 Подгрузка текста в окно opengl ...................................................................................................... 148.2 Плавная камера ............................................................................................................................... 148.3 Прозрачные кольца Сатурна .......................................................................................................... 148.4 Тени от спутников на планетах ......................................................................................................

158.5 Созвездия ......................................................................................................................................... 168.6 Отражения сферического окружения ........................................................................................... 1621 ВведениеЦель задания - реализовать симуляцию и визуализацию движения небесных тел солнечнойсистемы в 3D, обеспечить интерактивный режим навигации по ней.Рисунок 1. Пример выполненного задания (http://www.solar-system-explorer.com/).Другой пример реализации задания с регулируемым вращением планет.Задачи:реализовать визуализацию физической моделисоздать графическое приложений для GPU с использованием шейдеров OpenGL3/43изучить некоторые алгоритмы реалистичной компьютерной графикиобеспечить интерактивный режим работы, удобный интерфейс взаимодействия спользователем2 Требования: обязательная часть (15баллов)2.1 Модель движения1.

В солнечной системе должны быть как минимум Солнце, 9 планет (давайте будем считать,что их 9). Спутники, астероиды, кометы изображать необязательно.2. Движение планет и Солнца должно быть реализовано одним из 2 способов: по моделиКеплера или по гравитационной модели. Каждая планета должна двигаться по своейреальной орбите.3.

Планеты должны вращаться вокруг своей оси. Все скорости движения по орбитам и скоростивращения вокруг своей оси должны быть согласованы между собой.2.2 Визуализация1. У программы должно быть 2 режима масштаба: схематичный и реальный.В схематичном режиме орбиты должны даваться в логарифмической оси, размеры планетдолжны быть согласованы между собой (Солнце может быть уменьшено).

Цельсхематичного режима - удобство использования программы, наглядность.В реальном режиме орбиты должны быть соразмерны по расстоянию до Солнца и сразмерами планет, т.е. все измерения должны соответствовать физическим величинам сточностью до некоторого коэффициента.2. Все объекты должны выводиться на экран при помощи шейдерных подпрограмм версии нениже OpenGl 3.0. Как минимум, должны быть использованы вершинный и фрагментныйшейдеры.3.

У всех объектов (кроме Солнца) должны быть корректно подсчитанные гладкие нормали.4. Солнце должно являться источником освещения (можно считать его точечным). Каждаяпланета должна освещаться Солнцем с использованием модели Фонга. У планет должнобыть минимум 2 различных материала (например, у малых и больших планет).5. Некоторые планеты (минимум одна - Земля) должны быть текстурированы.В реальном режиме допускается не просчитывать нормали и освещение в полном объеме припросмотре издалека, однако при приближении к объектам все требования должны бытьсоблюдены. Главное правило: оптимизация должна быть не заметна пользователю.42.3 Взаимодействие с пользователем1. С помощью мыши должно быть организовано вращение камеры.

Приближение и удалениеможно реализовать либо с помощью колесика мыши, либо с помощью клавиатуры (+\-).Направление взгляда может быть фиксированным в центре сцены. Также у пользователядолжна быть возможность перемещения по сцене (т.е. возможность движения в выбранномнаправлении).2. Должна быть возможность остановить анимацию движения и запустить ее вновь по клавише“Пробел” с того момента, на котором она остановилась.3 Требования: дополнительная часть(максимум 5 баллов)- Качественная неполярная сетка (+1 на CPU, +2 на GPU)- Сферическая карта звёздного неба (+1)- Визуализация орбит планет в виде линий (+1)- Детализация поверхности планет с использованием сдвига вершин модели или бамп-маппингапо карте высот (+2)- Настройка тесселяции сферы (программное построение сферы из икосаэдра с фиксированнымколичеством подразбиений) (+2)- Фильтры постпроцессинга (bloom effect от звезд или комет) (+1)- Инстанцирование однотипных мешей (полигональных сеток), например, недалеких астероидов,с разными модельно-видовыми матрицами (+1) - функция glDrawElementsInstanced- Использование сложных мешей с помощью библиотеки l3ds ( космическая станция, спутник,чайник Рассела на орбите между Марсом и Юпитером, скафандр, корабль пришельцев и т.д.)(+2)- Удобная навигация по солнечной системе (+2)нелинейная навигация с помощью свободной камеры, скорость камеры в пустых местахсистемы должна быть на порядки выше, камера не должна резко тормозитьнавигация с использованием перемещения по объектам (клик по объекту - камераперелетает к нему)- Использование уровней детализации текстур (+1) - функции glTexImage2D и textureLod- Движущиеся спутники, кольцо астероидов, кометы (+2)5- Управляемая скорость анимации: смещение одной планеты вручную, по ней смещаются всеостальные (+1)- Атмосфера у планет (+2)+1 балл в случае прозрачных плоскостей+2 балла за реалистичную атмосферу, если прозрачность зависит от положения и направлениякамеры- Имитация столкновения космических объектов (массивные метеоры, астероиды) с изменениемтраектории (+1) и имитацией разрушения с помощью системы частиц (до +3 с использованиемполупрозрачных текстур)- Тени от спутников на поверхности планет, затмениепростейшие резкие тени (на Земле от Луны) + 1 баллкачественные реалистичные размытые тени от двух и более источников, реализация методаshadow volumes +2 балла- Полупрозрачные кольца Сатурна, соразмерные с масштабом планетыкольца как набор вращающихся окружностей различных цветов +1 баллкольца как набор полупрозрачных концентрических окружностей с наложенной текстурой +2баллакольца как набор полупрозрачных текстурированных концентрических окружностей сэффектом исчезновения либо с наличием движущихся частиц +3 балла- Отражения сферического окружения (карты звездного неба):+1 за простой объект - сферу, куб+2 за чайник Рассела или любой другой сложный объект+3 за отражение всего окружения в сцене, а не только сферической карты звездного небаДополнительная функциональность в интерфейсеВозможность просмотра солнечной системы (галактики) в заданную дату, а такжевозможность ускорения/замедления времени +1Возможность выделения конкретного созвездия/галактики (подсветка, соединение линиями- возможно при покоординатной частичной реализации карты звездного неба) +1Настройка количества звезд +1Возможность настроить скорость анимации (множитель соотношения реального времени ивремени отображения) +16Возможность выбрать мышкой один из объектов (кам минимум, Солнце и 9 планет), послечего в углу экрана должно возникнуть информационное окно с краткой информацией обобъекте (после клика по окну оно должно исчезнуть) +14 Материалы1) Вам предлагается шаблон программы, рисующей текстурированный квадрат с помощью двухтреугольников.

По нажатию пробела окраска квадрата меняется градиентную.Шаблон обеспечивает организацию работы с шейдерами: вершинным и фрагментным.Прилагаются шейдеры версии 3.2.В шейдеры передаются необходимые матрицы, подключаемые в юниформ-переменные.Организован цикл анимации. Значения четырех пикселей текстуры жестко заданы впрограммном коде. При реализации задания необходимо организовать подгрузку текстуры изизображения, при этом допускается использование сторонних библиотек.2) Шаблон проверен в Windows и Linux на сборку.

На Mac OS шаблон не работает. Приразработке на QT изучите предоставляемые библиотекой примеры.Шейдеры написаны на основе библиотек freeglut и glew. Библиотеки доступны дляоперационных систем windows и linux. В линукс нужно установить необходимыепакеты freeglut и glew (dev версию).

Характеристики

Тип файла
PDF-файл
Размер
1,03 Mb
Материал
Тип материала
Высшее учебное заведение

Тип файла PDF

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

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов лабораторной работы

решение
Mashgraph2013-3task
bin
Win32
Release
Fragment-orbit.frag.cpp
Fragment.frag.cpp
Triangles.exe
Triangles.pdb
Vertex-orbit.vert.cpp
Vertex.vert.cpp
controls(1).bin
controls(1).xml
controls(2).bin
controls(2).xml
controls(3).bin
controls(3).xml
freeglut.dll
glew32.dll
x64
Release
Fragment-orbit.frag.cpp
Fragment.frag.cpp
Triangles.exe
Triangles.pdb
Vertex-orbit.vert.cpp
Vertex.vert.cpp
controls(1).bin
controls(1).xml
controls(2).bin
controls(2).xml
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7028
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее