Система визуализации для нового поколения тренажеров военной техники тема диссертации и автореферата по ВАК РФ 05.13.01, кандидат технических наук Тотмаков, Алексей Сергеевич

  • Тотмаков, Алексей Сергеевич
  • кандидат технических науккандидат технических наук
  • 2006, Москва
  • Специальность ВАК РФ05.13.01
  • Количество страниц 161
Тотмаков, Алексей Сергеевич. Система визуализации для нового поколения тренажеров военной техники: дис. кандидат технических наук: 05.13.01 - Системный анализ, управление и обработка информации (по отраслям). Москва. 2006. 161 с.

Оглавление диссертации кандидат технических наук Тотмаков, Алексей Сергеевич

Список используемых терминов.

Введение.

1. Постановка задачи.

1.1 Особенности симуляторов реального времени.

1.2 Анализ доступных универсальных систем визуализации.

1.3 Специальные требования к системе визуализации.

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

2. Разработка метода отображения модифицируемого ландшафта.

2.1 Постановка задачи.

2.2 Geometrical MipMapping.

2.3 Chunked Level of Detail.

2.4 Разработка Chunked MipMap метода.

3. Методы оптимизации временной диаграммы вычислительного процесса.

3.1 Структурирование пространственных данных.

3.2 Отсечение невидимых примитивов.

3.3 Оптимизация графического конвейера.

3.4 Оптимизация качества визуализации при ограничении на вычислительные ресурсы.

4. Программная реализация системы визуализации.

4.1 Разработка архитектуры системы визуализации.

4.2 Реализация метода отображения больших ландшафтов.

4.3 Получение и подготовка данных для визуализации.

4.4 Результаты оптимизации временной диаграммы вычислительного процесса.

5. Программный комплекс визуализации тренажера военной техники.

5.1 Вычислительная модель.

5.2 Технология разработки.

5.3 Программное ядро тренажера.

5.4 Интерфейс с аппаратурой.

5.5 Сетевой интерфейс.

5.6 Взаимодействие сервисного домена визуализация с моделирующим ядром.

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

6. Выводы.

6.1 Основные результаты.

Рекомендованный список диссертаций по специальности «Системный анализ, управление и обработка информации (по отраслям)», 05.13.01 шифр ВАК

Введение диссертации (часть автореферата) на тему «Система визуализации для нового поколения тренажеров военной техники»

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

Первые разработки тренажеров военной техники с использованием компьютерных технологий в Советском Союзе начаты в начале 70-х годов. Наиболее известные из них следующие: дисплейная станция «Дельта», разработанная в ВЦ СО АН СССР, графическая станция «Гамма», разработанная в институте прикладной физики, система визуализации реального времени тренажера «Буран», авиационный тренажер альбатрос, разработанный в институте автоматики и электрометрии, и многие другие.

Основой визуализации в реальном времени (real time rendering) является быстрый расчет изображений с помощью вычислительных машин. Эта область компьютерной графики является наиболее интерактивной. После появления кадра на экране пользователь совершает некоторое действие, и реакция на это действие отображается уже в следующем кадре. Цикл расчета изображения, исходя из действий пользователя, должен быть достаточно быстрым для того, чтобы пользователь наблюдал не отдельные сцены, а непрерывный динамический процесс.

Частота, с которой кадры сменяют друг друга, измеряется либо в кадрах в секунду (fps), либо в герцах. При частоте один кадр в секунду уровень интерактивности будет низкий; пользователю придется долго ожидать появление следующего кадра. Начиная с шести кадров в секунду, уровень интерактивности начинает увеличиваться. В случае если приложение успевает рассчитать 15 кадров в секунду, можно уже говорить о визуализации в реальном времени; пользователь имеет возможность сосредоточится на своих действиях и реакции на них. Однако существует предел (72 кадра в секунду), свыше которого изменения становятся малозаметными.

Концептуальные вопросы визуализации в реальном времени даны в работах [1][2][3].

Наиболее полное изложение вопросов построения графических систем приведено в монографиях [6] [18] [20] [22].

Цель работы

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

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

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

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

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

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

• разрабатывается программный комплекс визуализации боевой обстановки комплексного тренажера нового поколения МТТ72Б.

Актуальность

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

Сегодня рынок систем визуализации и симуляторов оценивается в $22 млрд. (по данным исследовательского агентства CyberEdge Information Services Solutions Group [112], специализирующегося на этом рынке). Рынок можно поделить на два крупных сегмента: военный и коммерческий. Доля первого по разным оценкам составляет от 50% до 75%. При этом в последние годы аналитики прослеживают увеличение доли рынка коммерческих приложений, что, прежде всего, связано с сильным удешевлением всех составляющих технологий.

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

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

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

Новизна

Разработан метод визуализации земной поверхности Chunked MipMap. Новизна метода заключается в способе хранения данных, представляющих уровни детализации ландшафта. Использование коэффициентов перехода между уровнями детализации позволяет производить адекватные изменения земной поверхности в реальном масштабе времени во всех уровнях. Хранение данных не только в листьях но и в узлах квадратичного дерева позволяет оптимально использовать ресурс графического процессора и повысить эффективность на 30% относительно известного метода Geo MipMap.

Разработай алгоритм расчета столкновения шасси военной техники с высоко детализированной земной поверхностью. Новизна алгоритма заключается в предварительном отборе элементов земной поверхности потенциально пересекающихся с многоточечным шасси. Упорядочивание отобранных элементов сокращает время поиска нужного элемента. Для 16-ти точечного шасси алгоритм позволяет сократить время расчета до трех раз по сравнению с известными алгоритмами.

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

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

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

Методы разработки и исследования

Для проектирования программных модулей использовался язык UML, среда разработки - Microsoft Visio. Для реализации программных систем использовался язык С++, среда разработки - Microsoft Visual Studio. Целевой платформой, а также платформой разработки был персональный компьютер с операционной системой Microsoft Windows ХР и библиотекой OpenGL версии не ниже 1.4.

При разработке системы были использованы следующие бесплатные программные библиотеки с открытым исходным кодом:

TinyXML - программная библиотека, позволяющая производить грамматический разбор текста на языке XML. Библиотеку легко встраивать в различные приложения.

CAL3D — программная библиотека, позволяющая производить анимацию персонажей, используя технику скелетной анимации. Библиотека написана на языке С++, является кросс-платформенной и предоставляет удобные инструменты для интеграции с трехмерными данными.

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

Freelmage - программная библиотека, обеспечивающая поддержку популярных графических форматов, таких как PNG, BMP, JPEG, TIFF и многих других. Библиотека обладает высокой производительностью, ее легко использовать, она является потоково безопасной и совместима со всеми 32 битными версиями Windows, Linux, Mac OS X. Библиотека предоставляет интерфейс ANSI С и обертку для языка С++ и многих других. zlib - программная библиотека, позволяющая производить сжатие данных без потерь. Формат данных zlib является кросс-платформенным.

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

Для программирования видеоподсистемы персонального компьютера использовалась библиотека OpenGL версии 1.4.

Специальные инструкции процессора Pentium IV были задействованы посредством использования компилятора ICC 8.

В качестве источника трехмерных данных использовался пакет трехмерного моделирования 3D Studio МАХ. Для этого пакета была разработана специальная встраиваемая программа, позволяющая производить экспорт трехмерных данных в собственный формат. Источником растровых изображений служил пакет Adobe Photoshop, использовались форматы TGA и DDS.

При разработке набора специализированных библиотек были использованы широко известные алгоритмы. Для вычисления позиции объектов использовался аппарат линейной алгебры, а для вычисления ориентации математика кватернионов. Для структурирования пространственных данных использовались квадратичные и восьмеричные деревья. Отсечение невидимых объектов производилось по конусу видимости и дальности для виртуальной камеры. Для повышения производительности использовался алгоритм уровней детализации объектов. В основу разработки метода визуализации больших ландшафтов были положены два алгоритма — GeoMipMap и Chunked Lod.

Положения, выносимые на защиту

На защиту выносятся:

• метод визуализации земной поверхности Chunked MipMap, основанный на регулярной сетке и квадратичном дереве для структурирования данных с использованием коэффициентов перехода между уровнями детализации позволяет производить отображение и изменение ландшафта в реальном времени с эффективностью па 30% выше известного метода Geo MipMap;

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

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

• использование библиотеки программ для генерации и отображения изображений на выходе специализированных оптико-электронных устройств, реализующей метод отображения ландшафта Chunked MipMap, алгоритм расчета столкновений шасси военной техники с ландшафтом, содержащей комплексную методику оптимизации временной диаграммы, существенно облегчает разработку систем визуализации нового поколения тренажеров военной техники в соответствии со специальными требованиями;

• программный модуль визуализации боевой обстановки комплексного тренажера нового поколения военной техники (МТТ72Б) обеспечивает высокое качество отображения боевой обстановки и удовлетворяет специальным требованиям для нового поколения тренажеров военной техники.

Внедрение

На основе представленного набора специализированных библиотек была разработана система визуализации многофункционального тренажера экипажа танка Т-72Б. Тренажер представляет собой программно-аппаратный комплекс, предназначенный для обучения механика-водителя, наводчика-оператора и командира в условиях, максимально приближенных к реальным условиям. Система визуализации предназначена для отображения боевой обстановки, наблюдаемой обучаемым контингентом. Мобильный тренажер экипажа танка разработан Российской компанией ООО «Модернизация Авиационных Комплексов». Программный модуль внедрен в компании ООО «Модернизация Авиационных Комплексов», акт о внедрении от 10 декабря 2003 г. Тренажер нового поколения с внедренным программным модулем поставлен на вооружение в армии Беларуси в 2004 году.

Гибкая программная архитектура библиотеки позволяет легко модифицировать старые и наращивать новые возможности, что позволяет применять ее в других приложениях:

• библиотека внедрена в программно-аппаратный комплекс медицинской диагностики DDFAO [113] в компании ЗАО «Мастер Медиа», акт о внедрении от 23 сентября 2004 г; и

• библиотека внедрена в пакет программ SecuraVisla [115] Российской компанией «Люксофт» [116], акт о внедрении от 14 марта 2005 г;

• библиотека внедрена в систему программно-технического комплекса документального обеспечения аварийно-спасательных работ АИСДО-ЧС Российской компании ООО «Трест-Р», акт о внедрении от 31 января 2006 г.

Апробация

Практическая проверка основных положений и результатов диссертационной работы произведена в ООО «Модернизация Авиационных Комплексов», ЗАО «Мастер Медиа», ООО «Люксофт», ООО «Трест-Р».

Предварительная защита диссертации проведена на заседании кафедры "Космические информационные системы" факультета "Аэрофизики и космических исследований" Московского физико-технического института.

Основные результаты диссертации опубликованы в работах [107][108][109] и доложены на семинаре молодых специалистов ФГУП ЦНИИ Комета и на научно-техническом семинаре компании ООО "Люксофт".

Личный вклад

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

Автором решены следующие задачи:

• разработан метод отображения большого модифицируемого ландшафта;

• разработан алгоритм расчета столкновений многоточечного шасси военной техники с земной поверхностью;

• разработана комплексная методика оптимизации временной диаграммы вычислительного процесса;

• разработана и отлажена специализированная библиотека на языке С++ для построения систем визуализации реального времени;

• на основе библиотеки построены системы визуализации и внедрены в конкретные технические приложения.

Краткое описание структуры работы

Работа содержит 160 страниц, введение, 5 глав, выводы, 2 приложения, 107 рисунков, 4 таблицы.

В главе 1 производится постановка задачи. Рассматриваются особенности работы симуляторов реального времени. Производится анализ доступных в свободной продаже систем и их сопоставление с требованиями. Производится анализ специальных требований к системам визуализации тренажеров наземной техники. На основе анализа специальных требований разрабатываются принципы построения системы визуализации. Система визуализации состоит из нескольких компонент, основными из которых является графический конвейер и набор управляющих программ. Графический конвейер состоит из трех основных компонент: формирование данных, геометрическая обработка и растеризация. Набор управляющих программ представляет собой средства для начальной инициализации конвейера и взаимодействия с внешней средой. Для построения этих компонент используются некоторые известные методы и алгоритмы, описание которых представлено в приложении, программная реализация описана в главе 4. Для отображения больших ландшафтов разработан оригинальный метод, рассматриваемый в главе 2.

Во второй главе разрабатывается оригинальный метод визуализации ландшафта. Метод разрабатывается в соответствии со специальным требованием изменять ландшафт в реальном масштабе времени. При этом требуется обеспечить соблюдение временной диаграммы. Основная проблема визуализации открытых пространств — слишком большой объем данных для интерактивной визуализации, следовательно, необходимо его уменьшить. Существуют две идеи, позволяющие значительно уменьшить объем данных для визуализации: отсечение невидимых участков ландшафта и визуализация удаленных участков с меньшей детализацией. Уровни детализации играют значительную роль в визуализации открытых пространств, поскольку, что пет необходимости отображать удаленные участки ландшафтов в полной детализации. Методы уменьшения детализации удаленных участков ландшафта делятся на два больших класса - основанные на регулярной сетке и основанные на нерегулярной сетке. Одним из наиболее широко используемых методов визуализации ландшафтов на основе регулярной сетки является Fast Terrain Rendering Using Geometrical MipMapping. Автором этого метода, опубликованного в 2000 году, является Willem Н. de Boer. On предложил использовать для создания уровней детализации ландшафта технику, похожую на создание MIP уровней при текстурировапии (отсюда MipMapping в названии). Одним из самых популярных методов визуализации открытых пространств на основе нерегулярной сетки является Rendering Massive Terrains using Chunked Level of Detail Control. Автор работы -Thatcher Ulrich, работа была представлена на конференции Siggraph 2002. Основной идеей разработанного метода была интеграция регулярной сетки со способом хранения данных, использующимся в методе Chunked LOD. Для этого был разработан метод подготовки данных, позволяющий не только быстро получать уровни детализации менее детализированных участков ландшафта из более детализированных участков (и наоборот), но и работать с регулярной сеткой.

В главе 3 проведен анализ методов оптимизации, как с точки зрения алгоритмов, так и с точки зрения аппаратной части. Рассматриваются методы оптимального представления пространственных данных, такие как деревья бинарного разбиения пространства, квадратичные и восьмеричные деревья. Структурирование пространственных данных представляет собой механизм организации геометрических примитивов в пространстве R". Рассматриваются только двумерные и трехмерные структуры, но идеи могут быть обобщены для любых размерностей. Такие структуры данных могут существенно ускорять решение задачи поиска пересечений геометрических сущностей. Эта задача часто возникает при реализации алгоритмов отсечения, при проверке пересечений и трассировке луча, при определении столкновений. Рассмотрены следующие пространственные структуры данных: иерархия ограничивающих объемов (Bounding Volume Hierarchies, BVH), BSP-дерево {Binary Space Partition, Бинарное разбиение пространства), восьмеричное дерево {octree). BSP-дерево и восьмеричное дерево являются структурами данных, основанными на пространственном разбиении. Рассматриваются методы отсечеиия невидимой геометрии, такие как отсечение обратных полигонов, отсечение объемом видимости, отсечение скрывающими объектами, портальное отсечение. Под отсечением примитива понимается удаление его из списка примитивов, предназначенных для дальнейшей обработки. Методами отсечения, использующимися для построения изображения, являются: отсечение обратных полигонов {backface culling), отсечение объемом видимости {view frustum culling), отсечение скрывающими объектами {occlusion culling). Разобран метод перекрывающего горизонта и работа аппаратных тестов перекрытия. Дано представление о работе алгоритма иерархической z-буферизации. Исследован метод уровней детализации, позволяющий увеличивать производительность. Рассмотрены схемы переключения уровней детализации и стратегии выбора текущего уровня. Подробно рассмотрена аппаратная архитектура графического процессора и методы оптимизации задачи по нее. Приведена методика измерения производительности. Описаны методы оптимизации найденных узких мест. Приведены некоторые советы по написанию программного кода и использованию специальных инструкций процессора. Рассмотрены методы оптимального доступа к оперативной памяти. Рассмотрены принципы балансировки графического конвейера. Описаио использование многопроцессорных систем в задачах визуализации.

В главе 4 рассматриваются вопросы программной реализации выбранных принципов построения системы визуализации. Система визуализации, представляет собой набор библиотек для языка программирования С++, предназначенный для построения программ, генерирующих изображения в реальном времени. Система визуализации состоит из следующих проектов (в терминологии Microsoft Visual Studio): Core -содержит базовые классы, необходимые для функционирования системы визуализации, Anim - содержит базовые классы необходимые для проигрывания трех типов анимаций -скелетной, фреймовой, морфииговой, а также высокоуровневые средства для работы с последовательностями анимаций, PS - содержит базовые классы, необходимые для создаиия систем частиц {particle system), Viewer - пример приложения построенного на основе библиотеки. Подсистема Core является основным модулем библиотеки, отвечающим за реализацию графического конвейера и набора управляющих программ. Основными сущностями в ней являются: World, Atomic, Geometry, Model3d, Material, ResourceFinder, ResourceManager, Camera, Light. Подсистема Anim отвечает за анимацию объектов, иа этапе формирования данных для геометрической обработки. В подсистеме реализованы три типа анимации: фреймовая, скелетная и морфинговая. Основными сущностями подсистемы Anim являются: Animation, AnimationController, AnimWorld, SequencePlayer. Подсистема PS отвечает за реализацию эффектов, основанных на системах частиц. Модули подсистемы исполняются на всех трех этапах графического конвейера. Реализованы эффекты взрыв, огонь, дым, дождь, снег и т.д. Основными сущностями подсистемы PS являются: ParticleFacade, Particle, Interpolator, ParticleRenderer, ParticleSystem. Глава дает представления о рассматриваем программном продукте с точки зрения его внутреннего наполнения. Также можно сделать заключение об его возможном использовании в качестве модуля визуализации в сторонних программных продуктах. Рассмотрены сущности составляющие основу библиотеки визуализации, их отношения и использование. Подробно рассмотрена реализация метода отображения большого, подверженного изменениям, ландшафта, и его сравнения с другими известными методами. Алгоритм отображения больших модифицируемых ландшафтов описан во второй главе. Его реализация находится в составе библиотеки визуализации в программном модуле Core. Показаны источники данных для системы визуализации и методы получения данных. Данными для визуализации являются компоненты описания виртуальной сцены. Основными компонентами этого описания являются следующие: геометрическая форма объектов составляющих сцену (трехмерные модели), цветовое представление этих объектов (материалы и текстуры), параметры источников освещения. Описана предварительная обработка данных. Представлена реализация методов оптимизации расчета изображения, таких как, структурирование пространственных данных, отсечение пирамидой видимости, использование уровней детализации.

В главе 5 рассмотрены вопросы разработки системы визуализации тренажерного комплекса МТТ72Б. Дано описание программной и аппаратной среды тренажера. Описано взаимодействие программной среды тренажера с системой визуализации. Приведены результаты испытаний тренажерного комплекса и результаты работы системы визуализации.

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

В приложении 1 дан обзор методов и технологий, применяющихся при построении систем визуализации. Рассмотрена архитектура аппаратной части системы визуализации, ее вклад в процесс генерации изображения. Подробно разобран процесс построения изображения состоящий из трех основных этапов: подготовка данных, геометрическая обработка, растеризация. Описаны математические методы, составляющие основу представления объектов в трехмерном пространстве позволяющие производить следующие действия: перемещение, вращение, масштабирование, сдвиг. Дано понятие однородной системы координат. Дано понятие преобразования Эйлера и метода вращения геометрического объекта вокруг произвольной оси. Рассмотрен метод интерполированного вращения с использованием кватернионов.

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

1. Постановка задачи

Похожие диссертационные работы по специальности «Системный анализ, управление и обработка информации (по отраслям)», 05.13.01 шифр ВАК

Заключение диссертации по теме «Системный анализ, управление и обработка информации (по отраслям)», Тотмаков, Алексей Сергеевич

6.10сновные результаты

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

• Разработан новый метод Chunked MipMap для отображения больших открытых пространств земной поверхности, обеспечивающий увеличение производительности на 30% по сравнению с известным методом Geo MipMap.

• Разработан новый алгоритм расчета столкновений 16-ти катков танка с земной поверхностью, позволяющий сократить время расчета в три раза по сравнению с классическим алгоритмом.

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

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

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

Разработана библиотека программ для построения систем визуализации в симуляторах реального времени. Библиотека состоит из трех основных компонентов: Core — содержит базовые классы, необходимые для функционирования системы визуализации, Anim - содержит базовые классы, необходимые для реализации трех типов анимаций: скелетной, фреймовой, морфинговой, а также высокоуровневые средства для работы с последовательностями анимаций, PS - содержит базовые классы, необходимые для создания эффектов, основанных на системах частиц, таких как: огонь, взрыв, дым.

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

Произведено также внедрение результатов диссертационной работы в следующих проектах:

• На основе библиотеки разработан модуль отображения результатов обследования пациента методом измерения электрической проводимости тела. Модуль интегрирован и внедрен в программно-аппаратный комплекс медицинской диагностики DDFAO.

• На основе библиотеки разработан модуль визуального представления большого индустриального объекта, охранных систем, установленных на нем, и их зон видимости. Модуль интегрирован и внедрен в программный комплекс SecuraVista Suite.

• На основе библиотеки разработан модуль визуального представления комплекта документального обеспечения аварийно-спасательных работ

АИСДО-ЧС.

4.2.2 Заключение

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

• Возможность изменения формы ландшафта в реальном времени

• Высокая производительность

• Низкая нагрузка CPU

• Эффективное представление данных

• Возможность сжатия данных

• Возможность визуализации больших массивов данных

Программная реализация данного метода входит в состав библиотеки визуализации. Для его использования необходимо создать объект класса Landscape, воспользовавшись фабрикой для создания ландшафта Chunked MimMap.

4.3 Получение и подготовка данных для визуализации

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

В подсистеме Core существует три сущности, отвечающие за ввод-вывод данных, определяющих описание виртуальной сцены: ImageReadWrite, Model3d, CriScenelO.

Модуль ImageReadWrite отвечает за чтение и запись растровых форматов, таких как: Windows или OS/2 Bitmap (*.ВМР), DirectDraw Surface (*.DDS), Graphics Interchange Format (*.GIF), High Dynamic Range (*.HDR), Windows Icon (*.ICO), Amiga IFF (*.IFF, *.LBM), JPEG Network Graphics (*.JNG), Independent JPEG Group (*.JPG, *.JIF, *.JPEG, *.JPE), Commodore 64 Koala format (*.KOA), Multiple Network Graphics (*.MNG), Portable Bitmap (ASCII) (*.PBM), Portable Bitmap (BINARY) (*.PBM), Kodak PhotoCD (*.PCD), Zsoft Paintbrush PCX bitmap format (*.PCX), Portable Graymap (ASCII) (*.PGM), Portable Graymap (BINARY) (*.PGM), Portable Network Graphics (*.PNG), Portable Pixelmap (ASCII) (*.PPM), Portable Pixelmap (BINARY) (*.PPM), Adobe Photoshop (*.PSD), Sun Rasterfile (*.RAS), Truevision Targa files (*.TGA, *.TARGA), Tagged Image File Format (*.TIF, *.TIFF), Wireless Bitmap (*.WBMP), XI1 Bitmap Format (*.XBM), XI1 Pixmap Format

ХРМ). Этот модуль использует бесплатную библиотеку с открытым исходным кодом Freelmage (freeimage.sourceforge.net).

Модуль Model3d является интерфейсом для чтеиия и записи геометрических данных. В подсистеме Core есть три реализации этого интерфейса. CriModellO реализует интерфейс Model3d и позволят производить чтение и запись геометрических данных в двух форматах: XML и бинарном. Оба формата являются оригинальными и разработаны специально для описываемой библиотеки. ObjModellO реализует интерфейс Model3d и позволяет производить чтение и запись в открытый общедоступный формат OBJ.

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

4.3.1 Экспортирование полигональных моделей из программы трехмерного моделирования 3D Studio МАХ

Для разработки геометрических полигональных моделей на рынке представлено множество пакетов трехмерного моделирования. Одним из таких пакетов является 3D Studio Мах от компании Discreet. Этот пакет позволяет производить визуальное трехмерное моделирование. Существует возможность создавать трехмерные модели как по точным чертежам, так и по зарисовкам реального либо вымышленного объекта. В пакете существует специальный механизм, позволяющий разрабатывать дополнительные модули, которые работают в едином с пакетом адресном пространстве и имеют доступ к внутреннему представлению разрабатываемых трехмерных моделей.

Для получения данных из пакета 3D Studio Мах был написан встраиваемый модуль, позволяющий производить экспорт в форматы, реализующие интерфейс Model3d. Т.е., иными словами, этот модуль производит отображение внутреннего представления трехмерной модели 3D Studio Мах в формат Model3d. Также результатом работы этого модуля является описание виртуальной сцены в формате CriScenelO.

4.3.2 Предварительная обработка данных для визуализации

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

Обработка полигональной модели

Полигональные модели описываются набором вершин, и способом объединения этих вершин в треугольники. Во время отображения трехмерной модели, данные для расчета поступают в порядке следования треугольников. Т.е., если модель состоит из 100 вершин и 40 треугольников, то вершины на обработку будут поступать в порядке следования треугольников — тройками. Итого для расчета будет передано 40 х 3 = 120 вершин. В случае, если вершина, составляющая треугольник, только что была обработана и находится в кэше устройства, то повторной обработки не происходит, что позволяет сэкономить аппаратные ресурсы. Задача оптимизации состоит в сортировке списка треугольников таким образом, чтобы максимально задействовать кэш устройства. На разных устройствах размер кэша различается, поэтому эта оптимизация чувствительна к аппаратуре. Оптимальное использование кэша увеличивает производительность этапа геометрической обработки от 10% до 30%.

Обработка растровых изображений

Растровое изображение описывается массивом цветовых значений. В случае использования MipMap техники при визуализации используется как изображение оригинального размера, так и его уменьшенные копии. Это позволяет увеличить скорость отображения удаленных объектов. Создание уменьшенных копий изображения происходит во время загрузки программы, при этом используется билинейная фильтрация. Существует возможность заранее создать необходимое количество уменьшенных копий изображения, при этом, поскольку это является предварительной обработкой, можно использовать сколь угодно сложные алгоритмы фильтрации. Полученный набор изображений необходимо сохранить в специальный формат Direct Draw Surface (*.DDS). Эта подготовка позволяет не только улучшить качество рассчитываемого итогового изображения, но и уменьшить время загрузки программы.

4.4 Результаты оптимизации временной диаграммы вычислительного процесса

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

Структурирование пространственных данных

В описываемой библиотеке применяется два способа структурирования пространственных данных: квадратичное и восьмеричное деревья. Применение квадратичного дерева подробно описано выше и применяется для оптимизации доступа к участкам земной поверхности. Восьмеричное дерево применяется для оптимизации доступа к объектам, не являющимися земной поверхностью. Восьмеричное разбиение пространства используется в алгоритмах отсечения объектов усеченной пирамидой видимости и в алгоритме определения столкновений. При разработке тренажера танка использование структурирования пространственных данных, в зависимости от наполнения виртуальной сцены, дало прирост производительности в алгоритме отсечения пирамидой видимости от 10% до 50%, в алгоритме определения столкновений от 20% до 30%.

Отсечение пирамидой видимости

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

Уровни детализации

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

5. Программный комплекс визуализации тренажера военной техники

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

Рассмотрим использование системы визуализации на примере построения комплексного тренажера танка Т-72Б.

5.1 Вычислительная модель

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

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

За основу методики моделирования и технологии разработки принята методология моделирования мира в состояниях [29]. Моделируемые сущности представляются в виде совокупности объектов, взаимодействия между ними — в виде обмена событиями, являющимися единственными средствами передачи команд и данных между объектами модели.

5.2 Технология разработки

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

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

5.3 Программное ядро тренажера

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

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

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

Программная система тренажера состоит из следующих доменов:

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

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

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

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

• ядро. Архитектурный домен, обеспечивающий общие механизмы и структуры для управления данными и системой как единым целым;

• имитация органов управления. Сервисный домен, обеспечивающий программное представление органов управления, имитируемых аппаратурой тренажера;

• интерфейс с аппаратурой. Домен реализации, обеспечивающий обмен данными с аппаратурой тренажера;

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

• интерфейс с операционной системой. Домен реализации, обеспечивающий взаимодействие тренажера с операционной системой.

Все объекты, моделируемые при работе тренажера, находятся на общем «виртуальном полигоне» - прямоугольном участке местности размером не менее 5x5 км. На каждой вычислительной машине в составе тренажера создается и обновляется, по мере необходимости, описание состояния местности и всех объектов, находящихся на ней (в обычном, «бытовом» смысле слова) с точки зрения наблюдателя. Для объектов на местности такое описание может включать текущие координаты, скорость и направление движения, положение движущихся частей объекта относительно друг друга и скорости их относительного перемещения, состояние приборов и установок объекта, доступное наблюдению извне, и иные подобные характеристики.

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

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

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

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

5.4 Интерфейс с аппаратурой

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

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

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

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

• цифровой вход - устройство ввода информации, обеспечивающее преобразование заданного числа аналоговых значений в цифровой эквивалент;

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

• цифровой выход - устройство вывода информации, преобразующее заданное количество цифровых значений в аналоговый эквивалент;

Размерности» устройств (количество байт в матрице, число каналов ЦАП и АЦП и т.д.) задаются для каждого информационного адаптера при его реализации. Допустимы нулевые размерности устройств, что означает отсутствие устройств данного типа на плате сопряжения, связанной с данным адаптером.

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

5.5 Сетевой интерфейс

Участвующие в работе тренажера вычислительные машины (далее по тексту в данном значении также употребляется термин «вычислительный узел») взаимодействуют по протоколу tcp/ip. С точки зрения логики тренажера вычислительные машины в его составе классифицируются следующим образом:

• группы машин, отвечающие за работу и/или моделирование одной «большой» сущности тренажера (примеры: моделируемый вертолет, рабочее место инструктора);

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

В результате каждый вычислительный узел имеет три идентификатора:

• ip-адрес. За пределами сетевой библиотеки использоваться не должен;

• уникальный в рамках тренажера идентификатор вычислительного узла. Целое число, однозначно сопоставляющееся с 1р-адресом машины. Фактически, это синоним ip-адреса, используемый за пределами сетевой библиотеки;

• совокупность «код типа группы узлов» - «номер группы данного типа» -«тип функционального узла внутри группы» — «номер узла данного типа внутри группы». Используется в основном при загрузке объектов и инициализации системы.

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

5.6Взаимодействие сервисного домена визуализация с моделирующим ядром

Моделирующее ядро тренажера управляет процессом визуализации посредством домена Синтезируемая Обстановка (SyntheticEnviroment). В терминах шаблонов проектирования такой вид доступа можно назвать доступом через фасад.

Рис 72. Взаимодействие моделирующего ядра тренажера с системой визуализации, через фасад Синтезируемая Обстановка.

Объект SyntheticEnvironment является примитивным. Фактически, он только хранит в себе различные плагины и по заданному закону передаёт им на обработку полученные от модели события. Также он осуществляет старт/стоп визуализации и какие-либо глобальные изменения состояния системы визуализации в целом (день и ночь, выбор и перегрузка полигона на ходу).

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

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

Список литературы диссертационного исследования кандидат технических наук Тотмаков, Алексей Сергеевич, 2006 год

1. Банковский Ю.М., Галактионов В. А., Ходулев А.Б., Геометрические преобразования в высокопроизводительных графических станциях, Микропроцессорные средства и системы, №3, 1988.

2. Баяковский Ю.М., Галактионов В.А., Современные проблемы компьютерной графики, лекции для молодых исследователей, М: Едиториал УРСС, с. 445-473, 2005.

3. Баяковский Ю.М., Галактионов В.А., О некоторых фундаментальных проблемах компьютерной графики, информационные технологии и вычислительные системы, №4, 2004.

4. Карманов В.Г., Математическое программирование, Москва ФМЛ, 1975.

5. Зайченко Ю.П., Исследование операций, Вища школа, Киев, 1975.

6. Abrash, Michael, Michael Abrash's Graphics Programming Black Book, Special Edition, The Coriolis Group, Inc., Arizona, 1997. www.ddj .com/articles/2001 /0165/0165f/0165f.htm

7. Cormen, Т.Н., C.E. Leiserson, and R. Rivest, Introduction to Algorithms, MIT Press, Inc., Cambridge, Massachusetts, 1990.

8. Fuchs, IL, Z.M. Kedem, and B.F. Naylor, "On Visible Surface Generation by A Priori Tree Structure", Computer Graphics, (Siggraph '80 Proceeding).

9. Fuchs, H., G.D. Abram, and E.D. Grant, "Near Real-Time Shader Display of Rigid Objects", Computer Graphics, (Siggraph '89 Proceeding).

10. Gordon, Dan, and Shuhong Chen, "Front-to-back display of BSP trees", IEEE computer Graphics and Applications.

11. James, Adam, Binary Space Partition for Accelerated Hidden Surface Removal and Rendering of Static Environments, Ph. D. Thesis, University of East Anglia, August 1999.

12. Larsson, Thomas, and Tomas Akenine-Moller, "Collision Detection for Continuously Deforming Bodies", Eurographics 2001.

13. Ratcliff, John W., "Sphere Trees for Fast Visibility Culling, Ray Tracing and Range Searching", Game Programming Gems 2.

14. Samet, Hanan, Application of Spatial Data Structures: Computer Graphics, Image Processing and GIS, Addison-Wesley, Reading. Massachusetts, 1989.

15. Samet, Hanan, The Design and Analysis of Spatial Data Structures, Adison-Wesley, Reading. Massachusetts, 1989.

16. Ulrich, Thatcher, "Loose Octrees", Game Programming Gems.

17. Hennessy, John L., and David A. Patterson, Computer Architecture: A Quantitative Approach, Second Edition, Morgan Kaufmann Publishers, 1996.

18. Akeley, K., and T. Jermoluk, "High-Perfomance Polygon Rendering", Computer Graphics (SIGGARPH '88 Proceedings), August 1988.

19. Blinn, Jim, Jim Blinn's Corner: A Trip Down the Graphics Pipeline, Morgan Kauffman Publishers, Inc., San Francisco, 1996.

20. Hearn, Donald, and M. Pauline Baker, Computer Graphics, Second Edition, Prentice-Hall, Inc., Englewoods Cliffs, New Jersey, 1994.

21. Haeberli, P., and K. Akeley, "The Accumulation Buffer: Hardware Support for High Quality Rendering", Computer Graphics (SIGGRAPH '90 Proceedings).

22. Tomas Akenine-Moller, Eric Haines, Real-Time Rendering, Second Edition, A. K. Peters, Natick, Massachusetts, 2002.

23. Streaming SIMD Extensions inverse of 4x4 Matrix, Order Number 245043-001, Intel Corporation, March 1999. developer.intel.com/vtune/compilers/cpp/matrixlib.htm.

24. Shoemake, Ken, "Animating Rotation with Quaternion Curves", Computer Graphics (SIGGRAPH '85 Proceedings).

25. Понтрягин J1.C., "Обобщения чисел", выпуск 54 серии "библиотечка квант", М., Наука, 1986

26. Смирнов В. И., "Курс высшей математики", Наука, 1969.

27. Shoemake, Ken, "Euler Angles Conversions", Graphics Gems IV, Academic Press. www.graphicsgems.com.

28. Watt, Alan, and Mark Watt, Advanced Animation and Rendering Techniques — Theory and Practice, Addison-Wesley, 1992.

29. С.Шлеер, С.Меллор. «Объектно-ориентированный анализ: моделирование мира в состояниях». Киев, «Диалектика», 1993.

30. Calver, Dean, "Vertex Decompression Using Vertex Shaders," in Engel, Wolfgang, ed., ShaderX, Wordware, May 2002. http://www.shaderx.com/

31. Catmull, Edwin, "Computer Display of Curved Surfaces," Proceedings of the IEEE Conference on Computer Graphics, Pattern Recognition and Data Structures, Los Angeles, pp. 11-17, May 1975.

32. Cox, Michael, David Sprague, John Danskin, Rich Ehlers, Brian Hook, Bill Lorensen, and Gary Tarolli, "Developing High-Performance Graphics Applications for the PC Platform," Course 29 notes at SIGGRAPH 98, 1998.

33. Culler, David E., and Jaswinder Pal Singh, with Anoop Gupta, Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann Publishers Inc., San Francisco, 1998.

34. Do Carmo, Manfred P., Differential Geometry of Curves and Surfaces, Prentice-Hall, Inc., Englewoods Cliffs, New Jersey, 1976.

35. Downs, Laura, Tomas Moller, and Carlo Sequin, "Occlusion Horizons for Driving through Urban Scenery," Proceedings 2001 Symposium on Interactive 3D Graphics, pp. 121-124, March 2001.

36. Appel, Andrew W., with Maia Ginsburg, Modern Compiler Implementation in C, Cambridge University Press, 1998.

37. Foley, J.D., A. van Dam, S.K. Feiner, and J.H. Hughes, Computer Graphics: Principles and Practice, Second Edition in C, Second Edition, Addison-Wesley, Reading, Massachusetts, 1996.

38. Gigus, Z., J. Canny, and R. Seidel, "Efficiently Computing and Representing Aspect Graphs of Polyedral Objects," IEEE Transactions On Pattern Analysis and Machine Intelligence, vol. 13, no. 6, pp. 542-551, 1991.

39. Goldman, Ronald, "Matrices and Transformations," in Andrew S. Glassner, ed., Graphics Gems, Academic Press, pp. 472-475, 1990.

40. Gouraud, H., "Continuous shading of curved surfaces," IEEE Transactions on Computers, vol. C-20, pp. 623-629, June 1971.

41. Hanrahan, Pat, "A Survey of Ray-Surface Intersection Algorithms," Chapter 3 in Andrew Glassner, ed. An Introduction to Ray Tracing, Academic Press Inc., London, 1989.

42. Assarsson, Ulf, and Tomas Moller, "Optimized View Frustum Culling Algorithms for Bounding Boxes," journal of graphics tools, vol. 5, no. 1, pp. 9-22, 2000. http://www.ce.chalmers.se/staff/uffe

43. Hecker, Chris, "More Compiler Results, and What To Do About It," Game Developer, pp. 14-21, August/September 1996. http://www.d6.com/users/checker/misctech.htm

44. Hennessy, John L., and David A. Patterson, Computer Architecture: A Quantitative Approach, Second Edition, Morgan Kaufmann Publishers, 1996.

45. Hill, Steve, "A Simple Fast Memory Allocator," in David Kirk, ed., Graphics Gems III, Academic Press, pp. 49-50, 1992. http://www.graphicsgems.org/

46. Hughes, John F., and Tomas Moller, "Building an Orthonormal Basis from a Unit Vector," journal of graphics tools, vol. 4, no. 4, pp. 33-35, 1999. http://www.acm.org/jgt/papers/HughesMoller99/

47. Kempf, Renate, and Jed Hartman, OpenGL on Silicon Graphics Systems, Silicon Graphics Inc., 1998.

48. Kumar, Subodh, and Dinesh Manocha, "Hierarchical Visibility Culling for Spline Models," Graphics Interface 96, Toronto, Canada, pp. 142-150, May 1996. ftp://ftp.cs.unc.edu/pub/publications/techreports/FILE.html

49. Bartz, Dirk, James T. Klosowski, and Dirk Staneker, "K-DOPs as Tighter Bounding Volumes for Better Occlusion Performance," Visual Proceedings (SIGGRAPH 2001), p. 213, August 2001.

50. Luebke, David, Martin Reddy, Jonathan Cohen, Amitabh Varshney, Benjamin Watson, and Robert Huebner, "Advanced Issues in Level of Detail," Course 41 notes at SIGGRAPH 2001, 2001.

51. Macri, Dean, "Fast AGP Writes for Dynamic Vertex Data," Game Developer, pp. 36-42, May 2001.

52. McReynolds, Tom, David Blythe, Brad Grantham, and Scott Nelson, SIGGRAPH 99 Advanced Graphics Programming Techniques Using OpenGL course notes, 1999. www.opengl.org/developers/code/sig99/index.htmI

53. MeiBner, Michael, Dirk Bartz, Tobias Hiittner, Gordon Miiller, and Jens Einighammer, Generation of Subdivision Hierarchies for Efficient Occlusion Culling of Large Polygonal Models, Technical Report WSI-99-13, WSI/GRIS, University of Tubingen, 1999

54. Melax, Stan, "The Shortest Arc Quaternion," in Mark DeLoura, ed., Game Programming Gems, Charles River Media, pp. 214-218,2000.

55. Moller, Tomas, and John F. Hughes, "Efficiently Building a Matrix to Rotate One Vector to Another," journal of graphics tools, vol. 4, no. 4, pp. 1-4, 1999. http://www.acm.org/jgt/papers/MolIerHughes99/

56. Naylor, В., J. Amanatides, and W. Thibault, "Merging BSP Trees Yield Polyhedral Modeling Results," Computer Graphics (SIGGRAPH '89 Proceedings), pp. 115-124, July 1989.

57. Bigos, Andrew, "Avoiding Buffer Clears," journal of graphics tools, vol. 1, no. 1, pp. 1920, 1996.

58. Paul, Richard P.C., Robot Manipulators: Mathematics, Programming, and Control, MIT Press, Cambridge, Mass., 1981.

59. Ranck, Steven, "Motif-Based Static Lighting," in Mark DeLoura, ed., Game Programming Gems, Charles River Media, pp. 524-534, 2000.

60. Scott, N., D. Olsen, and E. Gannett, "An Overview of the VISUALIZE fx Graphics Accelerator Hardware," Hewlett-Packard Journal, pp. 28-34, May 1998. http://www.hp.com/hpj/98may/ma98a4.htm

61. Sears, Chris, "The Elements of Cache Programming Style," Proceedings of the 4th Annual Linux Showcase and Conference, October 2000.http://www.usenix.org/publications/library/proceedings/als2000/fullpapers/sears/searsh tml/

62. Shirman, Leon A., and Salim S. Abi-Ezzi, "The Cone of Normals Technique for Fast Processing of Curved Patches," Proceedings of Eurographics '93, vol. 12, no. 3, pp. 261272,1993.

63. Shoemake, Ken, "Quaternions and 4x4 Matrices," in James Arvo, ed., Graphics Gems II, Academic Press, pp. 351-354, 1991.

64. Shoemake, Ken, "Euler Angle Conversion," in Paul S. Heckbert, ed., Graphics Gems IV, Academic Press, pp. 222-229, 1994. http://www.graphicsgems.org/

65. Teller, Seth J., Visibility Computations in Densely Occluded Polyhedral Environments, Ph.D. Thesis, Department of Computer Science, University of Berkeley, 1992.

66. Thomas, Spencer W., "Decomposing a Matrix into Simple Transformations," in James Arvo, ed., Graphics Gems II, Academic Press, pp. 320-323, 1991. http://www.graphicsgems.org/

67. Ulrich, Thatcher, "Loose Octrees," in Mark DeLoura, ed., Game Programming Gems, Charles River Media, pp. 444-453, 2000.

68. International Standard ISO/IEC 14772-1:1997 (VRML), http://www.vrml.org/

69. Blinn, Jim, "Optimizing С++ Vector Expressions," IEEE Computer Graphics & Applications, vol. 20, no. 4, pp. 97-103, 2000. Also collected in Jim Blinn's Corner: Notation, Notation, Notation, chapter 18.

70. Zhang, Hansong, and Kenneth E. Hoff III, "Fast Backface Culling Using Normal Masks," in Proceedings 1997 Symposium on Interactive 3D Graphics, pp. 103-106, April 1997.

71. Akeley, Kurt, "The Silicon Graphics 4D/240GTX Superworkstation," IEEE Computer Graphics and Applications, vol. 9, no. 4, pp. 71-83, July 1989.

72. Akeley, Kurt, "RealityEngine Graphics," Computer Graphics (SIGGRAPH 93 Proceedings), pp. 109-116, August 1993. Added:http://www.cs.virginia.edu/~gfx/Courses/2002/BigData/papers/Case%20Studies/RealityE ngine%20Graphics.pdf

73. Booth, Rick, Inner Loops, Addison-Wesley, Reading, Massachusetts, 1997.

74. Goldman, Ronald, "Recovering the Data from the Transformation Matrix," in James Arvo, ed., Graphics Gems II, Academic Press, pp. 324-331, 1991.

75. Goldman, Ronald, "Decomposing Linear and Affine Transformations," in David Kirk, ed., Graphics Gems III, Academic Press, pp. 108-116, 1992.

76. Shoemake, Ken, "Polar Matrix Decomposition," in Paul S. Heckbert, ed., Graphics Gems IV, Academic Press, pp. 207-221, 1994. http://www.graphicsgems.org/

77. Johannsen, Andreas, and Michael B. Carter, "Clustered Backface Culling," journal of graphics tools, vol. 3, no. 1, pp. 1-14, 1998.

78. Sander, Pedro V., Xianfeng Gu, Steven J. Gortler, Hugues Hoppe, and John Snyder, "Silhouette Clipping," Computer Graphics (SIGGRAPH 2000 Proceedings), pp. 327-334, July 2000.

79. Wonka, Peter, and Dieter Schmalstieg, "Occluder Shadows for Fast Walkthroughs of Urban Environments," Computer Graphics Forum, vol. 18, no. 3, pp. 51-60, 1999.

80. Klosowski, James Т., and Claudio T. Silva, "The Prioritized-Layered Projection Algorithm for Visible Set Estimation," IEEE Transactions on Visualization and Computer Graphics, vol. 6, no. 2, pp. 108-123, April/June 2000.

81. Klosowski, James Т., and Claudio T. Silva, "Efficient Conservative Visibility Culling Using The Prioritized-Layered Projection Algorithm," IEEE Transactions on Visualization and Computer Graphics, vol. 7, no. 4, pp. 365-379, 2001.

82. Greene, Ned, Michael Kass, and Gavin Miller, "Hierarchical Z-Buffer Visibility," Computer Graphics (SIGGRAPH 93 Proceedings), pp. 231-238, August 1993.

83. Greene, Ned, Hierarchical Rendering of Complex Environments, Ph.D. Thesis, University of California at Santa Cruz, Report No. UCSC-CRL-95-27, June 1995.

84. Greene, Ned, "Hierarchical Polygon Tiling with Coverage Masks," Computer Graphics (SIGGRAPH 96 Proceedings), pp. 65-74, August 1996.

85. Greene, Ned, "Occlusion Culling with Optimized Hierarchical Z-Buffering," appears in Course 30 notes at SIGGRAPH 2001: Visibility, Problems, Techniques and Applications, 2001.

86. MeiBner, M., D. Bartz, R. Gunther, W. StraBer, "Visibility Driven Rasterization," Computer Graphics Forum, Vol. 20, No. 4, pp 283-293, 2001.

87. Garland, Michael, and Paul S. Heckbert, "Surface Simplification Using Quadric Error Metrics," Proceedings of SIGGRAPH 97, pp. 209-216, August 1997. http://graphics.cs.uiuc.edu/~garland/papers.html

88. Garland, Michael, and Paul S. Heckbert, "Simplifying Surfaces with Color and Texture using Quadric Error Metrics," IEEE Visualization 98, pp. 263-269, July 1998. http://graphics.cs.uiuc.edu/~garland/papers.html

89. Bloom, Charles, "View Independent Progressive Meshes (VIPM)," June 2000. http://www.cbloom.com/3d

90. Forsyth, Tom, "Comparison of VIPM Methods," in Mark DeLoura, ed., Game Programming Gems 2, Charles River Media, pp. 363-376, 2001.

91. Hoppe, Hugues, "Efficient Implementation of Progressive Meshes," Computers and Graphics, vol. 22, no. 1, pp. 27-36, 1998. http://research.microsofit.com/~hoppe/

92. Melax, Stan, "A Simple, Fast, and Effective Polygon Reduction Algorithm," Game Developer, vol. 5, no. 11, pp. 44-49, November 1998. http://www.melax.com/polychop/

93. Svarovsky, Jan, "View-Independent Progressive Meshing," in Mark DeLoura, ed., Game Programming Gems, Charles River Media, pp. 454-464, 2000.

94. Burwell, John M., "Redefining High Performance Computer Image Generation," Proceedings of the IMAGE Conference, Scottsdale, Arizona, June 1996.

95. Montrym, J., D. Baum, D. Dignam, and C. Migdal, "InfiniteReality: A Real-Time Graphics System," Computer Graphics (SIGGRAPH 97 Proceedings), pp. 293-302, August 1997.

96. Eckel, George, IRIS Performer Programmer's Guide, Silicon Graphics Inc., 1997. http://www.sgi.com/software/performer/manuals.html

97. Morein, Steve, "ATI Radeon HyperZ Technology," ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware, Hot3D Proceedings, Switzerland, August 2000.

98. Akeley, Kurt, "RealityEngine Graphics," Computer Graphics (SIGGRAPH 93 Proceedings), pp. 109-116, August 1993. Added:http://www.cs.virginia.edu/~gfx/Courses/2002/BigData/papers/Case%20Studies/RealityE ngine%20Graphics.pdf

99. Rohlf, J., and J. Helman, "IRIS Performer: A High Performance Multiprocessing Toolkit for Real-Time 3D Graphics," Computer Graphics (SIGGRAPH 94 Proceedings), pp. 381394, July 1994.

100. Исследовательская компания CyberEdge, www.cyberedge.com

101. Производитель медицинского оборудования ООО «ДДФАО», www.ddfao.ru

102. Производитель медицинского оборудования ООО «Меди ЛД», www.medild.com

103. ООО «Люксофт» проект SecuraVista, www.luxoftlabs.com/tiki-index.php?page=Visual%20Simulations%20and%20Modeling

104. ООО «Люксофт», www.luxoft.com117. 140-ой ремонтный завод, http://www.mod.mil.by/sl01140remn.html

105. Литовченко Д.Ц., Тотмаков А.С., "Конвейер расчета изображений в интерактивных системах визуализации", Космические информационно-управляющие системы, выпуск 1, М: ФГУП "ЦНИИ "Комета", 2006.

106. Литовченко Д.Ц., Тотмаков А.С., "Манипуляция объектами в трехмерном пространстве", Космические информационно-управляющие системы, выпуск 1, М: ФГУП "ЦНИИ "Комета", 2006.

107. Литовченко Д.Ц., Тотмаков А.С., "Методы структурирования пространственных данных", Космические информационно-управляющие системы, выпуск 1, М: ФГУП "ЦНИИ "Комета", 2006.

108. Тотмаков А.С.," Реализация методов манипуляции объектами в интерактивных системах визуализации", Электронный журнал "Исследовано в России", № 167, 2005. httn://zhurnal.ane.relarn.ru/articles/2005/167.pdf.

109. Тотмаков А.С., " Оптимизация доступа к пространственным данным ", Электронный журнал "Исследовано в России", № 168, 2005. http://zhurnal.ape.relarn.ru/articles/2005/168.pdf.

110. Тотмаков А.С.," Правила разработки трехмерных моделей в среде 3D Studio Мах 7.0, для использования в продукте SecuraVista", внутренний отчет Люксофт, 2005.

111. Тотмаков А.С., "Форматы САПР, их сравнительные возможности и сферы применения", внутренний отчет Люксофт, 2005.

112. Тотмаков А.С., "Исследование возможности перехода с версии 3DSMax 5.1 на версию 3DSMax 6.0", внутренний отчет Люксофт, 2005.

113. Тотмаков А.С., "Сравнение средств статического анализа исходного кода для языка С++", внутренний отчет Люксофт, 2005.

114. Тотмаков А.С., "Исследование возможностей экспорта геодезических данных из гео-информационной системы ArcView 8.3", внутренний отчет Люксофт, 2005.

115. Тотмаков А.С., "Визуализация больших сцен", внутренний отчет Люксофт, 2005.

116. Тотмаков А.С., "Метод отображения модифицируемого ландшафта сиспользованием коэффициентов перехода между уровнями детализации", Космические информационно-управляющие системы, выпуск 1, М: ФГУП "ЦНИИ "Комета", 2006.

117. Тотмаков А.С., "Оптимизация качества визуализации при ограничении навычислительные ресурсы", Космические информационно-управляющие системы, выпуск 1, М: ФГУП "ЦНИИ "Комета", 2006.

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