СИСТЕМА ПРОЕКТИРОВАНИЯ ОБЪЕКТОВ В СРЕДЕ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ В РЕАЛЬНОМ ВРЕМЕНИ
SYSTEM OF DESIGNING OBJECTS IN VIRTUAL REALITY ENVIRONMENT IN REAL TIME

ОБЛАСТЬ ТЕХНИКИ
[1] Настоящее техническое решение относится в общем к вычислительной технике, а в частности к системам управления объектов и их редактированию в виртуальной реальности.
УРОВЕНЬ ТЕХНИКИ
[2] В настоящее время все большую популярность получают устройства, способные перевести интерактивное взаимодействие человека и вычислительной техники на качественно более высокий уровень.
[3] Технологии виртуальной реальности значительно развиваются из-за достижений вычислительной техники и стереоскопических дисплеев.
[4] Виртуальная реальность - это созданный техническими средствами мир (объекты и субъекты), передаваемый человеку через его ощущения: зрение, слух, обоняние, осязание и другие чувства. Виртуальная реальность имитирует как воздействие, так и реакции на воздействие. Для создания убедительного комплекса ощущений реальности компьютерный синтез свойств и реакций виртуальной реальности производится в реальном времени.
[5] Преимуществом виртуальной реальности является то, что моделируемая среда может быть применена в различных областях: недвижимость, архитектура, дизайн продукта, анализ человеческого поведения, обучение пользователей, визуализация данных, телеприсутствие или любые физические явления, которые могут принести пользу или вред пользователю.
[6] Кроме того, виртуальная реальность может быть использована в дополненной реальности, например, в автомобильной среде виртуальной реальности.
[7] Существует несколько подходов получения трехмерных координат объекта в пространстве. В одном из них, предварительно устанавливают набор камер или других трехмерных датчиков, основная задача которых осуществлять снимки рабочей области, причем таким образом, что каждая точка объекта находится в поле зрения по меньшей мере двух камер или трехмерных датчиков. Таким образом, весь объект можно восстановить путем обработки набора полученных изображений. Такой подход является вычислительно неэффективным, так как подразумевает довольно затратную обработку данных съемки. Дополнительно, для получения трехмерных координат каждого нового объекта, необходимо перестраивать конфигурацию камер или трехмерных датчиков, что является существенным недостатком.
[8] Также известен подход, согласно которому предварительно выполняют съемку объекта и его фрагментов, а потом выполняют постобработку для построения одной трехмерной модели в одной глобальной системе координат.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[9] Данное техническое решение направлено на устранение недостатков, свойственных решениям, известным из уровня техники.
[10] Технической задачей, решаемой в данном техническом решении, является осуществление системы проектирования объектов в виртуальной реальности, в которых визуализируется зона взаимодействия для пользователя с возможностью подключения в режиме реального времени различных библиотек, в зависимости от области применения, а также возможностью конвертации и экспорта данных в системы автоматизированного проектирования.
[11] Техническим результатом, достигаемым при решении указанной задачи, является повышение эффективности проектирования объектов в виртуальной реальности и использования средств виртуальной реальности.
[12] Также дополнительным техническим результатом является повышение точности проектирования объектов в виртуальной реальности за счет осуществления проверки соответствия характеристик виртуального объекта характеристикам технической документации.
[13] Указанный технический результат достигается благодаря осуществлению системы проектирования объектов в среде виртуальной реальности в реальном времени, которая содержит по меньшей мере одно устройство отображения, выполненное с возможностью отображения в реальном времени по меньшей мере одного трехмерного изображения объекта; по меньшей мере одно устройство позиционирования, выполненное с возможностью измерения положения и ориентации конечностей пользователя; по меньшей мере одно устройство считывания данных, выполненное с возможностью обнаружения прикосновения к виртуальному объекту и измерения силы воздействия на него; по меньшей мере одно вычислительное устройство, выполненное с возможностью проектирования объекта в среде виртуальной реальности, причем вышеуказанное вычислительное устройство получает по меньшей мере один виртуальный объект, который отображается на устройстве отображения; затем принимает управляющие команды пользователя для по меньшей мере одного полученного виртуального объекта от вышеуказанного устройства позиционирования; после чего выполняет принятые управляющие команды над виртуальным объектом для по меньшей мере одного виртуального объекта; далее проверяет характеристики виртуального объекта на соответствие характеристикам, утвержденным в нормативной документации для данного виртуального объекта; выводят на устройство отображения сообщение о результате проверки.
[14] В некоторых вариантах осуществления технического решения устройством отображения является шлем виртуальной реальности (HMD) или многослойный дисплей для виртуальной реальности (CAVE) или очки с активным затвором в комбинации с экранным дисплеем (CRT).
[15] В некоторых вариантах осуществления технического решения устройство отображения данных включает гироскоп и/или микроакселерометр, и/или и магнитометр, и/или устройство позиционирования.
[16] В некоторых вариантах осуществления технического решения устройством позиционирования является датчик позиционирования в пространстве.
[17] В некоторых вариантах осуществления технического решения устройством считывания данных является тактильное устройство.
[18] В некоторых вариантах осуществления технического решения устройством считывания данных является джойстик или роботизированное устройство, или экзоскелет.
[19] В некоторых вариантах осуществления технического решения вычислительное устройство получает виртуальный объект из виртуального каталога или посредством формирования объекта из примитивов на устройстве отображения.
[20] В некоторых вариантах осуществления технического решения получают объект виртуальной реальности из графической библиотеки DirectX или Open GL, или 3ds Мах, или Max Cinema 4D.
[21] В некоторых вариантах осуществления технического решения управляющая команда над виртуальным объектом может генерироваться путем восприятия выражения лица пользователя и/или движения тела пользователя реального мира.
[22] В некоторых вариантах осуществления технического решения характеристики созданного виртуального объекта являются геометрическими и/или цветовыми и/или включают присвоенные атрибуты.
[23] В некоторых вариантах осуществления технического решения при отображении результата проверки характеристик выявляют отклонения от стандарта нормативного документа, выводят на устройство отображения пользователя сообщение о выявленном отклонении.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[24] На Фиг. 1 показан пример осуществления системы проектирования объектов в среде виртуальной реальности в реальном времени;
[25] На Фиг. 2 показан пример осуществления проектирования объектов в виртуальной в среде виртуальной реальности, выполняемый вычислительным устройством;
[26] На Фиг. 3 показан пример осуществления базы данных проектировщиков, поставщиков материалов и виртуальных объектов;
ПОДРОБНОЕ ОПИСАНИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[27] Ниже будут описаны понятия и определения, необходимые для подробного раскрытия осуществляемого технического решения.
[28] Техническое решение может быть реализовано в виде распределенной компьютерной системы.
[29] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).
[30] Под вычислительным устройством подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).
[31] Вычислительное устройство считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические носители (CD, DVD и т.п.).
[32] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.
[33] Виртуальная реальность - созданный техническими средствами мир (объекты и субъекты), передаваемый человеку через его ощущения: зрение, слух, обоняние, осязание и другие.
[34] Шлем виртуальной реальности (англ. Head-mounted display) - устройство, позволяющее частично погрузиться в мир виртуальной реальности, создающее зрительный и акустический эффект присутствия в заданном управляющим устройством (компьютером) пространстве.
[35] Техническая документация - набор документов, используемых при проектировании (конструировании), создании (изготовлении) и использовании (эксплуатации) каких-либо технических объектов: зданий, сооружений, промышленных товаров, программного и аппаратного обеспечения.
[36] Конструкторская документация (КД) - графические и текстовые документы, которые, в совокупности или в отдельности, определяют состав и устройство изделия и содержат необходимые данные для его разработки, изготовления, контроля, эксплуатации, ремонта и утилизации.
[37] OpenGL (Open Graphics Library) - спецификация, определяющая платформонезависимый (независимый от языка программирования) программный интерфейс для написания приложений, использующих двумерную и трехмерную компьютерную графику. Включает более 300 функций для рисования сложных трехмерных сцен из простых примитивов. Используется при создании компьютерных игр, САПР, виртуальной реальности, визуализации в научных исследованиях.
[38] Среда виртуальной реальности включает аппаратные устройства и компьютерные программы.
[39] Подробно система виртуальной реальности показана на Фиг. 1.
110
110
100
100
110
[40] В данном техническом решении для моделирования виртуальной среды используется группа датчиков, например, таких как гироскоп, микроакселерометр, магнитометр, устройство позиционирования, которые в совокупности представляют собой распределенную систему и находятся в устройстве  отображения. В некоторых вариантах осуществления устройством  отображения является шлем виртуальной реальности. Причем между датчиками или между датчиками и вычислительным устройством  возможно взаимодействие за счет использования беспроводной передачи данных, которая может осуществляться по Wi-Fi, Bluetooth, ZigBee, LTE, 4G, 5G, WiMAX не ограничиваясь. Данные, которые поступают со всех датчиков в режиме реального времени на вычислительное устройство , сопоставляют и осуществляют их верификацию. Если при верификации данных с датчиков путем их сопоставления с опытными (эталонными или эмпирическими), ошибка превышает заранее заданное допустимое значение, выполняют автоматическую калибровку всех датчиков системы в координатах реального мира, совмещая виртуальные изображения датчиков с заранее заданной некоторой базовой точкой на устройстве  отображения, координаты которой известны. Это делается для установления взаимно однозначной связи между координатами в реальном и виртуальном мирах, чтобы человек смог «взять» виртуальный предмет своей рукой или специальным устройством, а система отразила это действие в своем виртуальном пространстве. Данные в зависимости от типа датчика могут включать в себя координаты точек объектов пространства, характеристики магнитного поля, ускорение, угол ориентации, не ограничиваясь.
100
100
[41] После того, как данные с датчиков поступают на вычислительное устройство , осуществляют на нем их обработку. Например, удаляют статистические выбросы в координатах точек объектов (иными словами, осуществляют прореживание точек), или осуществляют децимацию, при которой остается каждая десятая координата точки. Данную обработку могут выполнять совместно с рекурсивным фильтром (может использоваться фильтр Чебышева, фильтр Калмана, фильтр Бесселя или фильтр Баттерворта, не ограничиваясь). Такие фильтры могут быть как аналоговыми, так и цифровыми. Для передачи данных с датчиков на вычислительное устройство  может использоваться текстовый или бинарный протокол передачи данных. В качестве бинарного протокола передачи данных может использоваться, например, NTCB, а текстового протокола - NTCT. Бинарный протокол передачи данных позволяет передать с датчиком сразу несколько координат точек, а также, например, все данные о самом датчике, например, его температуру, давление, уровень заряда, что значительно повышает скорость передачи данных.
100
[42] Затем на вычислительном устройстве  на основе набора координат точек объектов, полученных с датчиков, формируют общее облако точек, однозначно отображающее положение объектов. В некоторых вариантах осуществления формируют облако точек посредством работы 3D-сканера (например, лидара), который в автоматическом режиме измеряет большое количество точек на поверхности сканируемого объекта и формирует облако точек в виде цифрового файла данных. Облако точек в данном техническом решении представляет из себя набор вершин в трехмерной системе координат. Эти вершины, как правило, определяются координатами X, Y и Z и, как правило, предназначены для представления внешней поверхности объекта.
[43] В некоторых вариантах осуществления облако точек может конвертироваться в полигональную сетку или, например, трехмерную модель с NURBS кривыми. Существует много подходов для преобразования облака точек в трехмерные поверхности, которые могут использоваться в данном техническом решении. Некоторые подходы, такие как триангуляция Делоне, альфа-формы (англ. alpha shapes) и поворотные шары (англ. ball pivoting), строят сетку треугольников поверх существующих вершин облака точек.
100
100
100
100
[44] В некоторых вариантах, вычислительное устройство  в основном управляет всеми операциями системы, например, дисплеем, передачей данных, работой датчиков и операцией отображения на устройство отображения. Вычислительное устройство  может включать в себя один или более процессоров, реализующих инструкции для выполнения всех или части шагов из указанных способов. Кроме того, вычислительное устройство  может включать в себя один или более модулей для удобного процесса взаимодействия между устройством  и другими компонентами.
[45] Хранилище данных, на котором располагаются базы данных, описанные ниже, выполнены с возможностью хранения различных типов данных для поддержки работы системы. Примеры таких данных включают в себя инструкции из любого приложения или способа, изображения, видео, и т.д. Хранилище данных может быть реализовано в виде любого типа энергозависимого запоминающего устройства, энергонезависимого запоминающего устройства или их комбинации, например, Статического Оперативного Запоминающего Устройства (СОЗУ), Электрически Стираемого Программируемого Постоянного Запоминающего Устройства (ЭСППЗУ), Стираемого Программируемого Постоянного Запоминающего Устройства (СППЗУ), Программируемого Постоянного Запоминающего Устройства (ППЗУ), Постоянного Запоминающего Устройства (ПЗУ), магнитной памяти, флэш-памяти, магнитного или оптического диска. Также вышеупомянутое хранилище данных может включать в себя базу данных, в которой может располагаться база данных учетных записей поставщиков с базой данных предлагаемых данным поставщиков материалов и продуктов, а также включать в себя базу данных учетных записей проектировщиков с базой данных объектов виртуальной реальности. Указанные базы данных могут быть иерархическими, сетевыми и реляционными.
120
[46] Чтобы виртуальные объекты могли коррелировать с реальными, системе виртуальной реальности требуется устройство  позиционирования, которым может быть датчик позиционирования в пространстве (как показано на Фиг. 1). Для получения полных трехмерных координат (облака точек), а также определения позиции и ориентации объектов (например, руки, головы или специального устройства) используют устройства позиционирования сканируемых объектов, которые с заданной точностью осуществляют перемещение и поворот объектов в поле зрения сканирующей системы. Матрица перехода из локальной системы координат фрагмента объекта в глобальную систему координат полной модели определяется заданными перемещениями и углами поворота устройства позиционирования. В качестве устройства для осуществления позиционирования могут использоваться маркеры, ультразвуковые датчики, инфракрасные датчики, не ограничиваясь. Под маркером подразумевается активный или пассивный типовой элемент для создания меток для позиционирования. Пассивный маркер отражает свет, идущий от вспышки; активный имеет диод, который светится в ИК диапазоне
110
[47] Позиционирование может происходить следующим образом. На объекте крепится маркер. В зависимости от осуществления, он может наклеиваться прямо на руку, крепиться к предметам в руке и т.д. Неподвижный датчик, находящийся в системе виртуальной реальности, например, на устройстве  отображения, отслеживает движения маркера. Отслеживание маркера может быть электромагнитным, лазерным, оптическим или ультразвуковым.
[48] Например, при электромагнитном отслеживании маркера измеряется сила магнитного поля. Магнитное поле возникает в результате пропускания тока через электромагнитные катушки, расположенные перпендикулярно друг другу. Эти катушки должны находиться в маленьком корпусе, закрепленном на движущемся объекте, положение которого нужно отслеживать. Ток, последовательно проходящий через катушки, превращает их в электромагниты, что позволяет определить их позицию и ориентацию в пространстве. Такая система неэффективно работает вблизи любых металлических объектов и устройств, способных повлиять на электромагнитное поле.
[49] На базе этой технологии, например, существует устройство SpaceGrips, а также различные модификации виртуальных перчаток. Для их качественной работы требуется специально оборудованное помещение, но и тогда систему необходимо заново калибровать практически ежемесячно.
[50] Если оснастить системой трекинга, например, оптическими маркерами или электромагнитным датчиком, обычный джойстик или другое устройство взаимодействия с компьютером, то получится устройство управления виртуальной реальности.
[51] Маркер может быть активным и пассивным. Активный маркер имеет встроенный излучатель (соответственно, он либо имеет встроенный источник питания, либо привязан проводом к основному блоку). Пассивный маркер отражает видимый или инфракрасный свет.
120
[52] Как правило, устройство позиционирования используется для двух целей: для представления конечностей тела в виртуальном пространстве и для обновления отображения изображения. Положение и ориентация маркера на конечности используются устройством  позиционирования для обновления положения объекта в виртуальной реальности и его отображения на устройстве отображения.
120
[53] Устройством  отображения могут быть очки или шлем виртуальной реальности, который имеет дисплей для отображения трехмерных объектов виртуальной реальности. Существует несколько возможных устройств отображения, которые включают шлем виртуальной реальности (HMD), многослойные дисплеи для виртуальной реальности (CAVE), а также использование очков с активным затвором в комбинации с экранным дисплеем (CRT).
[54] Многослойные дисплеи для виртуальной реальности могут быть полезны тем, что с ними может работать несколько пользователей в виртуальной реальности. Например, можно с виртуальным каталогом объектов при проектировании сразу работать нескольким пользователям. Однако, у таких устройств высокая стоимость, большая потребность для размещения в пространстве и довольно низкое разрешение изображений.
[55] Очки с активным затвором в комбинации с экранным дисплеем отображают пользователю трехмерное изображение посредством использования последовательного затвора каждого глаза на двух изображениях, отображаемых на экранном дисплее. К недостаткам такого подхода можно отнести то, что разрешение изображений ограничено аппаратными средствами монитора и изображения ограничены относительно небольшим полем зрения пользователя, что приводит к низкому эффекту погружения в «виртуальную» реальность.
[56] Шлем виртуальной реальности носится на голове пользователя, который обеспечивает высокую степень «погружения» в виртуальную реальность за счет блокирования внешних зрительных раздражителей. Шлем виртуальной реальности включает в себя два миниатюрных экрана и оптическую систему, которая передает изображения из экрана в глаза, тем самым предоставляя стереоизображение виртуального мира. Устройство позиционирования, которое находится в шлеме виртуальной реальности, непрерывно в режиме реального времени измеряет положение и ориентацию головы пользователя и позволяет вычислительному устройству генерировать изображения для настройки представления сцены к текущему виду. Пользователь может просматривать и проходить через среду виртуальной реальности.
130
130
130
[57] В качестве устройства  считывания данных может использоваться тактильное устройство, которое обеспечивает физическое ощущение прикосновения и размещается в руке пользователя. В некоторых вариантах осуществления тактильным устройством может быть специальная перчатка с тактильной отдачей и ощущением тепла. В данном техническом решении могут применяться, не ограничиваясь, разработки Control VR, GloveOne от NeuroDigital, PowerClaw, Manus VR, Senso и т.д. Также в качестве тактильного устройства может применяться устройство из пяти наконечников, соединенных с робо-рукой. Некоторые тактильные устройства обеспечивают обратную связь при усилении давления на палец, голову, руку или другую конечность. Такие устройства позволяет пользователю ощущать очень реалистичную тактильную обратную связь в сочетании с интерфейсом виртуальной реальности. В задаче проектирования виртуального объекта, тактильные устройства  позволяют создать у пользователя иллюзию, что он формирует компонент объекта или сам объект из некоторого вещественного материала, например, текстуру кирпича. Обратная связь по усилению может обеспечиваться устройством  считывания данных. Такими устройствами могут являться, но не ограничиваясь, джойстики, роботизированные устройства, экзоскелеты. Например, преимущество экзоскелетов в том, что они достаточно точно моделируют анатомию руки человека и могут быть использованы для позиционирования положения руки в виртуальной реальности.
130
[58] Цель использования устройства  считывания данных в данном техническом решении следующие: а) имитация выбора и захватывания виртуального объекта из виртуального каталога; б) имитация операций редактирования над виртуальным объектом.
[59] В некоторых вариантах осуществления вычислительное устройство 100, выполненное с возможностью проектирования объекта в среде виртуальной реальности, осуществляет способ проектирования объектов в виртуальной реальности, показанный на Фиг. 2.
Шаг 201
110
[60] : получает, по меньшей мере, один виртуальный объект, который отображается на устройстве  отображения;
[61] В некоторых вариантах осуществления существует виртуальный каталог или другими словами база данных виртуальных объектов, которая обеспечивает многопользовательскую сетевую среду. Данный виртуальный каталог в некоторых вариантах может храниться в разных местах, распределенных по всей сети Интернет, например, в виде распределенной базы данных. Также пользователь из виртуального каталога может загружать не сам виртуальный объект, а ссылку на данный виртуальный объект и переходить по данной ссылке при наличии соединения с сетью для работы с виртуальным объектом.
[62] На данном шаге могут либо получать виртуальный объект из виртуального каталога, либо формировать из имеющихся примитивов.
[63] В простейшем случае объекты формируются из примитивов (кубов, сфер, конусов, цилиндров, плоскостей и т.д.).
[64] В некоторых вариантах осуществления объекты формируются на основе сплайнов (линий, окружностей, многоугольников и др.). Например, с помощью сплайнов можно создать объект вращения или loft - объект (результат перемещения сплайна вдоль заданного пути). Более сложные объекты можно создавать с помощью кусков поверхности Безье. Кусок поверхности Безье состоит из двух частей: поверхности и решетки деформации. Решетка деформации, в свою очередь, является совокупностью связанных между собой управляющих точек, окружающих поверхность куска Безье. Перемещение одной или нескольких управляющих точек решетки деформации влияет на форму участка поверхности. При деформации куска Безье получается довольно гладкая поверхность. Однако это всего лишь приближенная аппроксимация исходного объекта. Метод на основе неоднородных рациональных В-сплайнов (Non-Uniform Rational BSplines - NURBS) более точно воспроизводит форму объектов. В этом методе, как и в случае кусков Безье, для управления кривизной поверхности используются управляющие точки. Однако метод NURBS обладает большими возможностями и потому более сложен в использовании.
[65] Предварительно формируют объект, например, строительный из примитивов на устройстве отображения в системе виртуальной реальности.
[66] Для формирования объектов виртуальной реальности могут использовать язык моделирования виртуальной реальности VRML или X3D. Спецификация VRML принята ISO (Международной организацией по стандартизации). Наличие международного стандарта гарантирует высокое качество и стабильность спецификации. Язык X3D разработан Web3D-консорциумом и является расширением VRML. К наиболее важным расширениям относятся анимация персонажей, улучшенная система освещения и навигации, морфинг, поддержка потоковых типов данных, совместимость с XML и др. X3D полностью совместим с VRML. Спецификация X3D - стандарт ISO. На языке VRML или X3D виртуальный мир представляется в виде ациклического графа сцены, вершинами которого являются узлы. Узлы содержат поля, в которых хранится информация о геометрических свойствах модели, внешнем виде объектов (стандартных материалах и текстурах), параметрах освещения, камерах, звуках, видео, а также ссылки на другие объекты, включая VRML или X3D документы. Для создания VRML или X3D-файла, используют редактор для написания VRML/X3D-кода (VRMLPad, X3D-Edit). Визуализация описания графа сцены выполняется браузером. Среди наиболее популярных браузеров - Cortona3D Viewer фирмы Parallel Graphics, BS Contact фирмы BitManagement и др.
[67] В некоторых других вариантах осуществления объект загружают из графической библиотеки, например, такой как DirectX, Open GL, 3ds Max, Max Cinema 4D.
[68] У объектов и их частей (граней, точек, линий), из которых они формируются, могут создаваться взаимосвязи. Взаимосвязи формируются по осям х, у и z. Взаимосвязи, локальные для плоскости, могут быть горизонтальными, вертикальными и по нормали.
[69] Ниже в таблице показаны возможные виды взаимосвязей и их параметры.
[70] В некоторых вариантах осуществления при проектировании объектов виртуальной реальности дополнительно могут использовать графическую библиотеку OpenGL. Эта библиотека представляет собой программно-независимый интерфейс к графическому оборудованию, т.е. может использоваться на различных аппаратных платформах. Команды OpenGL позволяют: - создавать объекты из геометрических примитивов (точек, линий, многоугольников); - размещать объекты в трехмерном пространстве и выбирать способ их проецирования; - устанавливать параметры источников света и камер; - накладывать различные материалы на объекты (в том числе текстуры); - выполнять визуализацию сцены и создавать анимацию. Команды OpenGL реализуют все этапы создания объектов виртуальной реальности. Однако библиотека OpenGL предоставляет пользователю мощный, но низкоуровневый набор команд, владение которым требует определенной программистской квалификации. Совместное же использование языков программирования высокого уровня и библиотеки OpenGL позволяет создавать высококачественные изображения и анимацию любой сложности в различных предметных областях.
[71] Созданному объекту (или его части, группе объектов) на этапе проектирования присваиваются атрибуты. При создании объектов не всегда возможно отобразить все существующие характеристики объектов на чертеже, например, стоимость, производителя, дату приобретения и т.д. Эти данные впоследствии могут быть извлечены и использованы в программах для работы с базами данных. При назначении атрибутов предварительно выбирают объект или его часть, которой присвоится атрибут. Необходимые атрибуты можно выбрать из списка возможных атрибутов, в котором отображаются также и параметры атрибутов. Затем осуществляется операция задания атрибутов, позволяющая установить определенные значения атрибута. Атрибут может быть скрытым, что означает то, что атрибут не отображается на объекте виртуальной реальности. Также атрибут может быть постоянным, т.е. автоматически принимать заданное заранее значение. Атрибут может быть контролируемым, когда при установке атрибута появляется дополнительная подсказка на устройстве отображения с просьбой проверить установленное значение. Атрибут может быть фиксированным, что позволяет блокировать положение атрибута относительно объекта, причем если атрибут является фиксированным, его невозможно переместить от группы объектов или отдельно от объекта, если он состоит из частей. Редактирование атрибутов возможно, как до создания объекта, т.е. в процессе, так и после создания объекта. Под редактированием атрибута понимается изменение вида атрибута, названия, видимости и т.д.
Шаг 202
120
[72] : принимает управляющие команды пользователя для, по меньшей мере, одного полученного виртуального объекта от вышеуказанного устройства  позиционирования;
[73] В экземпляре виртуального пространства пользователи могут пересекать виртуальное пространство, манипулировать виртуальными объектами в виртуальном пространстве, выполнять работу, осуществлять контроль и/или осуществлять какие-либо другие типы взаимодействий с виртуальным пространством. Пользователи могут управлять одним или несколькими из доступных пользовательских управляемых элементов в виртуальном пространстве. Контроль может осуществляться посредством управляющих команд, вводимых пользователями через устройство позиционирования или считывания данных. Пользователи могут взаимодействовать друг с другом через канал связи в пределах обмена в виртуальном пространстве, например, посредством сообщений. Такие сообщения могут включать текстовый чат, мгновенные сообщения, личные сообщения, голосовую связь и/или другие коммуникации. Сообщения могут быть получены и введены пользователями посредством устройства отображения.
100
[74] Управляющая команда над виртуальным объектом может генерироваться путем восприятия выражения лица пользователя и/или движения тела пользователя реального мира. Восприятие осуществляется посредством системы отслеживания движений головы, устройства ввода информации для персонального компьютера, преобразующее движения головы пользователя в координаты. В качестве данной системы могут использоваться TrackIR, RUCAP UM-5, A.R.T и т.д., не ограничиваясь. Управляющие команды после генерации передаются на вычислительное устройство  для выполнения.
120
[75] Управляющая команда в основном направлена на выполнения сжатия объекта, удаления фрагмента, уменьшения или увеличения объекта, т.е. выполнения преобразований, известных из уровня техники. Для редактирования объекта или его фрагмента выбирается предварительно область, где находится объект, а затем инструмент или действие, которое может быть совершено с редактируемой областью. Область и действие выбирается посредством устройства считывания данных или устройства  позиционирования, например, находящегося на руке пользователя. Так как к одной и той же области или объекту и его фрагменту может иметь доступ несколько пользователей для редактирования, действует принцип блокировки: если один пользователь выбрал область, остальным доступ на редактирование запрещен.
Шаг 203
[76] : выполняют принятые управляющие команды над виртуальным объектом для по меньшей мере одного виртуального объекта;
100
100
100
100
110
[77] После получения управляющих команд на вычислительном устройстве  для внесений изменений в объект или его фрагмент, данные с датчиков системы автоматически синхронизируется с вычислительным устройством , причем если координаты точек объекта изменяются, на вычислительном устройстве  происходит обновление данных в режиме реального времени, а старые данные записываются в буфер данных. Данные в буфере данных могут храниться до выполнения определенного события, например, когда пользователь принял изменения в состоянии объекта и подтвердил завершение работы с ним. После осуществления редактирования объектов, выбирают формат файла вывода или программную среду, в которой будет осуществляться дальнейшее взаимодействие с системой, и затем помещают объект обратно в виртуальный каталог объектов посредством применения управляющих команд, описанных выше. Доступ к измененному объекту в виртуальном каталоге можно получить на вычислительном устройстве  или устройстве  отображения при работе в системе автоматизированного проектирования.
Шаг 204
[78] : проверяет характеристики виртуального объекта на соответствие характеристикам, утвержденным в нормативной документации для данного виртуального объекта;
[79] Предварительно на этапе проектирования исходя из назначения объекта либо сборки, как объекту, так и группе объектов, объединенных в сборку, может быть поставлена в соответчике нормативная документация (ГОСТы, СНиПы, которым он должен соответствовать). Это могут быть общие технические нормативные документы, нормативные документы по строительству, по конструкциям, по надзору в области строительства, отраслевые и ведомственные нормативно-методические документы, а также директивные письма, положения., рекомендации. При этом возможно присвоение связанных нормативных документов как при проектировании «снизу» (от объекта - к сборке), так и при проектировании «сверху» (от сборки к объекту). При этом, набор типовых документов может выделять основные принципы, по которым выбирается соответствующий типовой нормативный документ сборки при проектировании «снизу». При проектировании «сверху и разложении «сборки» на ключевые объекты, исходя из нормативных требований к сборке, выбираются из базы данных нормативные документы, и требования, которым должны соответствовать объекты, составляющие сборку.
[80] На данном шаге осуществляется проверяет характеристики виртуального объекта на соответствие характеристикам, утвержденным в нормативной документации для данного виртуального объекта. Характеристики созданного виртуального объекта могут быть геометрическими, цветовыми, а также включать присвоенные атрибуты.
Шаг 204
[81] : выводит на устройство отображения сообщение о результате проверки.
110
[82] Если в рамках проверки характеристик, которая осуществляется посредством сравнения характеристик, выявляют какие-либо отклонения от стандарта нормативного документа, выводят на устройство  отображения пользователя сообщение о всех выявленных отклонениях.
[83] В некоторых вариантах реализации помимо вывода сообщения об отклонении характеристики от стандарта нормативной документации, отображают допустимые характеристики для проектирования.
[84] В некоторых вариантах осуществления преобразовывают созданный виртуальный объект после проверки на соответствие нормативной документации в конструкторскую документацию (сборочный чертеж, производственный эскиз, смета, спецификация, техническое заключение или заданный пользователем формат выходных данных, а также дополнительно текстовые документы по чертежу).
[85] После экспорта в конструкторскую документацию получают выходной файл с соответствующей информацией, атрибутами и данными по нормативным документам), после чего есть возможность у пользователя редактировать или нет полученную документацию. В случае отказа от редактирования файл сохраняется. В случае выбора опции редактировании созданного файла, появляется дополнительный запрос - на каком интерфейсе пользователь хочет продолжить редактирование - вычислительного устройства или в режиме виртуальной реальности на устройстве отображения. После этого осуществляется редактирование файла, сохраненные изменения записываются в атрибуты виртуального объекта или сборки.
[86] После выбора редактирования готового файла, пользователь может принять либо сохранить изменения.
[87] После этого техническая документация утверждается и может быть изменена только с присвоением последующего идентификационного внутреннего номера (версии).
[88] Пользователи, которые имеет доступ к виртуальному каталогу объектов, в некоторых вариантах осуществления могут являться не только проектировщиками, но и производителями материалов и комплектующих объектов, т.е. поставщиками. Например, если объект является строительным, материалами могут быть древесина, пенопласт, металлочерепица и т.д., а комплектующими, например, болты, шифер, доски и т.д. Если, например, объект является строительным, на основе физических свойств материалов объекта и действующих стандартов, осуществляют мультифизическое компьютерное моделирование объекта или нескольких различных физико-химических свойств. Это может быть физико-химическая гидродинамика, магнитогидродинамика, электрокинетическое течение, многофазное течение, двойная диффузия и т.д. Зная первоначальные параметры модели и распределение тепла и энергии в объекте, можно автоматически рассчитать наиболее оптимальные материалы для объекта, подобрать поставщика с учетом подобранных материалов и составляющих. В случае, если существует альтернатива подобранным характеристикам, может быть также подобрано аналогичное решение.
301
302
303
304
305
[89] У каждого пользователя дополнительно существует система интерфейса, которая выполнена в сочетании с базой  данных, показанной на Фиг. 3, которая включает в себя базу  данных учетных записей поставщиков с базой  данных предлагаемых данным поставщиков материалов и продуктов, и также включает в себя базу данных  учетных записей проектировщиков с индексированной базой  данных объектов виртуальной реальности.
305
301
[90] У поставщика есть доступ к базе  данных объектов виртуальной реальности через систему пользовательского интерфейса. Поставщик в свою очередь связывает изображения продуктов и материалов, а также соответствующую информацию о стоимости продуктов и материалов в виде одной или нескольких записей данных элементов со своей учетной записью поставщика в системе базы  данных.
303
[91] У проектировщика есть доступ к базе  данных продуктов и материалов через систему пользовательского интерфейса.
[92] В некоторых вариантах осуществления система пользовательского интерфейса включает в себя веб-совместимый интерфейс между удаленным компьютером и, по меньшей мере, одним процессором. В одном варианте осуществления система пользовательского интерфейса включает в себя мобильное вычислительное устройство. Мобильное вычислительное устройство подключается к сети через беспроводное соединение. Также мобильное вычислительное устройство может включать в себя сенсорный экран, который включает в себя дисплей и пользовательский входной интерфейс. Система пользовательского интерфейса может включать в себя, например, приложение, которое активируется пользователем с помощью сенсорной пиктограммы, представленной на сенсорном экране.
[93] Среда виртуальной реальности также может быть адаптирована к 3D среде просмотра виртуальной реальности с помощью проекционных 3D средств таким образом, что пользователь может погрузить в 3D ландшафт, созданный для более полной моделируемой 3D реальности. Также предполагается, что 3D-изображение в виртуальной среде может содержать комбинированное изображение нескольких виртуальных объектов.
[94] В данном техническом решении подразумевается, что после того как объект виртуальной реальности спроектирован, к нему имеет доступ набор поставщиков, которые могут предложить для приобретения различные материалы и продукты для спроектированного объекта виртуальной реальности.
[95] В некоторых вариантах осуществления предполагается, что доступ к одному объекту виртуальной реальности могут получить одновременно несколько поставщиков материалов и продуктов. Проектировщик в зависимости от предложений может выбрать наиболее подходящего поставщика, например, по более выгодной цене, быстрой доставке или указать дополнительные требования к поставщику.