Визуализация в реальном времени
явлений, наиболее часто встречаемых в
природе (облака, вода, растительность), с
наибольшей степенью правдоподобности.
К настоящему времени компьютерная графика достигла уровня,
когда визуализируется среда, окружающая человека в его повседневной жизни. То
есть, начинается создание полноценной виртуальной реальности, когда картинка,
получаемая на экране дисплея или в стереоочках неотличима от реальной. Понятно,
что неотъемлемым элементом таких приложений является визуализация открытых
пространств, то есть наблюдатель необязательно должен находиться в пределах
комнаты или системы комнат, как было в ранних приложениях, что существенно
снижало реалистичность получаемой картинки. То есть в основе лежит некоторая
поверхность, подобная земной (ландшафт) с различными элементами - искусственными
и природными. Искусственные элементы - которые созданы человеком (дома,
различные сооружения, машины и др.). К природным элементам будем относить:
ландшафт (основной элемент, включая горы и др.); водные
поверхности: неограниченные (океаны, моря и др.) - те которые визуально не имеют
границ (за исключением, может быть, передней) и ограниченные (небольшие водоемы,
лужи и др.); небо, включая как саму небесную сферу (dome)
раскрашенную в зависимости от времени суток, так и облака, которые находятся в
непрерывном движении, при котором они, также, изменяют свою форму;
природную растительность - трава, кусты, отдельные деревья, лесные массивы и др.
Мы будем
рассматривать только природные элементы, так как визуализация искусственных
элементов достаточно проста и малоинтересна. К тому же возможна реалистичная
визуализация только природных элементов без искусственных (с учетом специфики
поставленной задачи), но не наоборот. Мы не будем рассматривать визуализацию
ландшафтов, так как это очень сложная и объемная, хотя и очень интересная
задача, для которой существует большое количество алгоритмов, специфичных для
каждого случая применения. Остановимся на визуализации таких неотъемлемых
элементов любой природной среды, как водные поверхности, небо (включая облака) и
растительность. Вам предлагается по выбору решить задачу по визуализации любого
из этих трех элементов. Подробная специфика заданий с основными алгоритмами и
документацией будет предложена ниже. Пока лишь заметим, что для
повышения фоновой реалистичности картинки, достаточно отобразить простейший
ландшафт. Например, строим сетку и в каждой точке этой
сетке задаем случайным образом высоту, затем упорядоченно соединяем все точки
нашей сетки. Подробнее о визуализации ландшафтов можно прочитать в 6 задании по
компьютерной графики 2001 года (здесь). Но, повторяем ландшафт выступает в роли
фонового элемента, а не основного. Поэтому этот элемент необязателен, и если вы
используете, то достаточно лишь простейшей его реализации.
Задание.
Вам по выбору предлагается выполнить одно из трех заданий:
визуализацию неба и облаков, визуализацию воды или визуализацию растительности.
Визуализация неба и облаков.
Корректная визуализация неба и
облаков является достаточно сложной и интересной задачей, так как эти элементы
являются неотъемлемыми элементами практически любой естественной сцены. Мы
рассматриваем задачу не только как просто направленную на визуализацию, но и как
задачу о моделирование зарождения, угасания и перемещений облаков и корректной
раскраски неба.
Задание по
визуализации неба и облаков.
Визуализация воды.
Данная задача является достаточно
обширной, поскольку она подразумевает множество подзадач, как, например,
моделирование движений поверхности воды, моделирование отражений от поверхности
воды, моделирование преломлений в воде и др. Также различают различный модели
для искусственных водоемов, небольших озер, больших водных поверхностей и др.
Задание по
визуализации воды.
Визуализация растительности.
Растительность занимает большую
часть ландшафтов. Возможны различные виды и размеры растений, и для каждого из
них возможны различные алгоритмы визуализации. В данном задание рассматривается
визуализация травы и деревьев. Здесь предлагается ряд алгоритмов, позволяющих с
достаточной степенью точности смоделировать деревья и траву, которые будут
похожи на реальные и подвержены воздействию естественных явлений, таких как
ветер, и др.
Задание по визуализации
растительности.
Оформление не отличается от обычного.
ZIP-архив с исходными текстами и
исполняемыми файлами, названный по схеме
NMaaa_b.zip (где N-номер задания, M - номер группы,
aaa - три первые латинские буквы фамилии, b -
первая латинская буква имени) присылайте на
assign5@graphics.cs.msu.su
Также смотрите здесь, какие
файлы нам присылать и как их оформить
Советуем очень внимательно прочитать весь FAQ
Не забудьте положить в архив файл readme.txt.
Результаты смотрите в интернете и/или на
стенде около комнаты 703
Все вопросы присылать автору.
Примечания
- Задание выполняется строго
индивидуально. За совместную работу или
обмен кусками кода ставится ноль
баллов всем участникам, если факт
командной работы не был указан в readme.txt
заданий.
- Рекомендуется написание программы под
семейство ОС Windows. Написание под другие
операционные системы нежелательно и если вы пишите под другую систему, то
необходимо наличие mak-файла, по которому можно было
бы скомпилировать проект.
|