Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Меженин Александр Владимирович

Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет
<
Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Меженин Александр Владимирович. Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет : диссертация ... кандидата технических наук : 05.13.12. - Санкт-Петербург, 2005. - 163 с. : ил. РГБ ОД,

Содержание к диссертации

Введение

1. Анализ и сравнительная оценка методов и программных средств в области создания и отображения трехмерных виртуальных объектов в интернет 11

1.1.Состояние исследований в области трехмерных технологий в Интернете 11

1.1.1. Системы и технологии 12

1.1.2. Области применения трехмерных технологий в Интернете ... 15

1.1.3. Стандарты в области трехмерного Интернета 22

1.2.Полигональные модели 22

1.3.Представление больших объемов данных и поддержка различных уровней детализации 26

1.3.1. Технологии LOD 27

1.3.2. Реализация LOD в языке VRML 35

1.4. Полигональные модели с переменным разрешением. Классификация итеративных методов упрощения 38

1.5.Постановка задачи диссертационного исследования 47

Выводы по главе 1 48

2. Разработка алгоритмов упрощения полигональных моделей 50

2.1.Разработка алгоритма упрощения на основе оценки изменения геометрических параметров 50

2.1.1. Выбор структуры данных для описания поверхности полигональных моделей 55

2.1.2. Оценка скорости вывода 58

2.1.3. Неравномерная сетка 58

2.1.4. Топологический аспект моделей 59

2.1.5. Методы представления пространства и манипулирования геометрическими элементами 61

2.1.6. Описание алгоритма 71

2.2.Разработка алгоритма упрощения с использованием вейвлет-преобразований 82

2.3.Измерение качества упрощения моделей 97

Выводы по главе 2 104

3. Разработка комплекса программ для передачи и отображения трехмерных моделей в сети интернет .. 105

3.1.Клиент-серверная платформа для передачи и отображения трехмерных данных 105

3.1.1. Язык Java и Java-апплеты 110

3.1.2. ActiveX Ill

3.1.3. Обоснование выбора графической платформы 118

3.2. Организация данных для прогрессивной передачи с различными уровнями детализации 119

3.3.Экспериментальная оценка работы разработанных алгоритмов в VRML-среде 123

3.4.Разработка программы клиента и Active-X элемента управления.. 129

Выводы по главе 3 135

Заключение 136

Литература

Введение к работе

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

Трехмерное моделирование позволяет с помощью компьютера качественно изменить процесс восприятия информации и, следовательно, по-новому отображать действительность. Особенно это связано с процессом проектирования, когда визуализация идей дает возможность лучше понять проблему и найти пути ее решения. Трехмерные интернет-технологии находят применение во многих областях человеческой деятельности: САПР в различных отраслях промышленности, медицине, образовании, архитектуре, транспорте, научных исследованиях, а также - тренажерах, системах виртуальной реальности, презентационных системах, электронном туризме, развлекательных системах.

Любые разработки в области трехмерного Интернета сталкиваются с главной проблемой для прикладных программ, работающих в реальном времени - ограничением на пропускную способность ресурсов Интернета (каналы, узлы связи, вычислительные установки).

Таким образом, актуальность темы определяется необходимостью

разработки методов и алгоритмов визуализации трехмерных виртуальных объектов в Интернете как эффективного средства передачи технических идей 'и прикладных решений в условиях перманентного ограничения на пропускную способность сетевых каналов.

Цель работы. Целью диссертационной работы является разработка эффективных методов, алгоритмов и программ для создания системы трехмерной визуализации объектов САПР в Интернете.

Задачи исследования. Для достижения поставленной цели необходимо решить следующие задачи:

  1. Провести анализ и дать сравнительную оценку существующих технологий отображения трехмерной информации в Интернете и тенденций их развития для возможностей трехмерной графики и САПР.

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

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

  4. Разработать методы оценки качества предлагаемых алгоритмов упрощения трехмерных моделей.

  5. Разработать алгоритмы и программные средства для реализации задачи отображения трехмерных виртуальных объектов в Интернете.

  6. Провести эксперименты, подтверждающие эффективность предложенных методов.

Методы исследования. При решении поставленных задач использовались методы функционально-структурного анализа и синтеза технических систем, системного анализа, математического моделирования, .аналитической геометрии, теории принятия решений, анализа иерархий, объектно-ориентированного программирования.

Научная новизна исследования заключается в создании методики визуализации трехмерных полигональных моделей САПР, базирующейся на наборе функционально связанных аппаратных (вычислительные установки,

средства связи) и программных (алгоритмических) модулей (компонентов) для решения поставленной задачи. Это дает не только новое научное, но и техническое решение задачи создания систем трехмерной визуализации в Интернете, позволяет производить анализ составляющих модулей, создавать и анализировать различные варианты построения таких систем с учетом функциональности отдельных элементов.

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

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

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

Предлагаемая методика представления трехмерного Интернета, как набора аппаратных и программных модулей, охватывает все этапы создания таких систем, от моделирования трехмерных объектов, преобразования их в трехмерные форматы Интернета, до выбора модулей отображения, что

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

Основные положения диссертации, выносимые на защиту:

Методы и алгоритмы упрощения полигональных моделей.

Методы организации передачи трехмерных данных по сети Интернет.

Алгоритмы визуализации полученных трехмерных данных.

Структуры данных, описывающих трехмерные полигональные модели.

Методы оценки качества упрощения полигональных моделей.
Достоверность и обоснованность результатов работы определяется

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

Реализация и внедрение результатов работы. Работа выполнена на кафедре инженерной и компьютерной графики (ИКГ) Санкт-Петербургского государственного университета информационных технологий, механики и оптики (СПбГУИТМО). Теоретическое исследование, предложенные методы и .разработанное программное обеспечение внедрены и использовались:

  1. При создании Виртуального мира СПб ГУИТМО в рамках проекта «Высшая школа Санкт-Петербурга в киберпространстве»,' выполненного в рамках договора №103/120 от 10.042002.Г. по заказу администрации Санкт-Петербурга.

  2. При выполнении госконтракта №799 от 04.11.2004г. «Исследование проблем использования перспективных технологий мультимедиа при разработке интерактивных информационно-образовательных и обучающих программ», выполненного по заказу ФАО РФ в рамках научной программ «Федерально-региональная политика в науке и образовании».

3) при разработке электронных учебных пособий и лабораторных работ на кафедре ИКГ для студентов технических специальностей СПбГУИТМО в рамках проекта «Виртуальная кафедра».

Апробация работы. Научные результаты и положения диссертационной работы докладывались и обсуждались на следующих конференциях и семинарах:

  1. Международных конференциях «Информационные технологии в образовании» (1999 - 2003).

  2. 3-ей Межрегиональной научно-практической конференции «Дополнительное профессиональное образование» - СПб, 2000 г.

  3. Юбилейной научно-теоретической конференции «ИТМО - 100 лет» -СПб, 2000 г.

  4. IV межрегиональной научно-практической конференции «Проблемы и перспективы взаимодействия ВУЗов СПб с регионами России в контексте реформирования образования» - СПб, 2001 г.

  5. Второй всероссийской научно-практической конференции «Российская школа и Интернет» - СПб, 2002 г.

  6. Всероссийских научно-методических конференциях «Телематика 1998-2003».

  7. Международном семинаре «Высшее образование в XXI веке: проблемы и перспективы» - СПб, 2003 г..

  8. Заседаниях секции «Начертательной геометрии и автоматизации проектирования» при Доме Ученых им. A.M. Горького (1999-2005 г.). Публикации. По теме диссертационной работы опубликовано 16

работ.

Структура и объем диссертации. Диссертационная работа содержит введение, три главы, заключение, изложенное на 153 страницах машинописного текста, библиографический список, включающий 115 источников, приложение.

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

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

В третьей главе рассмотрены вопросы создания программного обеспечения для передачи трехмерных данных по сети Интернет в контексте систем '"клиент/сервер". Обсуждаются вопросы реализации клиентской части на основе использования библиотеки OpenGL, языка Java и ActiveX-компонентов. Показана реализация программного обеспечения на основе предложенных алгоритмов и экспериментальная проверка теоретических досылок.

Области применения трехмерных технологий в Интернете

Направления использования трехмерного Интернета чрезвычайно разнообразны. Основными являются:

Промышленность - обмен техническими идеями, согласование технических решений, взаимодействие между изготовителями и потребителями изделий, интерактивные электронные технические руководства и виртуальные предприятия в рамках технологии CALS и e-collaborative.

Наука — исследование возможностей и создание человеко-машинного интерфейса нового поколения в форме виртуального мира применительно к различным областям. Образование. Культура, искусство - представление и посещение виртуальных выставок, музеев, проекты в области современного искусства.

Презентационные системы - инструмент для демонстрации специальности и различных будущих проектов перед абитуриентами и студентами, заказчиками и инвесторами, а также реклама возможностей города, организации. Развлекательные системы - прогулки по различным мирам (соответствующих реальным или вымышленным), игры и чаты. Электронный туризм - виртуальное посещение различных виртуальных городов мира, осмотр достопримечательностей, «погружение» в историю. Транспорт - трехмерная навигация транспортных средств, планирование транспортных потоков, изучение правил дорожного движения и обучение вождению. Медицина - исследование физиологических и психологических возможностей человека, релаксация, обучение людей с ограниченными возможностями. Спорт - спортивные виртуальные соревнования и тренажеры. Прокомментируем некоторые из них.

Системы автоматизированного проектирования. В результате использования средств отображения трехмерных виртуальных объектов в Интернете появляется возможность быстрого доступа к трехмерным данным различного рода без установки на компьютер сложного профессионального программного обеспечения. Тем самым можно обеспечить оперативное взаимодействие между проектировщиками, изготовителями и потребителями изделий.

Так, например, система автоматизированного проектирования SolidWorks имеет в своем составе специальный модуль SolidWorks 3D Instant Website, позволяющий создавать web-страницы из приложения SolidWorks. Для просмотра деталей и сборок используется технология Viewpoint [114], а иизуализация моделей в системах анализа методом конечных элементов (рис. 1.2) и передача их по сети Интернет позволяют решать многие задачи расчетов на прочность.

Архитектура и дизайн интерьера - одно из самых востребованных направлений в использовании 3D Интернет-технологий. Посетители сайтов могут получить представление о внутреннем устройстве здания, моделировать интерьер помещений по собственному желанию (рис. 1.3) [114]. Выбрав с помощью меню детали интерьера, пользователь может оценить, как они будут смотреться, и подойдут ли по стилю к общей обстановке.

Обучение. Разработка электронных учебных пособий уже немыслима без представления конструкций различных изделий с помощью трехмерных виртуальных моделей. В обучении используются различные представления, от каталога изделий (рис. 1.4) [111] до моделей сборочных единиц (рис. 1.5), в анимационном режиме показывающих порядок сборки изделий.

Медицина.Трехмерные технологии с успехом применяются для обучения в области медицины (рис. 1 .6), что позволяет избежать ошибок при лечении. Для примера можно привести программы, созданные с использованием технологии Viewpoint - Dr.Lobacth Ceramyc Reconstruction и Dr.Lobacth Ceramyc Construction [1 14]. Первая представляет собой методическое учебное пособие для обучения стоматологов, вторая создана для наглядности процесса лечения непосредственно для пациентов.

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

Трехмерные компьютерные модели позволяют моделировать реальную военную обстановку, на основе этого принимать решения, проводить обучение или тренировки. На рис. 1.7 показан эсминец ВМС США Cole, получивший серьезные повреждения в результате теракта, совершенного 12 октября 2000 года в порту Аден (Йемен), и его компьютерная модель. выполненная с использованием языка VRML (иллюстрации взяты из доклада Don Brutzman-a "3D on the Web: Technology for Future Web Applications , MOVES Institute, Naval Postgraduate School) [109].

Полигональные модели с переменным разрешением. Классификация итеративных методов упрощения

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

Решение этой задачи можно отнести к классу оптимизационных задач. В таких задачах может существовать множество различных решений; их «качество» определяется значением какого-то параметра, и требуется выбрать оптимальное решение, при котором значение параметра будет минимальным или максимальным (в зависимости от постановки задачи).

Классическая кривая решений представлена на рис. 1.22. Упрощение моделей приводит к уменьшению размера файла, что вызывает увеличение ошибки упрощения.

Большинство итерационных алгоритмов упрощения полигональных моделей можно разделить на три категории: прореживание вершин (face decimation); свертывание ребра (edge collapse); прореживание граней (face decimation).

Наиболее быстрым алгоритмом геометрического упрощения, относящейся к категории прореживания вершин, является алгоритм кластеризации вершин, предложенный J. Rossinac ом [92]. Метод состоит в объединении вершин, находящихся в одном кластере пространства, в одну. Кластеры представляют собой трехмерную сетку, т. е. координаты вершин фактически округляются с заданной точностью, а при совпадении нескольких вершин, после округления, вершины заменяются одной. Все ссылки множества К на коллапсируемые вершины, заменяются ссылками на новую вершину (рис. 1.23).

Большим преимуществом данного метода является его простота и быстродействие, что дает возможность использовать его в режиме реального времени. Основными минусами является перестройка массива данных и потеря первоначальной топологии объекта, что может привести к серьезным ошибкам. С другой стороны, если расстояния между узлами решетки будут сравнимы с размерами граней объектов, можно получить модель, практически неотличимую от оригинала. Идея кластеризации пространства может быть использована для выделения опорных точек модели, что нашло применение в разрабатываемом алгоритме. Основной областью применения алгоритма кластеризации вершин являются задачи, связанные с визуализацией в режиме реального времени.

Алгоритмы, основанные на принципе прореживания вершин, описываются в работах [55, 94]. В этом случае удаляется одна из вершин полигональной сетки. Вместе с удалением вершины удаляются грани, которым принадлежит эта вершина. Таким образом, образуется отверстие, которое необходимо заполнить. Для этого выполняется операция триангуляции. Хотя алгоритм дает неплохие результаты, выполнение операций триангуляции требует выполнения дополнительных операций.

Более точно топологию модели передает алгоритм прореживания вершин, предложенный Schroeder oM [94]. Это многопроходный алгоритм, суть которого состоит в удалении на каждом шаге вершин, расположенных от усредненной плоскости соседних вершин на расстояние, меньшее заданного.

При выполнении прохода алгоритма находятся вершины на удаление, при этом критерием на удаление является заданная величина d (расстояние от вершины до усредненной плоскости, максимально близкой к соседним). После удаления вершины, образуется отверстие в трёхмерном объекте, . которое заполняется гранями с помощью операции триангуляции. Алгоритмы, основанные на свертывании ребер, можно рассматривать как частный случай удаления вершин, однако они не требуют выполнения дополнительных операций триангуляции. Поэтому их реализация дает хорошие результаты с точки зрения качества и быстродействия.

Предлагаемый в работе алгоритм также базируется и на операции свертывания ребер, поэтому дальнейшее рассмотрение мы сосредоточим именно на этих алгоритмах.

Свертывание ребра представляет собой операцию слияния двух вершин образующих ребро, в одну (рис. 1.24). При этом, в общем случае, происходит удаление двух треугольных ячеек. Количество итерационных шагов определяется достижением заданного количества граней или некоторого порогового значения.

Один из вариантов - организовать свертывание ребер в некоторую точку, которая может быть найдена, как среднее арифметическое координат этих вершин (рис. 1.25). Тем самым можно минимизировать ошибку. Однако в этом случае будет происходить перестроение сетки относительно исходной, что затруднит восстановление первоначальной формы модели. В процессе передачи данных, повышающих уровень детализации, придется производить пересортировку массива данных.

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

Методы представления пространства и манипулирования геометрическими элементами

Математическое обеспечение систем компьютерной графики [44]- это совокупность методов представления и манипулирования множеством геометрических элементов, базовыми примитивами которых являются точки и отрезки прямых. Эти методы базируются на свойствах нескольких типов абстрактных пространств. Рассмотрим свойства тех типов пространств, которые наиболее широко используются в программных средах формирования и трансформации геометрических объектов в системах компьютерной графики, - линейного (векторного), аффинного и евклидового. Линейное (векторное) пространство содержит объекты только двух типов: скаляры (действительные числа) и векторы. В аффинном пространстве к ним добавляется третий тип объектов— точки. В евклидовом пространстве вводится концепция расстояния.

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

Рассмотрим основные сведения из матричной алгебры — базового математическою инструмента, с помощью которого можно выполнять различные преобразования векторов. Основное внимание будет сосредоточено на главных свойствах трех перечисленных типов пространств и имеющихся в них правилах манипулирования объектами.

Множество вещественных чисел и операций над ними представляет собой скалярное поле. Рассмотрим множество 5 скалярных элементов, которые обозначим строчными буквами греческого алфавита сс Р.... Над скалярами определены две основные операции — сложение, которое обозначается знаком (+), и умножение, которое обозначим в виде сер . Следовательно, если VafieS, то а + Р eS,a- р eS. Эти операции обладают свойствами ассоциативности, коммутативности и дистрибутивности, т.е. если Чару є S то ал- р- Р + а, а-р = р-а, а + (Р + у) = (а + Р) + у, а-{р-у) = {а р).у, а-(Р + у) = (а р) + (а-у)

Существуют два специальных скаляра (универсальные тождественные элементы) - числа 0 и 1, таких, что прибавление первого и умножение на второе не меняют ни одного числа, т.е. для Va є S а + 0 = 0 + а = 0, а-\ = \-а = а

Каждый элемент а скалярного множества имеет соответствующие ему аддитивный инверсный элемент, который обозначается - а, и мультипликативный инверсный (обратный) элемент, который обозначается а х такие, что а + {-а) = О, а-а х =1, -a,a l eS

Множество действительных чисел в совокупности с определенными выше операциями сложения и умножения образуют действительное скалярное поле. Скалярные поля других типов могут быть образованы множеством комплексных чисел в совокупности с операциями комплексного сложения и комплексного умножения и множеством рациональных функций (отношений двух полиномов). Векторное пространство помимо скаляров содержит и элементы другого типа - векторы. Над векторами определены две операции: сложение вектора с вектором и умножение вектора на скаляр. Пусть u,v,w - векторы, определенные в векторном пространстве V. Операция сложения векторов определяется как замкнутая (u + veVyu,veV), коммутативная (u + v = v + u) и ассоциативная (M + (v+vf) = (M + v) + H-. В векторном пространстве существует специальный вектор — нуль-вектор, который обозначается 0, такой, что, если VM Є V, то и + 0 = и. Каждый вектор и имеет соответствующий ему аддитивный инверсный вектор, который обозначается -и, такой, что и+(-и) = 0.

Операция умножения вектора на скаляр определена таким образом, что для любого скаляра а и любого вектора и произведение аи есть также вектор в пространстве V. Операция умножения вектора на скаляр подчиняется дистрибутивному закону, т.е. a(u + v) = au + av, (а + Р)и = аи + f3i4

Примерами векторных пространств являются пространство геометрических векторов (направленных отрезков прямой) и пространство алгебраических векторов — совокупностей п действительных чисел. Рассмотрим множество направленных отрезков, которые графически представлены на рис. 2.6,а. Если скаляры в векторном пространстве есть действительные числа, то операция умножении вектора на скаляр изменяет модуль (абсолютную величину или длину) вектора, но не меняет его ориентацию (рис. 2.6,Ь).

Организация данных для прогрессивной передачи с различными уровнями детализации

Существуют различные способы передачи графической информации по сети Интернет. Существующий подход передачи HTML статических изображений, не дает широких возможностей взаимодействия пользователя с графической информацией. Второй метод— пересылать исходный код программы формирования изображения на каком-либо общедоступном и распространенном языке, например OpenGL. Такой подход имеет очевидные достоинства и является еще одним серьезным доводом в пользу стандартизации языковых средств компьютерной графики. Но использование в качестве носителя графической информации кода программы потребует установки на клиентском компьютере сети компилятора графической программы, например включения его в состав браузера. Третий подход — использование модели "клиент/сервер" , подобной той, что применяется в OpenGL. Но при этом нужно согласиться на использование единого API и приемлемого для всех формата передачи дисплейного списка. Именно такая философия положена в основу Java.

Существует еще и четвертый подход, который сулит существенное повышение гибкости методов создания, хранения и передачи графической информации. Этот подход основан на идее применения баз данных для описания сцены, включая такие ее компоненты, как геометрические объекты, источники света, материалы и пр. База данных сохраняется в стандартном текстовом формате и легко передается по сети. Получатель описания сцены в виде базы данных может сформировать соответствующее изображение, установив нужные программы на своем компьютере. Этот подход используется в системах, основанных на языке VRML.

Разработка баз данных такого типа основана на тех же концепциях, которые обеспечивают функциональные возможностях графических API. Поскольку многие вопросы, в частности выбор набора примитивов, остаются прежними, имеет смысл выбрать такой состав элементов базы данных, который соответствует возможностям наиболее распространенных API, поддерживаемых на большинстве аппаратных и программных платформ. Одним из фаворитов в конкурсе API является OpenGL, но у этой системы, по крайней мере в том виде, в котором она существует на сегодняшний день, есть существенный недостаток — отсутствие встроенных объектно-ориентированных средств для описания сложных сцен. Разработчики VRML отдали предпочтение базе данных Open Inventor [44]. Open Inventor представляет собой надстройку над OpenGL, которая расширила функции этой графической системы и, в частности, добавила возможность работы с графами сцен. Open Inventor позволяет пользователю сохранять описание сцены в виде текстового файла. Добавив связи в базу данных, мы получаем в свое распоряжение практически все возможности, необходимые для описания трехмерных сиен, компоненты которых распределены по разным узлам сети.

Язык VRML очень тесно связан с OpenGL. VRML предоставляет пользователю методы описания распределенного мира трехмерных объектов, а браузер VRML выполняет "сборку изображения, объекты которого разбросаны по узлам сети Web. Хотя в принципе браузер может использовать любую технологию формирования изображения — конвейерную, осно ванную на трассировке лучей или на методе излучательности, - тот факт, что язык базируется на Open Inventor, склоняет к выбору технологии, реализованной в OpenGL.

Реализация прикладной программы работающей на клиентской стороне и организация взаимодействия пользователя с ней при работе в сети Интернет имеет ряд проблем. Базы данных VRML существуют в текстовом формате, а это предполагает, что сервер формирует образы всех объектов, "прописанных"1 в базе данных. Следовательно, пользователь не имеет возможности разработать программный код на одном узле сети и быть уверенным, что этот код будет выполняться на другом, поскольку компьютеры на этих узлах могут быть различными.

Язык Java позволяет частично решить эту проблему, поскольку он предполагает работу в программно созданной "виртуальной" машине, которая может, по крайней мере теоретически, быть реализована на любой аппаратной и программной платформе. Программа на языке Java компилируется в байтовый код (byte code), который затем выполняется на любой Java-машине, независимо от того, на какой платформе она реализована. Программы небольшого объема в байтовом коде получили название апплеты (applets). Такие программы "понимаются" любыми моделями интернет-браузеров и в настоящее время широко используются для расширения возможностей динамической обработки информации в сети Интернет.

В исходной версии язык Java поддерживал только. двухмерную графику. В последнее время появилось много предложений о создании версии Java - 3D [104], способной работать с трехмерными графическими объектами.

Похожие диссертации на Исследование и разработка методов и программных средств для создания и отображения трехмерных виртуальных объектов в интернет