Содержание к диссертации
1 Крупномасштабные стерео-проекционные системы 10
1 Аппаратные конфигурации 15
CyberStagc 15
І-CONE 16
Responsive Workbench 16
Teleport ." 17
VeonPC 19
2 Программная среда Avango 20
2.1 Основные принципы 22
2 Методы визуализации в стерео-проекционных системах, раз
работанные автором 29
1 Деформация поверхностей 31
Обзор 32
Деформация поверхности с использованием CSRBF ... 37
Описание алгоритма 40
Программное обеспечение 44
Результаты 47
Заключение 48
2 Реконструкция поверхностей 49
Введение 49
Обзор 52
Алгоритм корректировки поверхности 56
Алгоритм восстановления поверхности 58
2.5 Результаты GO
3 Сглаживание поверхностей 65
Сглаживание поверхности 65
Обзор 66
Алгоритм 67
Результаты 68
4 Регистрация столкновений деформируемых поверхностей .... 72
АЛ Введение 72
Предыдущие работы 74
Алгоритм 77
Программная реализация . 83
Отклик 84
Результаты 85
3 Примеры использования разработанных методов 88
ПО для выполнения CSRBF-деформаций 88
ПО для регистрации столкновений 90
Редактор 3D деформаций 91
Комплекс ПО для подготовки 3D моделей 92
Редактор 2D деформаций 94
ПО для восстановления фотографий 95
Введение к работе
В современных условиях быстрого роста производимой человеком информации особенно актуальной становится задача создания стерео-проекционных систем. Такие системы позволяют легче воспринимать и обрабатывать сложную информацию. Общим недостатком существующих крупномасштабных стерео-проекционных систем до недавнего времени оставалась необычайно высокая стоимость их компонент, в результате чего их практическое использование было доступно только крупнейшим промышленным компаниям. В настоящее время развитие архитектуры персональных компьютеров позволяет создавать относительно недорогие стерео-проекционные системы. При решении этой задачи возникает необходимость создания специализированного программного обеспечения. В частности актуальной становится разработка алгоритмов обработки и визуализации поверхностей, поскольку они чаще всего используются при построении трёхмерных (3D) сцен демонстрируемых в стерео-проекционных системах.
Стерео 3D системы применяются при разработке приложений, в которых необходимо создание иллюзии реальности. Исследования в области психологии восприятия [1] показывают, что бинокуляр-ность зрения играет второстепенную роль при определении разме-
ров объектив удаленных более чей. па 5 м. Торпедо больший вклад даёт загораживание, эффект двигательного параллакса и перспективы (ем. рис. 1). Однако при восприятии близких объектов бинокулярное расхождение становится одним из основных мвд&ния&юн определения глубины пространства.
1,0 Ц<>«—-| ______ -^---^^ ,
Рис, І: Эффективность различных механизмов жюпршггия глубины в залшга-шзгти от расстоянии.
Автор представляет существующие крупномасштабные стерео-проекционные системы, описывает программную среду, необходимую для создания 3D сцен для таких систем, а также ряд разработанных при угасши антора алгоритмов и программных комплексов (2 101, использующихся при создании программного обеспечения (ПО) для стер<хыфскКЦЯоаных систем.
Стерсо-проекциониые системы обеспечивают отдельных пользователей, или труппы ученых, инженеров, дипайперов виртуальным рабочим пространством, б котором они могут наблюдать, исследовать и создавать в реальном мрежши необходимые им сложные
данные. Большинство таких систем имеют сходную аппаратную конфигурацию (см. работы [11-13]). Центральное место занимают: графический обработчик — SGI суперкомпьютер или Linux кластер, который обрабатывает данные, и проекционная система, которая отображает данные на экран. Кроме того, обычно используется специальное устройство слежения, которое измеряет положение и ориентацию головы пользователя. Данные, произведенные устройством слежения, читаются графическим обработчиком, и используются для определения перспективно правильного изображения для текущего положения пользователя. Описание наиболее известных крупномасштабных стерео-проекционных систем дано в главе 1, разделе 1,
Системы ПО для стерео-проекционных систем (см. работы [14-20]) обеспечивают разработчика высокоуровневым интерфейсом, позволяющим представлять сложные геометрические модели в виде графа сцены. Разработчик отгорожен от деталей взаимодействия с низкоуровневой графикой и может сконцентрироваться на разработке собственно приложения- Одной из таких высокоэффективных сред является Avango [14]. Эта система обеспечивает разработчиков концепцией обобществлённого графа сцены, доступного всем процессам, образующим распределенное приложение. Каждый процесс обладает локальной копией графа сцены и содержащейся в нем информации о состоянии, которая поддерживается синхронизированной. Разработка таких распределенных приложений особенно необходима для реализации виртуальных окружений на кластерах Linux PC. Структура системы Avango описана в гла-
ве 1, разделе 2 настоящей работы.
Основная цель нашей работы — разработка комплекса ПО, который может быть использован при создании недорогой стерео-проекционной системы для лекторского зала на базе Linux кластера. Применение таких систем в учебном процессе позволяет существенно обогатить лекционный материал. Установки такого типа, разработанные для них методы визуализации и программное обеспечение могут быть использованы в научно-исследовательских институтах, образовательных центрах для решения самых разнообразных задач: моделирование чрезвычайных ситуаций; визуализация моделей космических аппаратов, создание моделей лабораторий и их дистанционное управление; визуализация в авиационной, автомобильной, судостроительной промышленности (обтекание, окраска, интерьер и пр.); визуализация в системах конструирования, быстрого макетирования и анимации; визуализация в медицине и создание медицинских тренажёров; создание моделей музеев, планетариев, лекционных залов; реконструкция в археологии и туризме (моделирование древних и современных городов); синтетическое искусство, телевидение и кино, компьютерные игры; и др.
Одним из главных требований, предъявляемых к таким приложениям, является высокая скорость графической обработки. В случае недорогих стерео-проекционных систем, вычислительная мощность весьма ограничена. Возникает необходимость создания более эффективных алгоритмов графической обработки.
Перечисленные выше приложения имеют демонстрационный характер. Оценка качества изображения производится человеком —
пользователем стерео-проекционной системы (оператором, учащимся и т.п.). Поэтому не обязательно выполнять точное физическое моделирование сцены. Достаточно добиться узнаваемости демонстрируемых объектов и правдоподобности их поведения. В связи с этим математическая модиль демонстрируемых объектов может быть упрощена. За счёт этого может быть увеличена скорость графической обработки.
Математическая модель объекта, демонстрируемого в стерео-проекционной системе состоит из описания поверхности этого объекта и правил изменения формы этой поверхности. Поверхность аппроксимируется треугольными гранями. Изменение формы определяется скелетом и локальными деформациями. Локальные деформации определяются перемещением контрольных точек. Выбор контрольных точек и их перемещений является в общем случае итерационной процедурой в ходе которой создатель сцены добивается правдоподобия деформаций. Таким образом точное физическое моделирование заменяется набором эвристических правил.
Большинство операций с 3D моделями сводятся к изменению формы, деформации поверхности модели. В перечисленных выше приложениях необходимо выполнять эти операции в режиме реального времени. Для правдоподобности достаточно, чтобы деформация была гладкой, локальной и интуитивно ожидаемой, т.е. наибольшее перемещение должно происходить в районе контрольной точки. Алгоритмы, описанные в литературе, не удовлетворяют в полной мере перечисленным требованиям. Алгоритмы используемые для точного моделирования деформаций не могут работать п
режиме реального времени. С другой стороны, быстрые алгоритмы, описанные в литературе, или не являются локальными, или приводят к неправдоподобным деформациям, В главе 2, разделе 1 описан разработанный автором метод вычисления деформаций поверхности модели, позволяющий выполнять гладкие локальные и правдоподобные деформации в режиме реального времени.
При построении 3D сцен, демонстрируемых в стерео-проекциоп-ных системах, также возникает задача устранения дефектов моделей и восстановления неполных моделей- Одним из способов получения моделей реальных объектов является лазерное сканирование. Сканирование позволяет быстро получать модели сложных объектов. Однако, из-за затенения одних частей другими, полученные модели могут быть неполными, а также содержать дефекты, связанные с неточностью сканирования. Кроме того, сами сканируемые объекты иногда имеют дефекты, которые желательно устранить перед размещением на сцене. Одним из популярных применений стерео-проекционных установок является создание археологических реконструкций. Предметы, найденные в результате археологических раскопок, обычно имеют повреждения. В главе 2, разделе 2 данной работы мы описываем реализацию алгоритма реконструкции поверхностей полигональных моделей,
В процессе создания моделей часто требуется производить сглаживание их поверхностей. В главе 2, разделе 3 данной работы представлен алгоритм сглаживания поверхности полигональной модели.
Для создания иллюзии реальности необходимо воспроизводить
не только внешний вид, но и поведение объектов. При этом естественно возникает задача регистрации столкновений. Существует большое количество работ по регистрации столкновений статических моделей. Для случая твёрдых тел разработаны быстрые и надежные алгоритмы. Однако, большинство этих алгоритмов неэффективны в случае динамически изменяющихся моделей, В главе 2, разделе 4 данной работы обсуждаются различные подходы и описан новый, разработанный автором метод регистрации столкновений, основанный на использовании систем взаимодействующих частиц.
Все методы, разработанные автором, за исключением метода регистрации столкновений, связаны с применением функций радиального базиса с компактным носителем (compactly supported radial basis functions — CSRBF) [21] к задачам деформации, восстановления, сглаживания и пересечения полигональных поверхностей, возникающих в процессе подготовки и использования полигональных моделей в системах виртуального окружения. Общий подход к решению различных задач позволяет существенно сократить программную реализацию. Фактически реализация представленных ниже методов имеет общее ядро, которое многократно переиспользуется в различных алгоритмах.
В главе 3 описаны примеры использования разработанных алгоритмов в системах виртуального окружения в научных, образовательных и промышленных целях. В заключении представлены результаты работы.