Содержание к диссертации
Введение
Глава 1. Методы ускорения моделирования освещенности 18
1.1. Октарное дерево. Метод его компактного хранения 19
1.1.1. Задача компактного представления октарного дерева 20
1.1.2. Компактное представление октарного дерева 22
1.1.3. Вопросы реализации алгоритма 26
1.1.4. Результаты 27
1.2. Равномерное разбиение пространства. Равномерное разбиение с делением подобластей 29
1.2.1. Равномерное разбиение пространства 30
1.2.2. Равномерное разбиение пространства с равномерным делением подобластей 31
1.2.3. Результаты 32
Глава 2. Методы преобразования физической яркости в координаты RGB графического дисплея 37
2.1. Динамический подбор палитры в системах реалистической визуализации 37
2.1.1. Восприятие цвета, цветовое пространство 38
2.1.2. Постановка задачи 39
2.1.3. Метод динамического подбора палитры 42
2.1.4. Вопросы реализации алгоритма 44
2.1.5. Результаты 47
2.2. Эффективный оператор сжатия динамического диапазона яркостей .51
2.2.1. Алгоритм оператора сжатия динамического диапазона 55
2.2.2. Оценка параметров алгоритма 57
2.2.3. Результаты 59
Глава 3. Контекстная визуализация пространственных данных 66
3.1. Примеры контекстной визуализации 69
3.2. Обзор возможностей системы контекстной визуализации 74
3.2.1. Формы визуального представления пространственных данных 74
3.2.2. Презентационные наборы данных 75
3.2.3. Элементы презентации 77
3.2.4. Средства анимации ...77
3.2.5. Инструмент редактирования сцен и моделирования освещенности 78
3.3. Вопросы реализации 80
3.4. Дополнительные возможности системы контекстной визуализации .82
3.5. Результаты 84
Глава 4. Моделирование освещенности и синтез реалистичных изображений через Интернет 86
4.1. Архитектура Интернет-приложения для интерактивного физически аккуратного моделирования освещенности ...88
4.2. Возможности программного комплекса с точки зрения конечного пользователя 91
4.3. Интерфейс программного комплекса 96
4.4. Методы ускорения моделирования освещенности и генерации изображений 100
4.4.1. Методы ускорения расчета глобальной освещенности 100
4.4.2. Параллельные и распределенные вычисления 103
4.5. Средства администрирования программного комплекса 107
4.6. Результаты 108
Глава 5. Синтез реалистичных изображений в реальном времени 110
5.1. Базовые принципы построения системы генерации реалистичных изображений в реальном времени 113
5.2. Архитектура приложения 115
5.3. Естественное освещение и генерация теней 117
5.4. Визуализация оптически сложных материалов 120
5.5. Зеркальные отражения и эффекты вторичной освещенности 122
5.6. Результаты 124
Заключение 126
Список литературы
- Задача компактного представления октарного дерева
- Эффективный оператор сжатия динамического диапазона яркостей
- Обзор возможностей системы контекстной визуализации
- Возможности программного комплекса с точки зрения конечного пользователя
Введение к работе
Методы синтеза реалистичных изображений, основанные на физически аккуратном моделировании распространения света, применяются во многих областях человеческой деятельности. Созданные алгоритмы и программные средства представляют интерес для использования в архитектуре, градостроительстве, ландшафтном дизайне, проектировании систем отопления и кондиционирования, автомобильной и авиационной промышленности и др.
Предварительные расчеты освещения являются одним из обязательных этапов при проектировании и строительстве зданий. С помощью таких расчетов определяются следующие факторы:
1. Освещенности рабочих мест должны соответствовать
существующим стандартам, в которых указаны не только минимально
допустимая величина освещенности, но и такие параметры, как доля прямого
света от источника в поле видимости человека («комфортность» освещения),
и др.
2. Экономичность системы освещения основывается на точных
расчетах освещения помещений дневным и солнечным светом. Базируясь на
этих данных, архитектор может варьировать положение и ориентацию здания
относительно сторон горизонта и окружающих строений, расположение и
размеры оконных проемов, лоджий и т.д.
3. Эстетичность интерьеров помещений и внешнего вида, как правило,
разрабатываются архитектором и утверждаются заказчиком строительства
проекта до его начала. Любая переделка всегда стоит дороже. Например, на
рис. 1 представлен внешний вид площади до планируемого строительства
мечети (рис. 1а) и после (рис. 16).
(а) (б)
Рис. 1. Моделирование изменения внешнего вида площади при строительстве
мечети. (Изображения построены с помощью разработанного программного
комплекса. Цифровая модель сцены предоставлена фирмой Sultan Decor, ОАЭ.)
Очевидно, что предварительные расчеты будут приняты во внимание только, если моделирование основано на законах физики распространения света и позволяет достичь приемлемой точности.
Кроме архитектуры методы компьютерного физически аккуратного моделирования применяются также для визуализации и оценки различной продукции до запуска ее в производство. Один из примеров - производство современных оптически сложных красок, используемых в современной автомобильной промышленности. Гораздо дешевле смоделировать на компьютере внешний вид краски по ее составу и исследовать при различных условиях освещения (дневной, солнечный свет, искусственное освещение), чем произвести опытную партию краски и покрасить ею реальный автомобиль. В настоящее время такой подход к моделированию красок применяется не только в автомобильной промышленности, но и для окраски
большого спектра других товаров (мобильные телефоны, персональные компьютеры, бытовая техника и пр.)
Безусловно, широкое применение получили методы физически аккуратного синтеза изображений в киноиндустрии и производстве компьютерных игр. Реалистичность изображения является здесь решающим фактором. Практически все зрелищные фильмы последнего времени сняты с использованием компьютерных программ синтеза изображений.
Процесс генерации реалистичных изображений
Генерация реалистичных изображений, основанная на физически аккуратном моделировании распространения света в различных средах, является одним из современных направлений развития компьютерной графики. Рисунок 2 иллюстрирует этот процесс.
Генерация Моделирование зображення
Реалистичное изображение
Описание сцены
(здания, интерьеры,
источники света и др.)
Результат: освещенность
Б фИЗИЧеСКИХ
единицах
Визуализация
Изолинии,
векторные ПОЛЯ,
тоновая заливка,
и т. д.
Рис. 2. Процесс генерации изображения.
Моделирование будем называть физически аккуратным, если методы моделирования основаны на физических законах распространения света и взаимодействия света с объектами.
Под понятием реалистичности изображений будем понимать близость восприятия синтезированных изображений с восприятием фотографий, т.е.
именно фотореалистичность является критерием качества синтеза изображений в нашем случае.
С помощью физически аккуратного моделирования можно получить реалистичное изображение, если методы моделирования правильно учитывают физические законы, влияющие на распространение света и формирование изображения фотографическим способом или глазом человека. Использование физически аккуратного моделирования в основе синтеза реалистических изображений позволяет перейти к задачам проектирования и дизайна еще не существующих объектов, т.к. созданные визуальные образы правильно передают их внешний вид.
Задание цифровой модели сцены
Изображение генерируется, используя заданную в цифровом виде модель сцены. Модель сцены состоит из геометрии или объектов сцены, физических свойств объектов и поверхностей, источников света и параметров наблюдения сцены, необходимых для генерации итогового изображения.
Геометрия сцены включает задание формы объектов сцены, а также их иерархию [46]. Наиболее часто форма поверхности приближается с помощью треугольников. Это представление очень удобно во многих приложениях, например для него существуют эффективные алгоритмы нахождения пересечения луча с поверхностью, оно поддерживается всеми современными ускорителями трехмерной графики, также многие алгоритмы вычисления освещенности рассчитаны специально на такое представление. Для создания реалистичных изображений геометрия сцены должна быть задана с большой степенью детализации. Иначе грубое представление объектов разрушит впечатление «реальности» рисунка. Высокая степень детализации приводит к огромному количеству объектов изображаемых сцен и, соответственно, усложняет задачу моделирования распространения света.
Свойства объектов и поверхностей определяются физическими законами распространения света внутри сред и взаимодействия света с поверхностями. Например, в сцене возможно задать количество света, отраженного от поверхности или проходящего сквозь поверхность диффузно, зеркально; количество поглощенного света и т.д. Наиболее общий способ описания отражающих (светорассеивающих) свойств поверхности - задание двунаправленных функций отражения/пропускания (ДФО/ДФП или BRDF/BTDF - Bidirectional Reflection/Transmittance Distribution Function в англоязычной литературе) [16]. ДФО, заданная в каждой точке поверхности, определяет какая часть энергии, принятая с направления win будет рассеяна поверхностью в направлении wout (рис. 3). Таким образом, в общем случае, ДФО в каждой точке является функцией двух направлений.
Нормаль n к
Рис. 3. Задание ДФП в сферической системе координат (система координат и схема задания углов, определяющих направления win (а, ф) и wout (в, ф)).
Источники света - это объекты сцены, излучающие световую энергию. Эти объекты могут быть как частью геометрии сцены (так называемые «самосветящиеся» объекты), так и некими абстрактными объектами, не привязанными к геометрии. Наиболее существенным для алгоритмов вычисления освещенности является разделение источников света
на протяженные и точечные. В реальной жизни идеальных точечных источников, вообще говоря, не существует. Но для практических приложений точечные источники имеют важное оптимизационное значение. Например, в большинстве задач дизайна интерьеров круглые лампочки накаливания можно считать точечными источниками света, но такое приближение для длинных неоновых ламп во многих случаях оказывается неприемлемым.
Но даже использование точечных источников бывает недостаточно эффективным, если при моделировании необходимо учитывать геометрические элементы лампы, такие как, например, отражатель или абажур. Моделирование таких детальных объектов требует дополнительных вычислительных ресурсов. В то же время для крупномасштабных сцен, например комнаты или холла, они легко могут быть заменены на точечные источники света с гониограммами. Гониограмма (в оптике также называемая индикатриссой рассеяния) - это описание распределения светимости (яркости) источника света по всем направлениям пространства. В настоящее время практически все производители осветительных приборов и ламп предоставляют файлы с описанием гониограмм своей продукции. Наиболее распространенным международным форматом полного описания источника света является формат «IES LM-63-1986», принятый международной организацией IESNA (The Illuminating Engineering Society of North America) [95] в 1986 году.
Параметры наблюдения сцены. Три предыдущие компоненты (т.е. геометрия сцены, свойства объектов и источники света), вообще говоря, полностью определяют распределение освещенности в сцене. Но изображение, получаемое на экране монитора, в значительной степени зависит от параметров наблюдения, то есть от положения наблюдателя, направления зрения, фокусного расстояния камеры, ее разрешения и т.д. В компьютерной графике самая популярная модель наблюдения - модель точечной камеры. Она основана на предположении, что размер устройства,
воспринимающего световую энергию (например, объектив камеры), можно считать бесконечно малым по сравнению с расстояниями до объектов сцены. В этом случае для каждой точки экрана можно однозначно указать телесный угол, под которым она видна из глаза, и найти поверхности, покрываемые этим телесным углом, т.е. видимые через эту точку. Яркость данной точки определяется усреднением яркостей всех поверхностей, видимых через нее.
Моделирование распространения света
В основе моделирования распространения света лежат законы геометрической оптики: закон прямолинейного распространения света, принцип обратимости (именно этот принцип позволяет моделировать распространение света как в прямом направлении - от источника света, так и в обратном - из глаза наблюдателя), законы отражения и преломления света.
Распространение света рассчитывается с помощью алгоритма трассировки лучей, предложенного впервые в работе Whitted [4]. В этом алгоритме происходит трассировка луча от глаза наблюдателя через каждую точку экрана до пересечения его с объектом сцены, т.е. луч трассируется в обратном к распространению света направлении: от наблюдателя к источнику света, что было предложено еще в 1968 году [2]. В понятие трассировки вкладывается нахождение пересечения луча с ближайшим объектом. В точке взаимодействия луча с объектом рассчитывается ее яркость в зависимости от освещенности точки и свойств поверхности пересеченного объекта [5, И]. Вычисление освещенности точки требует трассировки лучей, направленных на источники света (определение освещена ли точка источником света или находится в тени), и порождающих (преломленных сквозь объект и отраженных от него) лучей. Для определения интенсивности порождающих лучей они должны быть протрассированы вместе со своими порождающими и так далее. Метод обратной трассировки лучей [23] проиллюстрирован на рисунке 4.
Этот метод правильно рассчитывает первичное освещение (т.е. прямое освещение от источника света), тени и отражения в зеркальных поверхностях.
Рис. 4. Метод обратной трассировки лучей. Красные стрелки показывают лучи
света и их порождающие, которые необходимо трассировать для получения
интенсивности точки экрана. Желтые стрелки показывают лучи, направленные на
источник света (желтый кружок вверху), и с помощью которых определяется
первичное освещение точки.
Однако физически аккуратное моделирование освещенности требует расчета как прямой освещенности сцены, так и вторичной освещенности, получаемой в результате множественных переотражений света. Вторичную освещенность также часто называют глобальной освещенностью.
Все физически обоснованные методы расчета глобальной освещенности являются приближенными решениями так называемого уравнения рендеринга [18] или уравнения распространения света. Трудность решения этого уравнения определяется его рекурсивным характером и
сложностью области интегрирования, поэтому на практике применяются различные приближенные методы численного решения. Это могут быть методы излучательности [10, 15] или метод Монте-Карло прямой трассировки лучей [41].
Идея метода Монте-Карло прямой трассировки лучей состоит в статистическом воспроизведении механизма распространения света путем моделирования всевозможных траекторий лучей. Траектории световых частиц (фотонов) прослеживаются на всех этапах существования, от момента их генерации источниками света до поглощения или выхода из сцены. Направление, в котором испускается фотон, длина волны и стартовая позиция на источнике света определяются стохастически согласно фотометрическому распределению энергии источника и его геометрической
Рис. 5. Метод Монте-Карло прямой трассировки лучей. Желтые кружки сверху
обозначают источники света. Красными стрелками показаны пути траектории
фотонов, их отражения от поверхностей (черные дуги) или прохождение сквозь
прозрачное тело (голубой прямоугольник).
форме. Траектория фотона трассируется до пересечения с поверхностью, после чего дальнейшее поведение фотона определяется свойствами поверхности. Метод проиллюстрирован на рисунке 5.
Метод естественным образом поддерживает все типы поверхностей, включая сочетания диффузных и зеркальных свойств, а также поверхности, описываемые сложными функциями отражения (преломления) света (ДФО/ДФП). Он позволяет воспроизводить в изображениях тонкие оптические явления, такие как, например, эффект «каустики» — световые блики, возникающие за счет фокусирования световой энергии идеально преломляющими материалами [79].
Метод не зависит от положения камеры и не предусматривает вывод изображения на экран, а лишь предоставляет информацию о глобальной освещенности, которая позднее может быть использована для визуализации и синтеза изображений.
Цель работы
Целью работы является исследование и разработка алгоритмов и методов синтеза реалистичных изображений, построение на основе полученных результатов технологий их применения в науке, технике, архитектуре, градостроительстве, реализация созданных алгоритмов и технологий в виде программных комплексов.
Основные задачи работы:
исследование и разработка методов ускорения моделирования освещенности с помощью алгоритмов пространственного разбиения сцены;
исследование и разработка алгоритмов преобразования физической яркости в RGB координаты графического дисплея;
разработка и программная реализация концепции контекстной визуализации пространственных данных;
разработка архитектурных, технологических и программных решений, обеспечивающих эффективный расчет освещения и синтез реалистичных изображений при работе через Интернет; реализация их в программном комплексе;
разработка принципов построения и архитектуры системы реалистической визуализации в реальном времени; реализация программной системы на их базе.
Научная новизна работы
Предложены новые эффективные методы преобразования физической яркости в RGB координаты графического дисплея. Разработаны новые эффективные и универсальные реализации методов ускорения моделирования освещенности, основанных на пространственном разбиении сцены. Предложена новая концепция контекстной визуализации пространственных данных. Разработана и проверена на практике новая технология физически аккуратного моделирования освещенности и синтеза реалистичных изображений через Интернет. Предложен новый подход к синтезу изображений в реальном времени, позволяющий использовать результаты физически аккуратного моделирования для повышения реалистичности и визуализации оптически сложных материалов.
Практическая значимость
Разработанные алгоритмы позволили уже в начале 90-х годов прошлого века реализовать систему генерации реалистичных изображений на персональной ЭВМ, что сделало ее доступной широкому классу пользователей. Теоретические результаты диссертационной работы позволили существенно сократить время моделирования освещения и
преобразования физических яркостей в цвета монитора для сцен практически любой сложности.
На базе концепций и технологий, предложенных в диссертации, были реализованы индустриальные программные продукты Visualizer (контекстная визуализация пространственных данных), Lkernel (Интернет приложение моделирования освещенности) и Fly (интерактивная система реалистичной визуализации).
Апробация работы и публикации
Основные результаты диссертации были доложены на международных конференциях [33, 35, 78, 81, 86] и опубликованы в рецензируемых журналах [34, 36, 82, 84, 85], сборниках статей [32] и препринтах ИПМ им. М.В. Келдыша РАН [74, 75]. Основные результаты диссертационной работы были внедрены и использованы в
системе синтеза реалистичных изображений Ray3D, интегрированной в биологический программный комплекс GeneBee [87]. Программный комплекс GeneBee был установлен и использовался в более чем 130 лабораториях и институтах, работающих в области молекулярной биологии;
индустриальных программных комплексах фирмы Integra Inc. [89].
Структура диссертации
Диссертационная работа состоит из двух разделов: первый раздел состоит из первой и второй главы и посвящен анализу и разработке методов синтеза реалистичных изображений; второй раздел состоит из третьей, четвертой и пятой глав и посвящен разработке различных приложений реалистической визуализации. Изложение глав организовано следующим образом.
В первой главе проанализированы методы моделирования освещенности, использующие разбиения пространства сцены для ускорения трассировки лучей. Предложены алгоритмы быстрой трассировки, использующие ограниченный объем памяти, что значительно расширяет применимость алгоритмов.
Во второй главе рассмотрена проблема преобразования физических величин, полученных в результате моделирования освещенности, в RGB координаты графического монитора. Отмечены физиологические аспекты восприятия света человеческим глазом. Предложены эффективные алгоритмы преобразования физических величин.
В третьей главе вводится концепция контекстной визуализации пространственных данных. Описывается архитектура системы, позволяющая эффективно реализовать концепцию. Обсуждаются вопросы ее реализации и дальнейшего развития.
В четвертой главе предлагается архитектура программного комплекса, реализующего физически аккуратное моделирование освещенности в интерактивном режиме через Интернет. Представлены реализованные алгоритмические и аппаратные средства ускорения расчета глобальной освещенности для достижения приемлемого времени отклика.
В пятой главе представлена система генерации реалистичных изображений в реальном времени. Приведены принципы построения и архитектура системы. Рассмотрены подходы и алгоритмы для изображения сцен с естественным освещением, оптически сложными материалами и зеркальными поверхностями.
В заключении формулируются основные результаты работы.
Задача компактного представления октарного дерева
Исторически задача создания компактной модели хранения октарного дерева [33, 34] в памяти компьютера возникла в ходе работы над двумя проектами — создание системы синтеза реалистичных изображений Ray3D на машинах класса IBM PC (в то время это были Intel 286 и 386) и экспериментов с распараллеливанием алгоритма трассировки лучей на транспьютерах. Система синтеза реалистичных изображений Ray3D была полностью разработана автором [35].
Создание системы трассировки лучей на IBM PC. Перенос системы трассировки лучей на IBM PC-совместимые машины существенно расширял круг ее пользователей. Однако при работе на персональной ЭВМ необходимо было учитывать, что наиболее распространенная в то время операционная система MS/DOS позволяла использовать только около 550 Кб ОЗУ. Этого было недостаточно для хранения октарного дерева, имеющего пять и более уровней деления (такая глубина деления дерева целесообразна для трехмерных сцен при числе объектов более 500).
Создание системы трассировки лучей на транспьютерах. Мощные аппаратные возможности ускорения трассировки лучей давало использование в качестве вычислительных процессов транспьютеров [24]. Использовавшиеся для экспериментов транспьютерные платы как в VME-стандарте, так и подсоединяемые к IBM PC-совместимым ЭВМ, содержали несколько (от четырех) транспьютеров.
Использование нескольких транспьютеров давало наибольший выигрыш при правильном распараллеливании алгоритма, позволяющем равномерно и максимально загрузить их вычислениями. Вторым условием эффективного использования транспьютеров является минимизация числа сообщений, пересылаемых между ними [25], т.к. инициализация процесса пересылки данных через транспьютерные линки (прямые соединения между транспьютерами для передачи данных) является долгой операцией. Эти два условия выполняются, например, при использовании для распараллеливания стандартной технологии "farm out" [28]. Ее основная идея заключается в том, что каждый транспьютер хранит в своей памяти всю трехмерную сцену. В идеале он получает для трассировки один луч, проходящий через точку экрана, и возвращает значение интенсивности этой точки. Существует
главный процесс, обеспечивающий передачу транспьютеру нового луча, как только тот освободится. В реальности более эффективным является передача транспьютеру сразу небольшой части экрана (несколько точек).
Стандартный объем памяти на транспьютерных VME-платах составлял 1Мб. Использование компактной модели хранения октарного дерева в данном случае позволило увеличить допустимое число объектов в трехмерной сцене.
Представление терминального узла дерева. Терминальный узел октарного дерева соответствует такой подобласти всего пространства трехмерной сцены, которая далее не делится (см. ниже). Для данной подобласти хранится список объектов, пересеченных ее границами или содержащихся внутри ее.
Список объектов представлен в виде их номеров, расположенных друг за другом. Необходимо также знать число объектов в списке. Терминальный узел на языке Си можно описать следующим образом: typedef struct { short num_obj_Hst; / число объектов в списке / short list; / ссылка на список объектов / } node_type;
Если подобласть не пересекает ни один из объектов сцены, то число объектов в списке равно нулю, а ссылка на список объектов не определена. Объем, необходимый для хранения одного терминального узла памяти, равен б + 2п байт, где п -число объектов, пересеченных данной подобластью.
Представление нетерминального узла дерева. Нетерминальный узел октарного дерева соответствует подобласти пространства сцены, которое
делится на восемь частей. Для данного узла важно знать ссылки на части, образовавшиеся в результате деления подобластей. Под ссылкой понимается указание массива, где хранится информация об узле, и номер элемента этого массива.
Суть компактного хранения октарного дерева состоит в том, что предлагается хранить только информацию: делилась эта подобласть (т.е. является ли узел дерева терминальным) или нет, — а все необходимые ссылки вычислять. Для хранения признака терминальности узла достаточно использования всего одного бита, нулевое состояние которого будет означать терминальность. Для нетерминальных узлов информацию о дальнейшем делении получившихся частей можно хранить в одном байте. Например, состояние байта 10101101 означает, что три получившиеся в результате деления части подобласти представляются в октарном дереве терминальными узлами, а остальные — нетерминальными.
Обычно при создании дерева существует ограничение максимального числа делений пространства по каждой из осей. В этом случае можно не хранить нетерминальные узлы для предпоследнего уровня деления, так как все узлы следующего (последнего) уровня заведомо являются терминальными и соответствующие байты будут содержать только нули.
Эффективный оператор сжатия динамического диапазона яркостей
Визуализация пространственных данных используется в основном в задачах научной визуализации. Научная визуализация - это создание графических образов, в максимально информативной форме воспроизводящих значимые аспекты исследуемого процесса или явления. При этом большой объем результатов моделирования представляется в компактной и легко воспринимаемой форме. Преставление в виде графических образов позволяет исследователю увидеть изучаемую систему или процесс изнутри, что было бы невозможно без визуализации данных. Иногда именно визуализация приводит к полному пониманию явления.
Например, в системе FlowVision [51], предназначенной для визуализации сложных трехмерных течений жидкости или газа, представление объемных характеристик исследуемых распределений основано на применении интерактивной анимации. Кадр анимационной последовательности изображает распределение физической величины в некоторой плоскости сечения посредством линий уровня, тоновой заливки, векторов на плоскости или в виде изоповерхности. Пользователь имеет возможность просматривать в реальном режиме времени движущееся изображение, соответствующее движению плоскости сечения или (для изоповерхностей) изменению величины, и управлять просмотром при помощи манипулятора, что позволяет ему видеть объемные характеристики исследуемого течения.
В докладе Аниканова и Потий [69] также исследуется проблема визуализации трехмерных течений жидкости, однако здесь предметом изучения являются течения в природных объектах (результаты математического моделирования гидродинамики Азовского моря).
Практически полная информация о двумерных течениях может быть передана при помощи текстур, ориентированных вдоль направления течения совместно с их анимацией. Для отображения третьей компоненты вектора скорости применяется цвет. Ведутся также эксперименты по визуализации трехмерных течений при помощи трехмерных текстур и объемной визуализации средствами библиотеки OpenGL [83].
Как и предыдущие два примера, работа Гудзовского и Клименко [52] связана с визуализаций характеристик течения жидкости в трехмерном пространстве. В данном случае предметом исследований является топология рециркуляционной зоны, возникающей при стационарном ламинарном движении жидкости в контейнере с локальным теплообменом на горизонтальных поверхностях. Частицы, находящиеся внутри рециркуляционной зоны, перемещаются по траекториям, лежащим на поверхности тора; вне этой зоны движение частиц хаотично. Для выявления топологии рециркуляционной зоны строятся траектории движения некоторого числа маркеров, а затем выполняется триангуляция.
В работе Белоцерковского, Чечеткина и Опарина [70] предлагаются методы изучения гидродинамики с помощью визуализации турбулентности потоков.
На сайте [90] можно найти представительную галерею методов научной визуализации в применении к ряду задач исследовательского и прикладного характера. Одна из задач, относящаяся к проблемам экологии, посвящена визуализации распространения загрязняющих веществ на местности со сложным рельефом. Для представления динамики фронта распространения загрязнений по земле сначала строятся изолинии концентрации веществ на нулевой высоте, затем вычисляются проекции изолиний на рельеф поверхности Земли.
В рассмотренных примерах усилия разработчиков направлены на поиск выразительных средств графики и анимации, позволяющих в максимально наглядной форме отобразить существенные для исследователя аспекты изучаемого процесса или явления. Что в конечном итоге приводит к более глубокому осмыслению физического процесса.
Несколько иначе ставилась задача визуализации в нашем случае. Ее цель можно сформулировать как отображение пространственных данных в контексте среды обитания человека, например, визуализация трехмерных полей температуры или скорости движения воздуха в жилом помещении. Более точно суть задачи можно охарактеризовать как отображение среды обитания человека с учетом факторов, определяющих степень ее привлекательности для человека, комфортности или пригодности для того или иного функционального применения. К числу таких факторов могут относиться эстетичность среды (ее внешний вид), характеристики микроклимата (температура, скорость движения воздуха, влажность), экология (концентрация загрязняющих веществ), акустика, освещенность и другие. В данном случае важны не столько нюансы визуализируемых распределений, сколько создание обобщенного образа среды, включающего реалистичное изображение ее внешнего вида и пространственные распределения тех или иных характеристик. Поэтому выбор визуальной концепции должен основываться на иных критериях, нежели принятых в классической научной визуализации.
Обзор возможностей системы контекстной визуализации
Система поддерживает одновременное отображение произвольных наборов данных, полученных в результате моделирования или измерения каких-либо пространственных характеристик. Исходными данными для визуализации служат файлы с массивами числовых данных, представленных в текстовом виде. Входные массивы могут содержать произвольное множество компонентов данных для каждой точки пространства. Система позволяет загружать одновременно несколько входных массивов, которые, вообще говоря, могли быть получены из разных источников (например, при помощи разных программ моделирования). Пользователь на основе загруженных в данный момент входных файлов определяет наборы, состоящие из одного, трех или четырех компонентов, для визуализации их как скалярных полей, трех- или четырехмерных векторных полей. Входные пространственные данные могут быть расположены на различных пространственных сетках.
На рис. 28 показан пример определения трех презентационных наборов из двух массивов исходных данных: однокомпонентный набор данных temperature (температура), трехкомпонентный набор данных air speed (скорость движения воздуха) и однокомпонентный набор pressure (давление). Все презентационные наборы данных будут в дальнейшем обрабатываться независимо.
Возможность загружать независимые наборы пространственных данных позволяют, например, визуально сравнивать результаты компьютерного моделирования с реально измеренными данными. Такие данные можно рассматривать как две различные презентации, одновременно изображенные в среде.
Для каждого презентационного набора данных пользователь задает один из допустимых способов представления, описанных выше (п.3.2.1). Пара (презентационный набор данных, способ представления) называется элементом презентации. Можно задать несколько элементов презентации, которые будут отображены одновременно в окружении контекстной сцены, представляющей среду.
Система Visualizer предоставляет развитый графический интерфейс для определения элементов презентаций, включая задание презентационных наборов данных, выбор визуальных форм представления и опций, таких как цветовая палитра, степень прозрачности для тоновой заливки и изоповерхностей и др. Имеются также средства для визуального задания множества плоскостей, на которых требуется отобразить данные. Определив элементы презентации, пользователь может сохранить их для использования в последующих сеансах.
Система поддерживает также интерактивные запросы числовых значений для визуализируемых в данный момент наборов данных. Пользователю достаточно указать мышью точку в каком-либо элементе презентации, чтобы получить информацию о значении скалярного или векторного поля в ней.
Для более наглядного изучения данных система позволяет определять и воспроизводить анимационные последовательности, показывающие изменение исследуемого распределения данных в пространстве или времени.
При пространственной анимации плоскость с изображением элемента анимации движется вдоль заданной пользователем траектории; при этом также могут выполняться вращения плоскости вокруг координатных осей. В простейшем случае плоскость (например, с изображением скалярного поля тоновой заливкой или изолиниями) просто движется поступательно по прямой линии. В этом отношении возможности анимации в системе схожи со средствами, описанными в работе Аксенова и др. [51]. Такой подход позволяет проанализировать все пространство данных. Хотя набор данных здесь статический, но анимация покажет его изменение вдоль определенного направления или направлений.
Анимация по времени возможна для наборов данных, которые содержат информацию об изменении поля данных с течением времени. В этом случае генерируется и воспроизводится анимационная последовательность изображений, показывающих изменение распределения в течение заданного пользователем промежутка времени. Это уже позволяет визуально анализировать динамические процессы.
Возможности программного комплекса с точки зрения конечного пользователя
К началу работы над проектом в отделе машинной графики ИПМ уже имелся значительный задел разработанного ранее программного обеспечения, реализующего рассмотренные в предыдущей главе функции и использовавшегося в составе ряда приложений машинной графики [72, 79]. В рамках проекта разработки программного комплекса LKemel необходимо было выделить фрагменты этого программного обеспечения, оформив их в виде СОМ-компонента, на основе которого независимые разработчики могли бы создавать интерактивные приложения машинной графики, в том числе, Интернет-приложения.
Центральная часть этой работы - выработка интерфейса комплекса, который был бы прост в использовании, и в то же время достаточно развит для создания содержательных приложений, и учитывал бы особенности, связанные с доступом к приложениям через Интернет. Учет этих особенностей потребовал также определенной переработки существовавшего программного кода, в частности, для обеспечения реентерабельности сервисов серверного компонента, без которой сложно реализовать поддержку одновременного выполнения множества пользовательских сеансов. Как в организации интерфейса, так и в реализациях методов необходимо было выработать решения, направленные на обеспечение достаточно быстрой реакции на запросы пользователя.
Серверный компонент (ядро) программного комплекса имеет один интерфейс, основные группы сервисов которого описаны далее. Обзор сервисов ядра комплекса представлен на рис. 35.
Сеансы. Интерфейс серверного компонента предполагает определенную дисциплину доступа к сервисам. Все действия над сценами выполняются в контексте сеанса. Соответственно, имеются методы для открытия и закрытия сеанса. При открытии сеанса возвращается идентификатор сеанса, который используется как входной параметр всех прочих сервисов. Сеансовая организация позволяет приложению выполнять расчет освещенности для текущей сцены с упреждением, когда пользователь еще не заказал это действие явно. Разумеется, упреждающие вычисления должны выполняться только в случае, когда доступные вычислительные ресурсы не заняты другими вычислениями. Сеансовая дисциплина также обеспечивает более эффективное использование памяти. Одновременно могут выполняться несколько сеансов, логически независимых друг от друга.
Библиотеки. Ядро программного комплекса в настоящее время поддерживает три библиотеки - библиотеку фиксированных сцен, библиотеку параметрических сцен и библиотеку объектов. Имеется сервис, позволяющий для заданной библиотеки получить число ее элементов и массив их идентификаторов. Еще два сервиса позволяют по идентификатору элемента получить его текстовое описание и пиктограмму.
Сцены. Для сцен поддерживаются сервисы загрузки и выгрузки. Имеется возможность опросить состояние текущей сцены - загружена ли в данный момент сцена, каков ее идентификатор, является ли она параметрической или фиксированной, изменялась ли с момента загрузки.
Геометрия сцен. Как для фиксированных, так и для параметрических сцен поддерживается сервис запроса геометрических данных. Возвращаются значения высоты пола, потолка, рабочей плоскости, а также число стен и массив с координатами углов многоугольника в основании комнаты. Для параметрических сцен поддерживается изменение геометрии. Входными параметрами для соответствующего сервиса служит вся совокупность перечисленных выше значений. Имеется также сервис для опроса и установки единиц измерения, в которых представлена геометрическая информация.
Оптические свойства поверхностей (для параметрических сцен). Сервисы этой группы позволяют опросить и установить оптические свойства (коэффициент отражения и цвет) для всех поверхностей параметрической сцены. Сервис не применим к фиксированным сценам, потому что там оптические свойства были заданы в процессе создания сцен.
Редактирование объектов. Сервисы этой группы служат для опроса и установки совокупности объектов, присутствующих в текущей сцене.
Описание одного объекта (или трехмерного массива одинаковых объектов, расположенных в узлах прямоугольной трехмерной сетки с постоянными шагами по трем координатам) представлено в виде структуры, содержащей координаты объекта относительно сцены и три угловые координаты, задающие ориентацию объекта. В ней также задается цвет и яркость источников света в данном объекте. Для массивов объектов в структуре предусмотрены поля, задающие число экземпляров объекта и шаг по каждому из направлений.
При опросе объектов сцены возвращается их число в сцене и массив указателей на структуры, описывающие объекты. Эти же параметры являются входными для метода установки объектов в сцене. В общем случае под "объектом" понимается трехмерный массив объектов.
Опрос информации об источниках света. При помощи методов этой группы можно получить данные о совокупности источников света, содержащихся в заданном объекте или сцене, а также опросить индивидуальные характеристики каждого источника.
Данные о совокупности источников света в объекте или сцене включают количество источников и массив указателей на структуры, описывающие источники - их местоположение, ориентация, тип. Для источника в стандарте IESNA можно запросить детальную информацию о характеристиках, а также изображение его гониометрической диаграммы.
Камера. В каждой зарегистрированной в библиотеке параметрической или фиксированной сцене присутствует описание камеры, необходимое для создания изображения сцены. При помощи методов данной группы приложение может опросить и переустановить параметры, задающие положение, ориентацию, расстояние и угол обзора камеры.
Расчет освещенности. Эта группа содержит два метода. Один служит для расчета освещенности с заданной точностью, другой продолжает вычисления до достижения заданной точности или до исчерпания заданного кванта времени и возвращает в выходном параметре значение точности, которое удалось достичь. Поскольку вычисления имеют инкрементальный характер, то, используя второй метод, приложение может динамически отобразить текущее состояние вычислений и предоставить возможность пользователю завершить вычисления, основываясь на визуальной оценке качества.
Синтез изображений. Поддерживаются сервисы для генерации изображений сцены и панорам в формате QuickTime заданного качества. Также предоставляется возможность получить визуальное представление распределения освещенности в сцене в виде линий уровня и при помощи тоновой заливки.