Введение в компьютерную графику
Полугодовой курс ВМиК МГУ, 2002
     

Задание №5. Визуализация природных явлений.

 

Начало: 17 апреля 2002 года.
Конец: 2 мая 2002 года (23:59)

Автор задания:
Александр Мальковский

Версия для печати здесь (zipped doc - 37кб)

Цель задания

Визуализация в реальном времени явлений, наиболее часто встречаемых в природе (облака, вода, растительность), с наибольшей степенью правдоподобности.

Описание задания

Введение

К настоящему времени компьютерная графика достигла уровня, когда визуализируется среда, окружающая человека в его повседневной жизни. То есть, начинается создание полноценной виртуальной реальности, когда картинка, получаемая на экране дисплея или в стереоочках неотличима от реальной. Понятно, что неотъемлемым элементом таких приложений является визуализация открытых пространств, то есть наблюдатель необязательно должен находиться в пределах комнаты или системы комнат, как было в ранних приложениях, что существенно снижало реалистичность получаемой картинки. То есть в основе лежит некоторая поверхность, подобная земной (ландшафт) с различными элементами - искусственными и природными. Искусственные элементы - которые созданы человеком (дома, различные сооружения, машины и др.). К природным элементам будем относить: ландшафт (основной элемент, включая горы и др.); водные поверхности: неограниченные (океаны, моря и др.) - те которые визуально не имеют границ (за исключением, может быть, передней) и ограниченные (небольшие водоемы, лужи и др.); небо, включая как саму небесную сферу (dome) раскрашенную в зависимости от времени суток, так и облака, которые находятся в непрерывном движении, при котором они, также, изменяют свою форму; природную растительность - трава, кусты, отдельные деревья, лесные массивы и др.

Мы будем рассматривать только природные элементы, так как визуализация искусственных элементов достаточно проста и малоинтересна. К тому же возможна реалистичная визуализация только природных элементов без искусственных (с учетом специфики поставленной задачи), но не наоборот. Мы не будем рассматривать визуализацию ландшафтов, так как это очень сложная и объемная, хотя и очень интересная задача, для которой существует большое количество алгоритмов, специфичных для каждого случая применения. Остановимся на визуализации таких неотъемлемых элементов любой природной среды, как водные поверхности, небо (включая облака) и растительность. Вам предлагается по выбору решить задачу по визуализации любого из этих трех элементов. Подробная специфика заданий с основными алгоритмами и документацией будет предложена ниже. Пока лишь заметим, что для повышения фоновой реалистичности картинки, достаточно отобразить простейший ландшафт. Например, строим сетку и в каждой точке этой сетке задаем случайным образом высоту, затем упорядоченно соединяем все точки нашей сетки. Подробнее о визуализации ландшафтов можно прочитать в 6 задании по компьютерной графики 2001 года (здесь). Но, повторяем ландшафт выступает в роли фонового элемента, а не основного. Поэтому этот элемент необязателен, и если вы используете, то достаточно лишь простейшей его реализации.

 

Задание.

Вам по выбору предлагается выполнить одно из трех заданий: визуализацию неба и облаков, визуализацию воды или визуализацию растительности.

Визуализация неба и облаков.

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

Задание по визуализации неба и облаков.

 

Визуализация воды.

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

Задание по визуализации воды.

 

Визуализация растительности.

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

Задание по визуализации растительности.

 

Дополнительная литература. 

Следующие сайты достаточно полно отражают тематику данной задачи:

www.vterrain.org

www.flipcode.net

www.gamasutra.com

www.opengl.org

www.nvidia.com

www.gamedev.net

 

Оформление

Оформление не отличается от обычного.

ZIP-архив с исходными текстами и исполняемыми файлами, названный по схеме NMaaa_b.zip (где N-номер задания, M - номер группы, aaa - три первые латинские буквы фамилии, b - первая латинская буква имени) присылайте на assign5@graphics.cs.msu.su

Также смотрите здесь, какие файлы нам присылать и как их оформить Советуем очень внимательно прочитать весь FAQ

Не забудьте положить в архив файл readme.txt.

Если вы реализовали какой-либо оригинальный метод, опишите его в комментариях.

!Внимание: обратите внимание на правильное именование и структуру архива с работой, а также на содержание файла readme.txt. Если ваша работа не будет соответствовать требованиям, баллы могут быть снижены.

Результаты работы

Результаты смотрите в интернете и/или на стенде около комнаты 703
Все вопросы присылать автору.

Примечания

  1. Задание выполняется строго индивидуально. За совместную работу или обмен кусками кода ставится ноль баллов всем участникам, если факт командной работы не был указан в readme.txt заданий.
  2. Рекомендуется написание программы под семейство ОС Windows. Написание под другие операционные системы нежелательно и если вы пишите под другую систему, то необходимо наличие mak-файла, по которому можно было бы скомпилировать проект.
Главная | О курсе | Лекции | Библиотека | Задания | Оценки | FAQs
  (с) Лаборатория компьютерной графики, 1997-2002
Дизайн: Алексей Игнатенко