search
main
0

По секрету. Трехмерная модель Виртуальная реальность своими руками

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

Полностью публикация приведена в формате PDF:Скачать/Просмотреть(Для просмотра необходима программа Adobe Reader или ее произвольный аналог).

Или вот, например, каркасная модель куба на рис. 1: сможете ли вы для этой простой фигуры однозначно определить, какая из точек – А или B – находится к нам ближе, а какая – дальше? А вот если бы вместо плоского рисунка здесь была трехмерная модель (например, изготовленная из спичек), то все стало бы ясно с первого же взгляда.

Рис. 1

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

Компьютер здесь – несколько в большем выигрыше: большинство читателей наверняка знакомы с таким названием, как «виртуальная реальность». Это новейшая технология, позволяющая «своими глазами» (то есть с максимально возможным «эффектом присутствия») увидеть созданный в памяти компьютера искусственный мир. Однако чтобы «окунуться» в виртуальные миры, также требуется сложное и дорогостоящее оборудование – например, «виртуальный шлем». Более дешевой альтернативой ему являются специальные очки, но эта технология, увы, рассчитана лишь на совместную работу с дисплеями на базе электронно-лучевых трубок (ЭЛТ), которые сегодня практически повсеместно заменены на ЖК-дисплеи. (Причина в том, что такие очки переключают затемнение стекол – левого или правого – по сигналу смены кадра, поступающему с видеоадаптера, а в ЖК-дисплее смена кадров как таковая практически отсутствует, там другая технология вывода изображения на экран. В рекламе, правда, утверждается, что появилась модель подобных очков для работы именно с ЖК-дисплеем, но специалисты все же не рекомендуют пользоваться ими из-за сильного мерцания результирующего изображения.) Не так давно появились также стереодисплеи для компьютеров (работа с которыми не потребует использования очков), а также стереокомплексы на базе специального проектора с повышенной частотой смены кадров. Но такое оборудование пока тоже слишком дорого, а в продаже найти его достаточно сложно.

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

Самый простой способ сделать это – конечно же, стереопары.

Стереопара – это две «фотографии», изображающие один и тот же объект или пейзаж с двух точек, расположенных на одной горизонтальной линии и отстоящих на небольшое расстояние друг от друга. Нетрудно догадаться, что эти два кадра (две части стереопары) содержат то, что видят отдельно левый и правый глаз при рассматривании реального пейзажа или объекта. И если теперь каким-либо способом «заставить» левый глаз рассматривать только левый кадр, а правый глаз – только правый кадр, то вместо двух отдельных картинок мы (при известном старании) увидим одну объемную!

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

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

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

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

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

Рис. 3

Соответственно стекла (или пленки) очков тоже окрашены в те же цвета: для приведенного примера левое стекло должно быть синим или голубым, а правое – красным (рис. 4). Тогда все красные оттенки на «суммарной» анаглифической картинке будут видны через голубое стекло как оттенки серого, а голубые оттенки сквозь голубое же стекло будут незаметны. И, наоборот, сквозь красное стекло можно увидеть только голубые оттенки, но не красные. А в итоге зритель увидит объемное, хотя и черно-белое изображение. В другом же варианте анаглифического метода можно создавать и цветные стереокартинки (за счет «разбалансировки» в исходных кадрах стереопары цветовой гаммы в «красную» и «голубую» стороны), хотя насыщенность цветов в этом случае несколько снижается.

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

Рис. 4

Преобразовать же в анаглифическую картинку кадры исходной стереопары нетрудно на компьютере при помощи специальных программ – например, Anaglyph Maker (www.stereoeye.jp/software/index_e.html) и StereoPhoto Maker (www.really.ru/stereo%20photo%20maker.html). Работать с ними очень просто: скажем, в программе Anaglyph Maker (рис. 5) достаточно при помощи соответствующих кнопок под окошками слева вверху загрузить из отдельных файлов левый и правый кадры стереопары, выбрать радиокнопку нужного режима работы (создание черно-белого или цветного анаглифа – Gray (Red-Cyan) или Color (Red- Cyan) соответственно) и нажать кнопку Make 3D Image, а затем – Save 3D Image. Остальное программа сделает автоматически.

Остается только вопрос, откуда взять на компьютере кадры для стереопар.

Можно, конечно, просто сфотографировать нужное на цифровой фотоаппарат: сначала, отклонившись чуть влево, сделать «левый» кадр, а потом, отклонившись вправо и постаравшись как можно точнее подобрать границы кадрирования точно так же, как на левом кадре, – «правый» (рис. 6).

Рис. 6

Однако если фотоаппарата под рукой нет, можно обойтись и без него. Для этого нам потребуется только наблюдательность и немного хитрости, и можно будет создавать стереоизображения на базе практически любой компьютерной программы, выдающей на экран «псевдотрехмерное» изображение, – например, компьютерной игры. (В любом из описываемых вариантов предполагается построение «обратной» стереопары, а для получения «прямой» достаточно будет только поменять местами ее правую и левую части. При желании можно затем сделать и анаглифическую картинку, воспользовавшись программой Anaglyph Maker или другой).

Снятие копий экрана легче всего выполнять при помощи стандартной функции PrintScreen (нажатием одноименной клавиши, в том числе в сочетании с клавишей Alt), воспользовавшись «умением» операционной системы Windows запоминать экранные изображения в буфере Clipboard, а затем вставлять изображение из буфера в любом графическом редакторе – хотя бы в стандартном редакторе Paint – и сохранять их в файл. Правда, в некоторых компьютерных играх клавиша PrintScreen отключена, а для сохранения копий экрана используется своя, особая клавиша – в этом случае можно ее определить по документации к игре или в списке ее настроек клавиатуры.

Итак…

Создаем объемный текст

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

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

Тогда для «обратной» стереопары мы получаем следующее правило.

Чтобы какой-либо фрагмент текста (или графического изображения) на «обратной» стереопаре казался «приподнятым» над фоном, нужно в левом кадре стереопары сместить его левее, а в правом – правее. Чтобы тот же фрагмент казался «утопленным» в фон, нужно в левом кадре стереопары сместить его правее, а в правом – левее.

Проделать все это можно практически в любом текстовом редакторе. Примеры полученного таким способом объемного текста показаны на рис. 7.

Формируем объемные объекты

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

Пусть у нас имеется программа, позволяющая получить на экране «псевдообъемное» изображение требуемого объекта с возможностью задания его положения в пространстве. Это может быть AutoCAD и подобные ему системы компьютерного черчения («Компас» или ADEM); программа 3D Studio (в которой, кстати, делаются почти все видеоролики – «заставки» к компьютерным играм и даже многие современные мультфильмы), некоторые программы для построения трехмерных графиков функций и прочее.

Вспомним, что при рассматривании реального предмета левый глаз должен видеть его слева, а правый – справа. Тогда для построения «обратной» стереопары, где все должно быть наоборот, мы получим такое правило.

Чтобы превратить «псевдообъемный» объект в объемный, достаточно для получения левого кадра «обратной» стереопары развернуть его вокруг вертикальной оси на несколько градусов влево (по часовой стрелке, если смотреть сверху) относительно некоторого начального положения, а для получения правого кадра – на то же число градусов вправо (против часовой стрелки).

На рис. 8 и 9 показаны стереопары, полученные этим способом с помощью программ трехмерного моделирования «Образ» и 3D Studio.

Делаем объемные пейзажи

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

Тогда для получения «обратной» стереопары мы поступим аналогично съемке стереофотографий обычным фотоаппаратом – «переминаясь с ноги на ногу», но правое заменим левым, и наоборот.

Чтобы получить «обратную» стереопару сгенерированного компьютером «псевдообъемного» пейзажа, достаточно для левого кадра стереопары немного сместить «точку наблюдения» вправо, а для правого кадра – влево.

Картинка, полученная в широко известной игре Soldier of Fortune, показана на рис. 10. Здесь смещение «точки наблюдения» достигается командами «шаг влево» и «шаг вправо» при управлении персонажем игры.

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

* * *

В общем, смелее экспериментируйте! Если полученный стереоэффект покажется вам недостаточным, то попробуйте увеличить число градусов при повороте объекта или величину «шага вбок» – для пейзажа. Если понадобится создать «прямую» стереопару для ее распечатки на принтере, то достаточно поменять местами ее левую и правую «половинки». А уж если вам удастся раздобыть пару цифровых видеокамер, то вы и вовсе сможете реализовать на экране своего компьютера собственное стереотелевидение!

Дмитрий УСЕНКОВ,

старший научный сотрудник

Института информатизации

образования РАО

Москва

dscrew69@mail.ru

Оценить:
Читайте также
Комментарии

Реклама на сайте