Специализированная компьютерная система для создания учебных программных систем и интерактивных технических руководств на основе объемных геометрических моделей и средств виртуальной реальности[1]

Е.И. Артамонов,
 зав. лаб., д.т, проф.,
eiart@ipu.ru,

А.В. Балабанов,
 с.н.с., к.т.н.,
fca07@mail.ru,
В.А. Ромакин,
 с.н.с., к.т.н.,
insight.ru@gmail.com,
С.В. Смирнов,
 с.н.с., к.т.н.,
sapr2006@bk.ru,
ИПУ РАН, г. Москва

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

Введение

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

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

Презентация Microsoft PowerPoint

рис. 1   Структурная схема компьютерной системы для создания учебных систем на основе 3D-моделей и средств виртуальной реальности

На рис. 1 представлена структурная схема компьютерной системы для создания интерактивных учебных систем на основе 3D-моделей и средств виртуальной реальности. Структурная схема включает:

- подсистему хранения комплектов документов и учебных руководств;

- подсистему создания комплектов документов и учебных руководств;

- подсистему интерфейса хранилища данных;

- подсистему отображения документации и интерактивных учебных пособий;

- подсистему виртуальной реальности;

- специализированный программный геометрический процессор;

- подсистему демонстрации стереопрезентаций;

- подсистему вывода комплектов документации;

- подсистему управления сценариями;

- подсистему виртуальной сборки объектов машиностроения;

- подсистему виртуальной сборки космических аппаратов;

- подсистему виртуальной настройки роботов;

- тренажер для освоения инвуазивных операций на сосудах сердца.

Модуль хранения комплектов документов и учебных руководств включает набор программных решений, обеспечивающих формирование, хранение и доступ к содержимому текстовых и графических документов, поддерживающий иерархические ссылочные структуры документов. Допускается три вида ссылок: 1) гиперссылки; 2) ссылки-контейнеры с возможностью отображения содержания ссылки по месту в контексте документа посредством ассоциированного программного обеспечения; 3) процедурные ссылки, позволяющие обеспечить динамическое изменение состава документов, с использованием интеллектуальных процедур отбора/систематизации информации.

Модуль создания комплектов документов и учебных руководств обеспечивает удобное создание и редактирование документов различного происхождения при помощи специализированного программного обеспечения в зависимости от формата документов. При создании комплектов документации и интерактивных руководств обеспечивается возможность включения документов по ссылке из различных источников и в различных форматах. Существует возможность использования в качестве документов 3D-моделей, созданных в различных CAD-системах (в том числе, в стандартных форматах *.stl и *.wrl).

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

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

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

В подсистеме виртуальной реальности используются следующие основные алгоритмы:

- алгоритм стыковки двух объектов;

- алгоритм стыковки винтов и гаек с использованием инструментов;

- алгоритм добавления объекта в группу объектов;

- алгоритм извлечения объекта из группы объектов;

- алгоритмы построения ориентированных ограничивающих прямоугольных параллелепипедов (OBB - Oriented Bounding Box), построения OBB-деревьев, проверки пересечения двух OBB [2].

 

Рисунок2 

рис. 2.  Автоматическая сборка виртуальных моделей

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

Как отмечалось выше, при автоматической сборке выполняется устранение коллизий между виртуальными объектами. Процесс устранения коллизий можно разделить на три основных этапа: 1) построение ограничивающих параллелепипедов OBB; 2) построение OBB-деревьев; 3) проверка пересечения двух OBB.

Алгоритм построения OBB триангулированной модели использует статистические величины первого и второго порядка.

Пусть вершинами i-го треугольника являются точки pi, qi и ri. Тогда среднее значение и ковариационная матрица в векторной записи выглядят следующим образом:

,

,

где n – количество треугольников, , ,, Cjk – элементы ковариационной матрицы CÎR3x3.

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

 

Имея алгоритм вычисления OBB для группы полигонов, можно построить иерархию OBB. Большинство методов построения иерархических структур подразделяются на две категории: «снизу-вверх» и «сверху-вниз». Методы «снизу-вверх» сначала вычисляют ограничивающий объём для каждого полигона в отдельности, а затем постепенно объединяют полученные OBB в более крупные. Методы «сверху-вниз» начинают с построения OBB для всего множества полигонов, а затем рекурсивно разбивают его, пока это возможно. В разработанной компьютерной системе используется метод «сверху-вниз».

OBB3

рис. 3  Построение OBB-деревьев

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

Презентация Microsoft PowerPoint

рис. 4  Пример построения OBB-дерева

Координата разбиения на оси выбирается на месте точки m средних значений вершин. Если OBB нельзя разбить поперек самой длинной оси, выбирается следующая по длине ось. Если же и вторая ось не подходит, используется самая короткая ось. Группа полигонов, которую нельзя разбить ни по одной из осей, считается неделимой. Пример построения OBB-дерева показан на рис. 4.

OBB4

рис. 5  Процесс определения коллизий

Для иллюстрации процесса определения коллизий рассмотрим рис. 5. Будем использовать оси OBB  A в качестве базиса, а матрицу поворота OBB  B относительно OBB  A обозначим R.

Чтобы два OBB не пересекались, необходимо и достаточно, чтобы их базовые оси, а также их попарные векторные произведения (всего 15 осей),  были разделяющими [2].

Проекции OBB на ось L пересекаются, если

 

Для базовых осей OBB и их попарных векторных произведений вышеприведенное неравенство упрощается, например, для оси L=А1xB2 второй член первой суммы будет равен

 

,

 

 а после упрощения формула проверки для данной оси будет выглядеть так:

 

.

 

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

- аффинные преобразования 3D-моделей (перенос, поворот, масштабирование);

- формирование изображения сцены и его вывод на дисплей.

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

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

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

рис.6  Использование симметричных проекций («toe-in»)

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

рис. 7  Использование несимметричных проекций («off-axis»)

Вертикальный параллакс создает дискомфорт при просмотре изображения, поэтому предпочтительней более сложный способ построения стереопар, с использованием несимметричных проекций («off-axis»), при котором векторы наблюдения обеих камер параллельны между собой (рис. 7). В изображениях, полученных этим способом, отсутствует вертикальный параллакс. Кроме того, объекты, лежащие перед плоскостью проекций, будут казаться приближенными к пользователю, а объекты, лежащие сзади плоскости проекций, будут казаться за экраном [3].

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

9

рис. 8   Этапы создания анаглифного изображения

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

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

Модуль вывода комплектов документации обеспечивает преобразование комплектов документов в стандартные форматы (xml, pdf, Ms-Word) и вывод на печать с использованием различных стилей оформления.

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

                                                                                                                                                                                          Таблица 1

Примеры 3D-моделей из базы данных машиностроительных конструкций и аналитическое описание их структур данных

Аналитическое описание структуры данных для чтения и редактирования

Слайд1

Аналитическое описание структуры данных для хранения в базе данных

Слайд2

Изображение 3D-модели

asm00011

URM-D_IV

TABLE

 

Таблица 2

Примеры 3D-моделей из базы данных сосудов сердца и аналитическое описание
их структур данных

Аналитическое описание структуры данных для чтения и редактирования

Аналитическое описание структуры данных для хранения в базе данных

Слайд2

Изображение 3D-модели

Сосуды 55

сборка2

 

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

Литература

1.  Артамонов Е.И., Балабанов А.В., Ромакин В.А. Технология создания специализированных систем на основе средств виртуальной реальности // Материалы 9-й междунар. конф. и выставки «CAD/CAM/PDM».  М.: ИПУ РАН, 2009.  С.19-24.

2.  S. Gottschalk, M. Lin and D. Manocha. OBBTree: A Hierarchical Structure for Rapid Interference Detection. In Proc. of ACM Siggraph'96, pages 171-180, 1996.

3.  Bourke P. Calculating Stereo Pairs, 1999.

 

 

 

 

 



[1] Работа частично финансируется по государственному контракту № 11411.1003704.05.001 от 19.09.2011 г. «Разработка специализированной компьютерной системы для создания учебных программных систем и интерактивных технических руководств на основе объемных геометрических моделей и средств виртуальной реальности».