Научная статья на тему 'Математическая визуализация в виртуальном окружении'

Математическая визуализация в виртуальном окружении Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
298
32
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Никитина Л. Д., Никитин И. Н., Клименко С. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Никитина Л. Д., Никитин И. Н., Клименко С. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Mathematical visualization in virtual environments.

Differential geometry and topology are the areas of higher mathematics, which particularly require visual representation of studying objects for better understanding of the material. On the other hand, the complex structure of such objects makes their visualization a challenge for modern graphical systems. In this paper we describe some methods useful for adequate representation of topologically non-trivial objects in virtual environment systems, particularly the acceleration of standard mechanisms for rendering of transparent surfaces, applicable for complex cases of self-intersecting time-dependent surfaces, not necessarily admitting continuous fields of normal vectors. We also use a simple technique of image-based rendering, which places stereo-photographs of real environments as static background for 3D virtual scenes. The methods are implemented in educational application, which demonstrates the main properties of elementary topological objects (Moebius band, Klein bottle, projective plane etc) and gives a possibility to explore interactively the complex constructions, arising in higher mathematics.

Текст научной работы на тему «Математическая визуализация в виртуальном окружении»

Математическая визуализация в виртуальном окружении

Никитина Л.Д. , Никитин И.Н. Фраунгоферовский Институт Медиакоммуникаций, Санкт Августин, Германия

Клименко С.В. Институт Физики Высоких Энергий, Протвино, Россия

Аннотация

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

1 Введение

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

Данная работа организована следующим образом. В разделе 2 мы представляем обучающий видеофильм и соответствующее приложение в виртуальном окружении, которое демонстрирует структуру и основные свойства нескольких математических объектов. В разделе 3 мы описываем методы, использованые для их визуализации, в частности для высококачественной графической обработки полупрозрачных самопересекающихся неориентируемых поверхностей в реальном времени, а также использование стерео-текстур как статического фона для объемных сцен. В приложении приводится широкое семейство преобразований стерео-текстур, которые сохраняют правильное стерео-восприятие сцены и эквивалентны нелинейным деформациям 3-мерного пространства. Эти деформации позволяют компенсировать искажения стереофотографий а также дефекты, возникающие при проекции стерео-изображений на искривленные экраны [1]. Их можно также использовать для непосредственной визуализации искривленных пространств, необходимой, например, при объяснении принципов дифференциальной геометрии, общей теории относительности и т.д.

2 Визуализация в топологии

Одной из основных задач геометрии и топологии является исследование многообразий различных размерностей. Многообразие размерности п - это топологическое пространство, которое локально устроено как область (открытое множество) п-мерного пространства И". В 19-том веке многообразия представлялись обычно как поверхности в пространстве Ит более высокой размерности, определенные локально как образ гладкого (Сто) невырожденного отображения из некоторого И". В 20-том веке преобладала 'картографическая' точка зрения. Многообразие покрывается открытыми множествами, каждое из которых гомео-морфно (взаимно однозначно и непрерывно) отбраже-но на открытое множество в И". Эти карты связаны Сто-ными невырожденными отображениями перехода между открытыми подмножествами И". Совокупность этих карт называется Сто-атласом многообразия, ко-

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

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

Рис.1. Кадры из видеофильма "Приключения ленты Мебиуса".

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

Видеофильм: "Приключения ленты Мебиуса" - это история о лентах Мебиуса и как они могут быть использованы для построения более сложных топологических объектов. Фильм состоит из трех частей (каждая представлена столбцом изображений на рис.1).

Первая часть, озаглавленная " л + D2 = RP2 (crosscap)", показывает, как лента Мебиуса может быть склеена с диском, чтобы получить представление проективной плоскости в виде так называемого скрещенного колпака. Сначала диск скручивается в участок римановой поверхности комплексного квадратного корня z = Re^Jx + iy, граница которого точно стыкуется с границей ленты Мебиуса. Затем демонстрируется внутренняя структура полученного скрещенного колпака.

Вторая часть, "¡+D2 = RP2 (Boy's surface)", показывает, как граница ленты Мебиуса может быть затянута диском, чтобы получить погруженную проективную плоскость в представлении Боя-Апери [2, 3]. Эта часть начинается с обычного представления ленты Мебиуса, наблюдаемой из такой точки зрения, что ее граница имеет форму узла-трилистника. Затем трилистник деформируется, сохраняя свою осевую симметрию третьего порядка. В некоторый момент трилистник проходит сквозь себя и развязывается. Дальнейшая деформация просто стягивает полученную окружность в точку. В своем движении трилистник заметает поверхность Боя, а момент самопересечения отвечает тройной точке (в которой поверхность локально выглядит как три пересекающиеся плоскости). После своего рождения поверхность Боя вылетает в открытое окно, летит над ночным городом, присоединяется к стае других поверхностей Боя и исчезает за горизонтом.

Третья часть, "л + л = K2", показывает, как лента Мебиуса объединяется со своим зеркальным отражением, образуя бутылку Клейна. После преобразования появляется 3-мерная сцена детской площадки, и маленькая рыбка движется по бутылке Клейна, демонстрируя свойство неориентируемости этой поверхности. Затем камера принимает точку зрения рыбки, и захватываюшая дух поездка вдоль полупрозрачной бутылки Клейна завершает видеофильм.

Сцена в виртуальной реальности: третья часть видеофильма реализована также как интерактивное приложение в системе виртуального окружения CyberStage. Фоновые сцены изготовлены из стереоскопических фотографий реальных ландшафтов и воспроизведены в CyberStage, используя простую технику графической обработки, основанную на изображениях (Image Based Rendering), которая описана в следующем разделе. В сцену добавлено фоновое звуковое сопровождение: пение птиц, стрекот кузнечика и т.д. Используются две звуковые дорожки, периоды которых не имеют целочисленного соотношения, чтобы скрыть циклическую природу звукового сопровождения. Виртуальный объект - бутылка Клейна - добавлен в фоновую сцену, не нарушая ее реализм. Виртуальный луч, прикрепленный к электромагнитной указке, используется в CyberStage для взаимодействия с объектами. Указание на бутылку Клейна приводит к принятию точки зрения рыбки, движущейся вдоль поверхности. Указание на слово РЕАЛЬНОСТЬ переключает пять возможных фоновых окружений. "Переключение реальности" сопровождается соответствующим изменением звукового сопровождения.

3 Методы визуализации

Описанные преобразования поверхностей выполняются с помощью линейного смешивания (morphing) пред-вычисленных ключевых форм, заданных явными формулами в [3, 4, 5]. В частности, Cто-гладкая параметризация бутылки Клейна [5] построена, используя следующую идею (рис.2):

Рис.2. Построение бутылки Клейна.

мы начинаем с S-образной трубки, затем утолщаем ее, модулируя радиус, как показано на рисунке, далее отражаем нижнюю часть наверх с помощью отображения z ^ z2. Формально это построение можно выразить следующим образом:

rK(u, v) = (Rx, Ry, R2), 0 < u <n, 0 < v < 2n, R(u, v) = Ro(u) + p(u)(ei(u) cos v + e2 sin v), Ro = (a sin 2u, 0, b cos u), p = p0 + pi sin2"(u — u0), ei = (bsinu, 0, 2acos2u)/|R0|, e2 = (0,1, 0),

со значениями параметров:

a = 1/4, b = 1, ро = 0.1, pi = 0.6, uo = 0.3, n = 4.

Цветовые и текстурные отображения на топологически нетривиальные объекты должны удовлетворять определенным свойствам, необходимым для их непрерывности и гладкости, которые были описаны в [5]. Здесь мы концентрируемся на методах, использованных нами для визуализации в реальном времени в системе виртуального окружения CyberStage.

CyberStage [6] - это проекционная система объемного изображения и звука, в которой достигается эффект полного погружения. Она имеет размеры небольшой комнаты (3м х 3мх 2.4м) и включает 4-стороннюю проекцию стерео-изображения и 8-канальную проекцию пространственного звука, контролируемые положением головы пользователя. Суперкомпьютер SGI Onyx 2 с четырьмя графическими картами Infinite Reality 2 и двенадцатью процессорами MIPS R12000 производит четыре изображения с разрешением 1280x1024x120Гц. Каждая карта в пиковом режиме генерирует 11 млн. треугольников в секунду.

Для создания иллюзии присутствия в виртуальных пространствах, система CyberStage предоставляет различные интерфейсы и метафоры взаимодействия, визуально и акустически откликаясь на действия пользователя. Эти интерфейсы используются для навигации в виртуальных пространствах и для взаимодействия с виртуальными объектами. Программное обеспечение для CyberStage - это система разработки виртуальных окружений Аванго [8].

Аванго™ - среда программирования, предназначенная для создания распределенных взаимодействующих приложений виртуального окружения. Аванго основан на графической системе Irix/OpenGL Performer, которая обеспечивает наиболее качественное исполнение приложения, и удовлетворяет специальным требованиям, возникающим при разработке приложений для виртуального окружения. Аванго использует язык программирования C+—+ для определения объектов и язык сценариев Scheme [9] для объединения объектов в граф сцены. Аванго также вводит понятие графа потоков данных, концептуально ортогонального графу сцены и служащего для определения взаимодействия между обьектами и для ввода в сцену данных с внешних устройств.

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

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

1. для подвижной точки зрения требуется постоянная пересортировка примитивов;

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

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

4. методы сортировки оказываются неэффективными вблизи математических особенностей типа "точка пинча" [5]. Такие особенности порождают области близко расположенных почти парал-лельнх примитивов, сортировка которых не может быть выполнена быстрыми методами, основанными на сравнении центров масс примитивов;

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

Имеется несколько методов такого типа (см. рис.3):

1. в системе SGI Performer имеется метод, аппарат-но реализованный в графических картах Infinite-Reality под названием FAST, который основан на раздельной графической обработке непрозрачных и прозрачных объектов и смешивании результатов. После использования этого метода фоновая сцена становится видимой сквозь прозрачные объекты, но внутренняя структура прозрачных объектое все еще не видна.

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

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

1. в случае темного фона можно использовать комбинацию аддитивного метода OpenGL и FAST метода Perfomer;

2. для яркого фона использование аддитивного метода приводит к переполнению цветовых значений; в этом случае можно комбинировать метод вычитания OpenGL и FAST метод Performer, однако результат обычно выглядит темным;

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

Available no-sorting methods Performer: Onyx-IR FAST

OpenGL

(shadow) gSt0

additive

subtractional

1.3ms

Combinations

Л

2pass: +add +fast, 2.6ms 3pass: -shadow +add +fast, 2.9ms 2pass: -compl.col +fast, 2.6ms

Рис.3. Многослойная прозрачность: идея. Время на рисунке дано для модели, содержащей 2000 двусторонних треугольников в каждом слое.

gset2 (fet) gSt2

Mode gSt0 gStl gSt2

PFSTATE TRANSPARENCY PFTR BLEND ALPHA |PFTR NO OCCLUDE PFTR BLEND ALPHA | PFTR NO OCCLUDE PFTR FAST

PFSTATE ENLIGHTENING PF OFF PF ON PF ON

PFSTATE SHADEMODEL PFSM FLAT PFSM GOURAUD PFSM GOURAUD

PFSTATE ENTEXTURE PF OFF PF ON PF ON

callbacks PRE SUB,POST SUB PRE ADD,POST ADD -

Рис.4. Многослойная прозрачность: реализация.

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

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

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

Замечание: здесь ключ PFTR_NO_OCCLUDE необходим для запрещения записи в Z-буфер (поскольку несколько копий объекта геометрически расположены в одном и том же месте, запись в Z-буфер должна быть выполнена только один раз); интенсивные моды отключаются для теневой копии, чтобы ускорить графическую обработку; теневая и аддитивная копии имеют обращение (callback) к соответствующему механизму OpenGL графической обработки.

Механизмы OpenGL. Стандартно используемый в Perfomer метод BLEND_ALPHA эквивалентен следующим командам OpenGL:

glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); glBlendEquationEXT(GL_FUNC_ADD_EXT);

которые задают уравнение смешивания:

aS +(1 - a)D

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

a2S2 + (1 - a2)(aiSi + (1 - ai)D) = = aiSi + (1 - ai)(a2S2 + (1 - a2)D)

Из этого уравнения следует ai a2(Si - S2) = 0, которое имеет только тривиальные решения: ai =0, a2 = 0 или Si = S2 , не пригодные для визуализации (один объект является полностью прозрачным, или объекты имеют в точности одинаковый цвет - для чего потребовалось бы отключить моделирование реалистичного освещения). Поэтому мы используем методы, которые не принадлежат системе Performer.

В OpenGL имеются следующие команды OpenGL, которые модифицируют уравнение смешивания:

glBlendFunc(GL_SRC_ALPHA,GL_ONE); glBlendEquationEXT(GL_FUNC_ADD_EXT);

уравнение смешивания: aS + D, итерация: a2S2 + aiSi + D,

glBlendFunc(GL_SRC_ALPHA,GL_ONE); glBlendEquationEXT(GL_FUNC_REVERSE_SUBTRACT_EXT);

уравнение смешивания: D - aS, итерация: D - aiSi - a2S2,

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

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

Фоновые стерео-текстуры. Широкоугольные стерео-фотографии реальных сцен были произведены стандартным (моно) цифровым фотоаппаратом и помещены в CyberStage, используя следующие приемы:

1. сцена должна быть абсолютно статичной;

2. 270°-ное поле зрения было разбито на 3 перекрывающихся сектора;

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

4. неизбежные малые вращения и сдвиги камеры были скомпенсированы с помощью тонкой подстройки стерео-изображения в CyberStage.

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

Реализация стерео-текстур в Аванго основана на узлах типа fpOnlyOneEye, которые делают прикрепленные к ним объекты видимыми только для одного глаза (см. рис.5). Тонкая подстройка выполненяется посредством отдельной регулировки матриц fpDCS узлов для каждого изображения, в то время как матрица общего fpDCS узла используется для совместного преобразования изображений.

В сравнении со стандартным представлением виртуальных сцен, основанном на геометрических моделях, методы, основанные на изображениях, позволяют отображать сложные высоко-детализированные сцены без особых затрат на графическую обработку и с впечатляющим реализмом. Однако, навигация в таких сценах становится сложной. В частности, вышеописанная простая техника производит стерео-изображения только для одного положения камеры, и не дает возможности перемещать точку зрения в сцене. Основная проблема состоит не в искажениях изображения, появляющихся при таких перемещениях (которые остаются малыми в радиусе ~1м вблизи центра CyberStage), но в том факте, что перемещение точки зрения ничего не меняет в картине взаимного заслонения объектов. Эту проблему можно устранить, комбинируя изображения, снятые из нескольких положений камеры с приблизительной реконструкцией 3-мерных моделей, как рекомендуют развитые методы графической обработки, основанной на изображениях [10].

4 Заключение

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

Благодарности. Мы благодарим проект Mutopia: http://sca.uwaterloo.ca/Mutopia за предоставленную возможность использовать их музыкальные архивы, Адама Харт-Девиса http://www.hd.org/Damon/photos за предоставленную фотографию, использованную в видеофильме, и Клауса-Гюнтера Раутенберга за помощь в производстве фильма. Эта работа была частично поддержана грантами РФФИ 02-01-01139 и 01-0790327.

Список литературы

[1] домашняя страничка Фраунгоферов-ского Института Медиакоммуникаций http://www.imk.fraunhofer.de

[2] Boy W., Uber die Curvatura intégra und die Topologie geschlossener Flachen, Dissertation, Göttingen, 1901; Math.Ann. 57 (1903) 151-184.

[3] Apery F., Models of the Real Projective Plane, F.Vieweg und Sohn, Braunschweig/Wiesbaden, 1987.

[4] Francis G., Topological Picturebook, Springer-Verlag, 1987.

[5] Göbel M.„ Tramberend H., Klimenko S., Nikitin I. "Visualization in topology: assembling the projective plane" Proc. of Visualization in Scientific Computing conference, (Boulogne-sur-Mer, France, April 1997) p.95, Springer-Verlag 1997.

[6] Eckel G., Gobel M., Hasenbrink F., Heiden W., Lechner U., Tramberend H., Wesche G., Wind J. Benches and Caves. In: Bullinger H.J., Riedel O. (eds.) Proc. 1st Int. Immersive Projection Technology Workshop. Springer-Verlag, London, 1997.

[7] Cruz-Neira C. Surround-Screen Projection-Based Virtual Reality: The Design and Implementation of the CAVE. Computer Graphics Proc., Annual Conference Series, 1993, pp 135-142.

[8] Dai P., Eckel G., Gobel M., Hasenbrink F., Lalioti V., Lechner U., Strassner J., Tramberend H., Wesche G. Virtual Spaces: VR Projection System Technologies and Applications. Tutorial Notes. Eurographics '97, Budapest, 1997, 75 pages.

[9] R. Kent Dybvig. The Scheme programming language: ANSI Scheme. P T R Prentice-Hall, Englewood Cliffs, NJ 07632, USA, Edition 2, 1996.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[10] McMillan L., An Image-Based Approach to Three-Dimensional Computer Graphics, Ph.D. Dissertation, UNC Computer Science Technical Report TR97-013, University of North Carolina, April 1997, http://www.cs.unc.edu/~ibr/pubs.html

Приложение: деформация стерео-текстур

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

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

левый : в ^ в, ф ^ ф,

правый : в ^ в, ф ^ ф + Дф, (1)

где функции в(в), ф(в,ф), Дф(в,ф) заданы, D - сте-реобаза (расстояние между глазами наблюдателя), d - расстояние между левым и правым изображениями объекта на стерео-текстуре, R - воспринимаемое расстояние до этого объекта в 3-мерном пространстве.

Затем, используя следующие соотношения:

R/D = (R - r)/d, R/D = (R - r)/d,, d = r sin в (фп - фь),

d = r sin в (фп - фь) = r sin в (фп - фь) + Дф^ ,

после подстановки мы имеем

-1

R

sin в дф ( r\r ~ . \

1---t- 1----sin в Дф . (2)

sin в д<ф\ Ю D ф V '

Дополнительно потребуем, чтобы преобразование сохраняло бесконечность, т.е. отображало R ^ ж в И ^ж. Отсюда мы имеем в выражении для Дф:

D1 Дф = — '

1 дф

r \ sin в sin в дф которое упрощает формулу (2) до

sin в ( дСр

дф

R = R —р I ^

sin вр

1

(3)

(4)

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

Замечание: формула (4), будучи переписана как R sin в ¿ф = R sin в dip, имеет ясный геометрический смысл - линейный размер малых объектов в направлении изменения dф сохраняется преобразованием.

D

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

3. конусы в = Const отображаются в конусы в = Const;

4. преобразование сохраняет инфинитезимальные Ax-размеры объектов в d^-направлении.

Например, может быть реализовано преобразование в = в, ф = 2ф, R = R/2, которое растягивает 90°-ный сектор поля зрения до 180°, уменьшая глубину сцены в два раза.

Замечание: стерео-восприятие не разрушается преобразованием, если пара лучей, выходящих из каждого глаза наблюдателя и проходящих через копии объекта на соответствующем слое стерео-текстуры, имеет пересечение для любого объекта в сцене. Это свойство удовлетворяется в силу специальной структуры преобразования (1), где в зависит только от в и эта зависимость одинакова для обоих слоев. Также, в случае дф/дф > 0, когда преобразование сохраняет ориентацию в = Const линий на сфере, из (4) мы имеем R > 0 (предполагая что R > 0), т.е. пересечение имеет место перед наблюдателем (не позади). Случай обратной ориентации дф/дф < 0 также может быть реализован, если поменять местами левый и правый слои. Это приведет к смене знака в формуле (4), так что неравенство R > 0 будет выполняться вновь.

Рис.6. Преобразование стерео-текстуры.

r

Я

Рис.7. Преобразование трехмерного объекта.

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

1. преобразование гладко и обратимо (диффеоморфизм);

i Надоели баннеры? Вы всегда можете отключить рекламу.