Изобретение относится к сфере компьютерных технологий и может быть использовано для создания у наблюдателя эффекта погружения в виртуальное трехмерное пространство, наблюдаемое на экране монитора, дисплея или иных устройствах отображения информации.
Для многих компьютерных тренажеров и игровых программ требуется высокое качество симулированного заэкранного пространства, называемого виртуальным трехмерным пространством. Чем ближе к реальности воспроизводится виртуальный мир, тем легче с тренажера перейти на реальную технику при подготовке, например, космонавтов, нейрохирургов и других специалистов, которые ранее обучались на макетах. Спортсмены, архитекторы и любители трехмерных компьютерных игр тоже хотели бы получить средство высококачественной визуализации тех заэкранных объектов, с которыми им приходится иметь дело.
Известны различные способы повышения достоверности трехмерных изображений, в том числе основанные на эффекте стереоскопического зрения со специальными очками (см. патенты US №5,002,364 [1] и RU 2152066 [2]) или за счет особой конструкции экрана (см. патенты US №4,649,425 [3], RU №2221350 [4] и публикацию РСТ WO 9515662 [5]). Некоторые решения позволяли видеть виртуальный объект объемным, создавая впечатление выдвижения объекта из виртуального пространства в реальное пространство (см. патенты RU №2237283 [6], JP №11-250285 [7], US 36,088,035 [8]). Несмотря на сложность применяемых устройств, из виртуального пространства удавалось выделить лишь отдельные объекты, что не позволяло добиться реалистичного воспроизведения заэкранного пространства как из-за отсутствия глубины или перспективы пространства, так и в связи с ограниченностью поля зрения. Для тренажеров эти недостатки являются весьма существенными.
Несколько более удачным является решение, предусматривающее использование специального шлема, позволяющего не только подавать на каждый глаз половину стереоскопического изображения, но и осуществлять смену видимого изображения виртуального пространства при повороте шлема (см. патенты RU №2106695 [9], RU 2128860 [10]). Для расширения возможностей наблюдателя были предложены специальные капсулы или оболочки, в которые помещался наблюдатель, окруженный дисплеями, создающими эффект погружения в виртуальное пространство, при этом осуществляется непрерывное преобразование виртуального пространства в соответствии с реальными физическими движениями руки, ноги, головы, туловища и глаз наблюдателя. Такие решения существенно повышают реалистичность контакта наблюдателя с виртуальным пространством, однако сложность установок, реализующих эти способы, весьма ограничивает сферу их применения.
Наиболее близким к заявляемому изобретению является решение, описанное в опубликованной заявке на патент US №2004/0,075,735 [11]. В источнике [11] предлагается способ установления связи между наблюдателем, находящимся в реальном пространстве, и объектами виртуального пространства за счет определения положения наблюдателя с помощью комплекта датчиков. В зависимости от положения наблюдателя рассчитывается его угол зрения, и изображения объектов на дисплее меняются с учетом перспективы (глубины) и взаимного расположения объектов. Основной недостаток этого решения заключается в том, что он исключает возможность изменения пространственного положения дисплея без изменения положений объектов виртуального пространства. Данное ограничение имеет принципиальное значение, например, для пользователей мобильными устройствами, дисплеи которых могут изменять свое положение по воле владельца. Переход от системы «объект-наблюдатель» к системе «объект-дисплей-наблюдатель», где каждый элемент обладает собственной свободой перемещения, принципиальным образом изменяет восприятие трехмерного пространства и обеспечивает наиболее яркое проявление эффекта погружения в виртуальное пространство.
Задачей, на решение которой направлено заявляемое изобретение, является разработка такого способа визуализации виртуальных трехмерных объектов, который сочетал бы в себе эффект погружения в виртуальное пространство и простоту реализации, обеспечивающую возможность широкого применения нового способа.
Технический результат состоит в возможности расширения обзора виртуального пространства и обусловлен тем, что в реальном пространстве формируют базовую систему координат, которую распространяют также на виртуальное, т.е. заэкранное, пространство, в котором осуществляют позиционирование совокупности виртуальных трехмерных объектов в базовой системе координат, определяют точки наблюдения пользователем совокупности виртуальных трехмерных объектов в базовой системе координат, распознают положение устройств отображения, т.е. дисплеев или экранов, в базовой системе координат, определяют отображаемые данные для совокупности объектов, исходя из информации о позиционировании каждого из объектов, положении точки наблюдения и положении устройств отображения, осуществляют отображение совокупности объектов на устройствах отображения, исходя из отображаемых данных.
В отличие от упомянутых выше аналогов и прототипа, где по умолчанию используется система координат, привязанная к плоскости, т.е. рабочей зоне, дисплея, в заявляемом решении трехмерную базовую систему координат создают в реальном пространстве, например, с помощью системы, состоящей, как минимум, из трех приемопередающих устройств (ППУ) с заранее заданным их взаимным расположением и заранее заданным пространственным положением осей базовой системы координат относительно указанных ППУ.
При этом каждое ППУ служит реперной точкой для соответствующей оси координат, которая является воображаемой и проходит как через реальное, так и виртуальное, т.е. заэкранное, пространство. Совокупность виртуальных объектов, включающая оцифрованные изображения предметов и параметры окружающей их среды, в том числе цифровые модели трехмерных объектов, освещенность, атмосферные особенности и т.п., программно закрепляют, т.е. позиционируют, в созданной базовой системе координат, что позволяет наблюдателю, находящемуся в той же системе координат, наблюдать совокупность трехмерных объектов и окружающего их пространства с разных ракурсов, т.е. при смещении точек наблюдения. Такие точки наблюдения и видимое из них виртуальное пространство зависят от взаимного расположения в базовой системе координат наблюдателя, дисплея и совокупности трехмерных виртуальных объектов, поэтому необходимо обеспечить автоматическое распознавание положения этих трех элементов в базовой системе координат. При этом очевидно, что существенную роль в визуализации виртуального пространства играет положение точки наблюдения, которая может произвольно меняться, например, при повороте головы наблюдателя. Эта проблема в наиболее простом варианте решается за счет применения системы локации с использованием активных или пассивных средств, например, путем размещения группы базовых ППУ в пределах прямой видимости от наблюдателя и дисплея. Такая система позволяет сформировать гибкую связь между координатами точки наблюдения и положением устройства отображения, т.е. дисплея, который тоже может изменять свое положение, позволяя наблюдать панораму виртуального пространства. В более сложном случае в систему может входить несколько дисплеев, позволяющих наблюдателю обозревать разные секторы пространства.
Сущность заявляемого способа поясняется с привлечением графических материалов, приведенных на Фиг.1-11.
Фиг.1 представлена общая схема способа и системы визуализации трехмерных объектов виртуального пространства,
- на Фиг.2 представлена схема одного из возможных вариантов локации положения одного приемопередающего устройства,
- на Фиг.3 представлена схема последовательной локации положения множества приемопередающих устройств,
- на Фиг.4 представлена схема задания положения точки наблюдения относительно приемопередающего устройства, закрепленного на голове пользователя,
- на Фиг.5 и 6 представлен процесс наблюдения эффекта трехмерного виртуального пространства, возникающий при перемещении мобильного устройства отображения,
- на Фиг.7 и 8 представлен процесс наблюдения эффекта трехмерного виртуального пространства, возникающий при перемещении пользователя,
- на Фиг.9 и 10 представлен процесс наблюдения эффекта трехмерного виртуального пространства, возникающий при повороте и вращении мобильного средства отображения, а также при удалении наблюдателя и мобильного средства отображения от базового устройства и связанных с ним трехмерных виртуальных объектов,
- на Фиг.11 приведена блок-схема алгоритма размещения в реальном пространстве и наблюдения виртуальных трехмерных объектов.
Система визуализации трехмерных объектов виртуального пространства (см. Фиг.1) предназначена для применения пользователем 10 в качестве игрового устройства или тренажера и включает в себя приемопередающее устройство (ППУ) 11, закрепляемое на голове пользователя 10, устройство 20 отображения с группой закрепленных на нем приемопередающих устройств 21, виртуальное пространство 30 с трехмерными виртуальными объектами (ТВО) 31, базовое устройство 40 с базовой группой 41 приемопередающих устройств и блоком 42 первичной обработки данных, электронно-вычислительное устройство (ЭВУ) 50 с блоком 51 процессоров и блоком 52 памяти.
Базовая группа 41 ППУ включает в себя не менее трех базовых 111 ГУ 43, пространственное положение которых однозначно связано с базовой системой 44 координат (БСК). Базовую группу 41 ППУ размещают в реальном пространстве, формируя, таким образом, базовую систему 44 координат для заданной области реального пространства.
Виртуальное пространство 30 с находящимися в нем ТВО 31 является набором заранее созданных данных изображения трехмерных виртуальных объектов, размещенных в блоке 52 памяти ЭВУ. Размещение ТВО 31 в реальном пространстве осуществляют путем задания их координат 32 относительно базовой системы 44 координат, размещенной в реальном пространстве. Координаты ТВО 32 также размещают в блоке 52 памяти ЭВУ.
Посредством локации сигналов 13 и 22, излучаемых ППУ 11 пользователя 10 и ППУ 21 устройства 20 отображения, базовое устройство 40 определяет координаты источников этих сигналов относительно БСК и посредством канала 45 передачи данных передает их для последующей обработки в ЭВУ 50. Первичная обработка данных локации осуществляется, как правило, в блоке 42 первичной обработки данных путем преобразования измеренных расстояний от ППУ 11 пользователя и ППУ 21 устройства отображения до каждого базового ППУ 43 в координаты соответствующих ППУ относительно БСК.
Используя заранее заданные параметры смещения точки наблюдения (на схеме не показаны) ЭВУ 50 преобразует координаты ППУ 11 пользователя в координаты точки 12 наблюдения относительно БСК. Один из возможных способов задания параметров указанного смещения показан на Фиг.4 и будет описан ниже.
По аналогии, используя заранее заданные параметры смещения рабочей зоны устройства отображения (на схеме не показаны) ЭВУ 50 преобразует координаты ППУ 21 устройства 20 отображения в пространственные координаты рабочей зоны, например плоскости экрана, устройства отображения относительно БСК. Способы задания параметров указанного смещения аналогичны способам, применяемым для задания параметров смещения точки наблюдения относительно ППУ пользователя.
Блок 51 процессоров обрабатывает трехмерные координаты точки 12 наблюдения и рабочей зоны устройства 20 отображения относительно БСК совместно с трехмерными координатами и трехмерной моделью ТВО 31, загружаемыми из блока 52 памяти. По результатам обработки блок 51 процессоров формирует набор отображаемых данных объектов для устройства 20 отображения как совокупность отображаемых точек ТВО 31, видимых из точки 12 наблюдения. Каждой видимой точке ТВО 31 соответствует точка на плоскости устройства отображения, находящаяся на прямой 33, соединяющей точку 12 наблюдения и соответствующую видимую точку ТВО 31. Набор отображаемых данных ЭВУ 50 передает на устройство 20 отображения через канал 23 передачи данных для формирования изображения 24.
Определение положения ППУ 11 пользователя в пространстве осуществляют преимущественно с помощью локации (см. Фиг.2). На представленной схеме базовая группа ППУ включает в себя три элемента - ППУ 431, ППУ 432 и ППУ 433, положение которых однозначным образом задает положение базовой системы 44 координат. Начало базовой системы 44 координат целесообразно совмещать с одним из базовых ППУ 431, а два других ППУ 432 и ППУ 433 целесообразно располагать по осям базовой системы 44 координат на фиксированном расстоянии от ППУ 431. Такое положение базовых ППУ позволяет упростить формулы преобразования определенных в процессе локации дальностей D1, D2 и D3 (расстояния от ППУ 11 до ППУ 431, ППУ 432 и ППУ 433) в трехмерные координаты X, Y и Z положения ППУ 11 относительно базовой системы 44 координат при фиксированных Lx и Ly, равных расстоянию от ППУ 431 до ППУ 433 и от ППУ 431 до ППУ 432 соответственно.
Определение положения каждого ППУ 21 устройства отображения (по меньшей мере, трех ППУ для определения положения плоскости устройства отображения) осуществляют аналогичным образом.
Для обеспечения одновременной локации положения нескольких ППУ (см. Фиг.3), функционирующих в диапазоне ультразвука, целесообразно применять метод последовательной локации положения указанных ППУ.
В таком случае в состав базовой группы 41 ППУ наряду с базовыми ППУ 43 может быть включено устройство 46 генерации последовательных синхроимпульсов, формирующее последовательность 47 синхроимпульсов, управляющих очередностью генерации сигналов ППУ 11 пользователя и ППУ 21 устройства отображения. В таком случае последние включают в себя приемники 111 и 211 синхроимпульсов и передатчики 112, 211, 213 и 214 основного сигнала. На предложенной схеме один приемник 211 синхроимпульсов управляет тремя передатчиками 212, 213 и 214 основного сигнала, однако допустимо оснащение каждого передатчика собственным приемником синхроимпульсов.
После определения положения ППУ пользователя необходимо определить положение точки наблюдения (см. Фиг.4). Для этого используют данные о смещении 15 точки 12 наблюдения относительно ППУ 11 пользователя. Данные о смещении 15, как правило, выражают в виде набора смещений по каждой из осей базовой системы 44 координат, задаваемой базовым устройством 40. На схеме показаны смещения 15 по оси Z, затем по оси Х и по оси Y. Задание необходимых данных о смещении 15 осуществляют, например, силами пользователя 10 с использованием тестового ТВО (на схеме не показан) после формирования базовой системы 44 координат в реальном пространстве и размещения ППУ 11 на голове пользователя 10 с помощью, например, головного убора 14 или его аналога. Для более точного определения положения точки наблюдения целесообразно использовать два и более ППУ 11, размещаемых на голове пользователя 10.
Процесс наблюдения эффекта трехмерного виртуального пространства предлагаемым способом рассмотрим для случая перемещения мобильного устройства отображения из начального положения (см. Фиг.5) в конечное положение (см. Фиг.6). В данном случае зафиксированным является положение базового устройства 40, базовой системы 44 координат, виртуального пространства 30 с размещенным в нем ТВО 31, а также положение пользователя 10. Положение устройства 20 отображения изменяется, что отражено на схемах. Как показано на Фиг.5, пользователь 10 не видит ТВО 31, поскольку между ними нет устройства 20 отображения, которое смещено вправо. На Фиг.6 показано, что при наличии устройства 20 отображения между пользователем 10 и ТВО 31, на дисплее устройства 20 отображения отображается видимая пользователем 10 часть 312 ТВО, при этом другая часть 311 этого ТВО остается за пределами угла зрения пользователя, ограниченного периметром дисплея устройства 20 отображения, и поэтому остается невидимой для пользователя 10.
Также рассмотрим процесс наблюдения эффекта трехмерного виртуального пространства предлагаемым способом для случая перемещения пользователя из начального положения (см. Фиг.7) в конечное положение (см. Фиг.8). В данном случае зафиксированным является положение базового устройства 40, базовой системы 44 координат, виртуального пространства 30 с размещенным в нем ТВО 31, а также положение устройства 20 отображения. Положение пользователя 10 изменяется, что отражено на схемах. Как показано на Фиг.7, пользователь 10 наблюдает на устройстве 20 отображения изображение ТВО 31, при этом он находится справа от базового устройства 40 и видит изображение фронтальной и правой стороны ТВО 31. На Фиг.8 показано, что при помещении пользователя 10 влево от базового устройства 40, на устройство 20 отображения выводится изображение фронтальной и левой стороны ТВО 31. При этом при перемещении из начального в конечное положение пользователь 10 наблюдает на устройстве 20 отображения постепенное изменение изображения ТВО 31, соответствующее наблюдению реального трехмерного объекта через окно.
Рассмотрим процесс наблюдения эффекта трехмерного виртуального пространства для случая поворота устройства отображения в одной плоскости (см. Фиг.9). В таком случае положение базового устройства 40, базовой системы 44 координат, виртуального пространства 30, ТВО 31, пользователя 10 остается неизменным, и пользователь 10 наблюдает нормальное положение изображения ТВО 31 на устройстве 20 отображения.
Наконец, рассмотрим процесс наблюдения эффекта трехмерного виртуального пространства для случая вращения устройства отображения вокруг продольной оси с одновременным удалением пользователя и устройства отображения от базового устройства (см. Фиг.10). В таком случае неизменным является только положение базового устройства 40, базовой системы 44 координат, виртуального пространства 30, и ТВО 31. Пользователь 10 наблюдает нормальное положение изображения ТВО 31, однако размер данного изображения уменьшен обратно пропорционально расстоянию между ТВО 31 и пользователем 10. При этом вращение устройства 20 отображения вокруг продольной оси не приводит к изменению наблюдаемого пользователем 10 изображения ТВО 31 за счет искажения, в частности растяжения, нормального изображения на устройстве 20 отображения в направлении, перпендикулярном оси вращения устройства 20 отображения.
Последовательность операций, выполняемых для наблюдения эффекта трехмерного виртуального пространства, приведена в виде алгоритма (см. Фиг.11). Шаги с 600 по 605 обеспечивают размещение, т.е. установку, трехмерных виртуальных объектов в реальном пространстве, а шаги с 610 по 616, выполняемые в цикле, обеспечивают возможность наблюдения размещенных виртуальных трехмерных объектов в реальном масштабе времени.
Для размещения ТВО в реальном пространстве: создают ТВО в виде набора данных, размещаемого в памяти ЭВУ (шаг 601), привязывают ТВО к виртуальной, произвольно заданной системе координат ЭВУ (шаг 602), размещают базовое устройство и связанную с ним базовую систему координат в реальном пространстве (шаг 603), совмещают виртуальную систему координат с базовой системой координат, используя операции смещения, поворота и масштабирования (шаг 604). В результате выполнения указанных действий трехмерные виртуальные объекты, связанные с виртуальной системой координат, размещены в реальном пространстве и доступны для наблюдения пользователю с помощью приемлемого устройства отображения.
Для наблюдения ТВО в цикле: задают текущее положение ТВО для случая динамически изменяемого в процессе наблюдения положения ТВО (шаг 611), определяют текущее положение точки наблюдения через определение положения ППУ пользователя и учета смещения точки наблюдения относительно данного ППУ (шаг 612), определяют текущее положение рабочей зоны устройства отображения через определение положения ППУ устройства отображения и учета смещения рабочей зоны устройства отображения относительно данных ППУ (шаг 613), вычисляют отображаемые данные для текущего положения пользователя, устройства отображения и ТВО (шаг 614), выводят отображаемые данные на устройство отображения (шаг 615). В результате пользователь в реальном масштабе времени наблюдает на устройстве отображения трехмерные виртуальные объекты, размещенные в реальном пространстве.
Обобщая вышеизложенное описание способа визуализации виртуальных трехмерных объектов и набора устройств, используемых для реализации способа, можно заявить, что, по существу, способ характеризуется выполнением следующих операций:
- формируют базовую систему координат для заданной области реального пространства путем размещения в ней базовой группы приемопередающих устройств, при этом группа пространственно связана с положением осей базовой системы координат;
- задают положение заранее созданных в цифровом формате трехмерных объектов виртуального пространства относительно базовой системы координат;
- определяют положение точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат путем локации закрепленного на голове пользователя приемопередающего устройства и задания положения точки наблюдения относительно закрепленного на пользователе приемопередающего устройства;
- определяют положение применяемых пользователем устройств отображения относительно базовой системы координат путем локации закрепленных на устройствах отображения приемопередающих устройств и задания положения рабочих зон устройств отображения относительно закрепленных на них приемопередающих устройств;
- формируют набор отображаемых данных трехмерных объектов виртуального пространства, исходя из информации о положении трехмерных объектов виртуального пространства относительно базовой системы координат, информации о положении точки наблюдения относительно базовой системы координат и информации о положении применяемых пользователем устройств отображения относительно базовой системы координат;
- отображают трехмерные объекты виртуального пространства на применяемых пользователем устройствах отображения, исходя из сформированного набора отображаемых данных по указанным объектам.
Кроме того, из описания способа следует, что для формирования основного элемента в виде базовой системы координат необходимо использовать, по меньшей мере, три приемопередающие устройства с заранее заданным их взаимным расположением и заранее заданным пространственным положением осей базовой системы координат относительно указанных приемопередающих устройств.
Для заявляемого способа является существенным, чтобы задание положения заранее созданных в цифровом формате трехмерных объектов виртуального пространства относительно базовой системы координат осуществлялось посредством выполнения следующих операций:
- для каждого трехмерного объекта из компьютерной базы данных заранее созданных трехмерных объектов виртуального пространства с помощью программы задают его пространственное положение и его ориентацию относительно виртуальной системы координат, заданной для указанной базы данных трехмерных объектов;
- задают положение точки пересечения осей виртуальной системы координат относительно базовой системы координат;
- задают ориентацию осей виртуальной системы координат относительно базовой системы координат;
- задают коэффициенты соответствия масштаба виртуальной системы координат и масштаба базовой системы координат по каждой из осей;
- производят вычисление пространственного положения и ориентации каждого трехмерного объекта из базы данных трехмерных объектов относительно базовой системы координат с учетом положения точки пересечения осей виртуальной системы координат относительно базовой системы координат, ориентации осей виртуальной системы координат относительно базовой системы координат и коэффициентов соответствия масштабов виртуальной системы координат и базовой системы координат по каждой из осей.
Поскольку определение положения точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат имеет существенное значение для заявляемого способа, необходимо в рамках данного способа выполнять следующие операции:
- закрепляют приемопередающее устройство на голове пользователя;
- задают положение точки наблюдения пользователем трехмерных объектов виртуального пространства относительно положения приемопередающего устройства, закрепленного на голове пользователя;
- определяют расстояния методом локации между приемопередающим устройством, закрепленном на голове пользователя, и каждым приемопередающим устройством, входящим в группу приемопередающих устройств, формирующих базовую систему координат;
- вычисляют положение приемопередающего устройства, закрепленного на голове пользователя, относительно базовой системы координат, используя информацию о расстояниях между данным приемопередающим устройством и каждым приемопередающим устройством, входящим в группу приемопередающих устройств, формирующих базовую систему координат;
- вычисляют положение точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат, используя информацию о положении приемопередающего устройства, закрепленного на голове пользователя, относительно базовой системы координат и информацию о положении точки наблюдения пользователем трехмерных объектов виртуального пространства относительно положения приемопередающего устройства, закрепленного на голове пользователя.
Важным элементом заявляемого способа является предварительная юстировка, т.е. настройка совокупности элементов, реализующих способ. В частности, для повышения точности определения положения точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат задание положения точки наблюдения пользователем трехмерных объектов виртуального пространства относительно положения приемопередающего устройства, закрепленного на голове пользователя, осуществляют с применением тестового трехмерного объекта виртуального пространства.
Кроме того, для повышения точности определения положения точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат целесообразно использовать, по меньшей мере, два приемопередающих устройства, закрепленных на голове пользователя.
Для заявляемого способа существенно, чтобы для определения положения каждого из применяемых пользователем устройств отображения относительно базовой системы координат выполнялись следующие операции:
- закрепляют на устройстве отображения группу приемопередающих устройств, включающую не менее трех приемопередающих устройств;
- задают положение рабочей зоны устройства отображения относительно группы приемопередающих устройств, закрепленных на устройстве отображения;
- определяют расстояния методом локации между каждым приемопередающим устройством, закрепленном на устройстве отображения, и каждым приемопередающим устройством, входящим в группу приемопередающих устройств, формирующих базовую систему координат;
- вычисляют положение приемопередающих устройств, закрепленных на устройстве отображения, относительно базовой системы координат, используя информацию о расстояниях между приемопередающими устройствами, закрепленными на устройстве отображения, и приемопередающими устройствами, входящими в группу приемопередающих устройств, формирующих базовую систему координат;
- вычисляют положение рабочей зоны устройства отображения относительно базовой системы координат, используя информацию о положении группы приемопередающих устройств, закрепленных на устройстве отображения, относительно базовой системы координат и информацию о положении рабочей зоны устройства отображения относительно группы приемопередающих устройств, закрепленных на устройстве отображения. Целесообразно также для повышения точности определения положения каждого из применяемых пользователем устройств отображения относительно базовой системы координат, чтобы задание положения рабочей зоны устройства отображения относительно группы приемопередающих устройств, закрепленных на устройстве отображения, осуществлялось силами пользователя с применением тестового трехмерного объекта виртуального пространства.
В заявляемом способе имеется возможность дополнительно задавать форму поверхности рабочей зоны устройства отображения.
Помимо этого для определения набора отображаемых данных по трехмерным объектам виртуального пространства необходимо выполнять следующие операции:
- формируют телесный угол наблюдения с центром в точке наблюдения пользователем трехмерных объектов и образующими телесного угла, проходящими через точки периметра рабочей зоны устройства отображения, координаты которых определены относительно базовой системы координат;
- определяют набор видимых точек трехмерных объектов виртуального пространства как множество точек, содержащихся в пределах телесного угла наблюдения и находящихся на ближайших к пользователю поверхностях трехмерных объектов виртуального пространства с учетом заданных коэффициентов прозрачности;
- определяют набор отображаемых данных по трехмерным объектам виртуального пространства как множество точек, находящихся на поверхности рабочей зоны устройства отображения, цвет и яркость каждой из которых соответствует цвету и яркости соответствующих точек из набора видимых точек трехмерных объектов виртуального пространства, находящихся на прямой, соединяющей точку наблюдения, точку на поверхности рабочей зоны устройства отображения и точку из набора видимых точек трехмерных объектов виртуального пространства.
Как видно из вышеприведенных чертежей и описания, для реализации способа необходимо наличие системы для визуализации трехмерных объектов виртуального пространства, включающей базовое устройство, состоящее из формирующей базовую систему координат базовой группы приемопередающих устройств и блока обработки данных, приемопередающее устройство, закрепляемое на голове пользователя, устройство отображения, группу приемопередающих устройств, закрепляемых на устройстве отображения, и электронно-вычислительное устройство, при этом приемопередающие устройства, закрепляемые на голове пользователя и закрепляемые на устройстве отображения, используют общий канал связи с базовой группой приемопередающих устройств, каждая из групп приемопередающих устройств включает, по меньшей мере, три приемопередающие устройства, базовая группа приемопередающих устройств жестко фиксирует относительное положение каждого входящего в группу приемопередающего устройства, устройство отображения представляет собой плоский дисплей, блок обработки данных, обеспечивающий синхронизацию работы приемопередающих устройств, предварительную обработку сигналов, аналогово-цифровое преобразование сигналов, вычисление координат и коммутацию с электронно-вычислительным устройством, электронно-вычислительное устройство включает блок памяти, содержащий данные о характеристиках и координатах трехмерных объектов виртуального пространства и блок процессоров, осуществляющий обработку информации о положении точки наблюдения, устройства отображения и трехмерных объектов виртуального пространства, вычисляющий набор отображаемых данных и управляющий выводом данных на устройства отображения, и программы по обработке информации о положении точки наблюдения, устройства отображения и трехмерных объектов виртуального пространства.
Для формирования системы существенно, чтобы базовая группа приемопередающих устройств содержала устройство генерации последовательных синхроимпульсов, управляющих очередностью генерации сигналов приемопередающими устройствами, закрепляемыми на пользователе и на устройстве отображения, включающие приемники синхроимпульсов и передатчики основного сигнала. При этом такие устройства генерации и приема синхроимпульсов целесообразно выполнять для работы в радиодиапазоне, а устройства генерации и приема основного сигнала выполнять для работы в ультразвуковом диапазоне.
В прикладных вариантах заявляемого способа существует возможность реализовать алгоритмы активной реакции объектов виртуального пространства на перемещения наблюдателя или дисплея. Так, например, виртуальный персонаж игры может «увидеть» наблюдателя и «спрятаться» от него за виртуальное дерево. Такие варианты вполне работоспособны, хотя и выходят за рамки способа визуализации, предусматривая активное взаимодействие между реальными и виртуальными объектами.
Реализация предложенного способа создаст эффект наблюдения окружающего пространства через мобильное окно, в котором видно больше, чем можно рассмотреть невооруженным глазом. При этом заявляемое изобретение отличается от других изобретений в области создания эффекта трехмерного изображения тем, что в нем не используют эффект бинокулярного зрения, поскольку эффект сохраняется при наблюдении объекта одним глазом, для создания эффекта не требуется специальных устройств визуализации изображения, поскольку эффект наблюдается на обычном компьютерном мониторе, для наблюдения эффекта не требуется существенно ограничивать положение наблюдателя, так как эффект наблюдается в широких границах по углу и дальности.
Изобретение относится к вычислительной технике, в частности к системам и способам для визуализации виртуальных трехмерных объектов. Техническим результатом является обеспечение расширенного обзора виртуального пространства. Для этого создают базовую систему координат в реальном пространстве; позиционируют виртуальные трехмерные объекты в базовой системе координат; определяют точки наблюдения пользователем виртуальных трехмерных объектов в базовой системе координат; распознают положения устройств отображения в базовой системе координат; определяют отображаемые данные. 2 н. и 11 з.п. ф-лы, 11 ил.
1. Способ визуализации трехмерных объектов виртуального пространства, включающий следующие операции:
формируют базовую систему координат для заданной области реального пространства путем размещения в ней базовой группы приемопередающих устройств, которая пространственно задает положение осей базовой системы координат;
задают положение заранее созданных в цифровом формате трехмерных объектов виртуального пространства относительно базовой системы координат для обеспечения их виртуального присутствия в заданной области реального пространства;
определяют положение точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат путем локации закрепленного на голове пользователя приемопередающего устройства и задания положения точки наблюдения относительно закрепленного на пользователе приемопередающего устройства;
определяют положение применяемых пользователем устройств отображения относительно базовой системы координат путем локации закрепленных на устройствах отображения приемопередающих устройств и задания положения рабочих зон устройств отображения относительно закрепленных на них приемопередающих устройств;
формируют набор отображаемых данных по трехмерным объектам виртуального пространства, исходя из информации о положении трехмерных объектов виртуального пространства относительно базовой системы координат, информации о положении точки наблюдения относительно базовой системы координат и информации о положении применяемых пользователем устройств отображения относительно базовой системы координат;
отображают трехмерные объекты виртуального пространства на применяемых пользователем устройствах отображения, исходя из сформированного набора отображаемых данных.
2. Способ по п.1, в котором для формирования базовой системы координат используют, по меньшей мере, три приемопередающих устройства с заранее заданным их взаимным расположением и заранее заданным пространственным положением осей базовой системы координат относительно указанных приемопередающих устройств.
3. Способ по п.1, в котором для задания положения заранее созданных в цифровом формате трехмерных объектов виртуального пространства относительно базовой системы координат выполняют следующие операции:
для каждого трехмерного объекта из компьютерной базы данных заранее созданных трехмерных объектов виртуального пространства программным образом задают его пространственное положение и его ориентацию относительно виртуальной системы координат, заданной для указанной базы данных трехмерных объектов;
задают положение точки пересечения осей виртуальной системы координат относительно базовой системы координат;
задают ориентацию осей виртуальной системы координат относительно базовой системы координат;
задают коэффициенты соответствия масштаба виртуальной системы координат и масштаба базовой системы координат по каждой из осей;
производят вычисление пространственного положения и ориентации каждого трехмерного объекта из базы данных трехмерных объектов относительно базовой системы координат с учетом положения точки пересечения осей виртуальной системы координат относительно базовой системы координат, ориентации осей виртуальной системы координат относительно базовой системы координат и коэффициентов соответствия масштабов виртуальной системы координат и базовой системы координат по каждой из осей.
4. Способ по п.1, в котором для определения положения точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат выполняют следующие операции:
закрепляют приемопередающее устройство на голове пользователя;
задают положение точки наблюдения пользователем трехмерных объектов виртуального пространства относительно положения приемопередающего устройства, закрепленного на голове пользователя;
определяют расстояния методом локации между приемопередающим устройством, закрепленном на голове пользователя, и каждым приемопередающим устройством, входящим в группу приемопередающих устройств, формирующих базовую систему координат;
вычисляют положение приемопередающего устройства, закрепленного на голове пользователя, относительно базовой системы координат, на основе информации о расстояниях между данным приемопередающим устройством и каждым приемопередающим устройством, входящим в группу приемопередающих устройств, формирующих базовую систему координат;
вычисляют положение точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат, используя информацию о положении приемопередающего устройства, закрепленного на голове пользователя, относительно базовой системы координат и информацию о положении точки наблюдения пользователем трехмерных объектов виртуального пространства относительно положения приемопередающего устройства, закрепленного на голове пользователя.
5. Способ по п.4, в котором для повышения точности определения положения точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат задание положения точки наблюдения пользователем трехмерных объектов виртуального пространства относительно положения приемопередающего устройства, закрепленного на голове пользователя, осуществляют с применением тестового трехмерного объекта виртуального пространства.
6. Способ по п.4, в котором для повышения точности определения положения точки наблюдения пользователем трехмерных объектов виртуального пространства относительно базовой системы координат используют, по меньшей мере, два приемопередающих устройства, закрепленных на голове пользователя.
7. Способ по п.1, в котором для определения положения каждого из применяемых пользователем устройств отображения относительно базовой системы координат выполняют следующие операции:
закрепляют на устройстве отображения группу приемопередающих устройств, включающую по меньшей мере, три приемопередающих устройства;
задают положение рабочей зоны устройства отображения относительно группы приемопередающих устройств, закрепленных на устройстве отображения;
определяют расстояния методом локации между каждым приемопередающим устройством, закрепленным на устройстве отображения, и каждым приемопередающим устройством, входящим в группу приемопередающих устройств, формирующих базовую систему координат;
вычисляют положение приемопередающих устройств, закрепленных на устройстве отображения, относительно базовой системы координат, используя информацию о расстояниях между приемопередающими устройствами, закрепленными на устройстве отображения, и приемопередающими устройствами, входящими в группу приемопередающих устройств, формирующих базовую систему координат;
вычисляют положение рабочей зоны устройства отображения относительно базовой системы координат, используя информацию о положении группы приемопередающих устройств, закрепленных на устройстве отображения, относительно базовой системы координат и информацию о положении рабочей зоны устройства отображения относительно группы приемопередающих устройств, закрепленных на устройстве отображения.
8. Способ по п.7, в котором для повышения точности определения положения каждого из применяемых пользователем устройств отображения относительно базовой системы координат задание положения рабочей зоны устройства отображения относительно группы приемопередающих устройств, закрепленных на устройстве отображения, осуществляют силами пользователя с применением тестового трехмерного объекта виртуального пространства.
9. Способ по п.7, в котором дополнительно задают форму поверхности рабочей зоны устройства отображения.
10. Способ по п.1, в котором для определения набора отображаемых данных по трехмерным объектам виртуального пространства выполняют следующие операции:
формируют телесный угол наблюдения с центром в точке наблюдения пользователем трехмерных объектов и образующими телесного угла, проходящими через точки периметра рабочей зоны устройства отображения, координаты которых определены относительно базовой системы координат;
определяют набор видимых точек трехмерных объектов виртуального пространства как множество точек, содержащихся в пределах телесного угла наблюдения и находящихся на ближайших к пользователю поверхностях трехмерных объектов виртуального пространства с учетом заданных коэффициентов прозрачности;
определяют набор отображаемых данных по трехмерным объектам виртуального пространства как множество точек, находящихся на поверхности рабочей зоны устройства отображения, цвет и яркость каждой из которых соответствует цвету и яркости соответствующих точек из набора видимых точек трехмерных объектов виртуального пространства, находящихся на прямой, соединяющей точку наблюдения, точку на поверхности рабочей зоны устройства отображения и точку из набора видимых точек трехмерных объектов виртуального пространства.
11. Система для визуализации трехмерных объектов виртуального пространства, включающая базовое устройство, состоящее из формирующей базовую систему координат базовой группы приемопередающих устройств и блока обработки данных, приемопередающее устройство, закрепляемое на голове пользователя, устройство отображения, группу приемопередающих устройств, закрепляемых на устройстве отображения, и электронно-вычислительное устройство, при этом приемопередающие устройства, закрепляемые на голове пользователя и закрепляемые на устройстве отображения, используют общий канал связи с базовой группой приемопередающих устройств, каждая из групп приемопередающих устройств включает, по меньшей мере, три приемопередающих устройства, базовая группа приемопередающих устройств жестко фиксирует относительное положение каждого входящего в группу приемопередающего устройства, устройство отображения представляет собой плоский дисплей, блок обработки данных выполненный с возможностью: синхронизации работы приемопередающих устройств, образующих базовую группу приемопередающих устройств, с приемопередающими устройствами, закрепленными на голове пользователя, и приемопередающими устройствами, закрепленными на устройстве отображения, предварительной обработки сигналов локации, несущих в себе информацию о расстояниях между каждым из приемопередающих устройств, образующих базовую группу приемопередающих устройств, и каждым приемопередающим устройством, закрепленным на голове пользователя, а также между каждым из приемопередающих устройств, образующих базовую группу приемопередающих устройств, и каждым приемопередающим устройством, закрепленным на устройстве отображения, аналогово-цифрового преобразования сигналов таких сигналов, вычисления координат приемопередающих устройств, закрепленных на голове пользователя, и приемопередающих устройств, закрепленных на устройстве отображения, относительно базовой системы координат, и коммутации с электронно-вычислительным устройством, при этом электронно-вычислительное устройство включает в себя блок памяти, содержащий данные о характеристиках и координатах трехмерных объектов виртуального пространства и блок процессоров, выполненный с возможностью: обработки информации о положении в пространстве точки наблюдения пользователя, из которой ведется наблюдение за отображаемыми на устройстве отображения трехмерными объектами виртуального пространства, устройства отображения и трехмерных объектов виртуального пространства, вычисления набора отображаемых данных и управления выводом данных на устройстве отображения, при этом блок процессоров выполнен с возможностью исполнения программы по обработке информации о положении точки наблюдения, положение которой задано относительно группы приемопередающих устройств, закрепленных на голове пользователя, устройства отображения, положение которого задано относительно группы приемопередающих устройств, закрепленных на нем, а также трехмерных объектов виртуального пространства, положение которых задается относительно базовой системы координат, связанной с формирующей ее группой приемопередающих устройств, при этом блок процессоров выполнен с возможностью формирования набора отображаемых данных объектов для устройства отображения в виде совокупности отображаемых точек трехмерных виртуальных объектов, видимых из точки наблюдения, причем электронно-вычислительное устройство выполнено с возможностью передачи через канал передачи данных набора отображаемых данных на устройство отображения, выполненное с возможностью формирования изображения в виде трехмерных объектов виртуального пространства.
12. Система по п.11, в которой базовая группа приемопередающих устройств включает устройство генерации последовательных синхроимпульсов, управляющих очередностью генерации сигналов приемопередающими устройствами, закрепляемыми на пользователе и на устройстве отображения, включающие приемники синхроимпульсов и передатчики основного сигнала.
13. Система по п.12, в которой устройства генерации и приема синхроимпульсов выполнены для работы в радиодиапазоне, а устройства генерации и приема основного сигнала выполнены для работы в ультразвуковом диапазоне.
Способ приготовления мыла | 1923 |
|
SU2004A1 |
СПОСОБ ПРЕДСТАВЛЕНИЯ ВИРТУАЛЬНОГО ПРОСТРАНСТВА ПОЛЬЗОВАТЕЛЮ И СИСТЕМА ДЛЯ ОСУЩЕСТВЛЕНИЯ СПОСОБА | 1996 |
|
RU2106695C1 |
US 5574836 A, 12.11.1996 | |||
S 6222482 В1, 24.04.2001 | |||
Топчак-трактор для канатной вспашки | 1923 |
|
SU2002A1 |
СПОСОБ ВВОДА ИНФОРМАЦИИ В КОМПЬЮТЕР | 1996 |
|
RU2123718C1 |
US 6198485 В1, 06.03.2001 | |||
Устройство для интервального регулирования движения поездов | 1987 |
|
SU1594040A1 |
Элеватор | 1984 |
|
SU1196317A1 |
Авторы
Даты
2010-12-10—Публикация
2005-09-15—Подача