Корабли в бутылках

Когда в глазах двоится

Стереоизображения в сети Интернет

Артем ПОПОВ
a-artem-m@mail.ru

Каждый из нас, порывшись в ящике со старыми игрушками, наверняка найдет в нем стереоскоп и набор слайдов. Отдельные счастливчики может быть обнаружат даже красно-синие очки и книжку с двухцветными картинками. Любой "хорошист" знает, как делается стереоснимок: предмет фотографируют с двух разных точек, расположенных на расстоянии 6 сантиметров друг от друга (6 см - примерное расстояние между глазами человека), а затем рассматривают полученные снимки в стереоскоп. Хотя при просмотре каждый глаз видит только одну картинку, человеческий мозг, по привычке, совмещает два изображения и, в совокупности, видит объемную картину. Все очень просто; и то, что вчера казалось удивительным, сегодня вряд ли вызовет интерес у избалованной трехмерными играми и графикой компьютерной общественности. Так думал и я, пока на глаза случайно не попала программка, создающая странные, похожие на набор случайных цветных точек, картинки. Сняв от недоумения очки (обыкновенные, а не стерео), и взглянув на изображение невооруженным, несколько размытым близоруким взглядом, я вдруг узрел изображение шагнувшего прямо с экрана дракона! Увиденное настолько заинтересовало, что, не теряя времени, я принялся "сканировать" Интернет, выискивая все, что касается стереограмм. Признаться, открывшийся мир поразил! Оказалось, что стереоизображение можно получить простыми средствами, буквально на пустом месте!

Растопырьте глаза пошире

Как правильно смотреть на стереокартинку

Для просмотра стереоизображений требуется некоторая подготовка. Не каждому удается сразу увидеть их. Однако, в большинстве случаев, после небольшой тренировки почти любой человек способен проникнуть в тайну изображения. Не вдаваясь в детали, можно выделить два главных способа просмотра: параллельный и перекрестный.

Параллельный способ

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

Перекрестный способ

Гораздо сложнее научиться рассматривать изображения перекрестным способом. Взгляд нужно сфокусировать в воображаемой точке перед изображением. Отодвиньтесь от картинки (или экрана) на расстояние вытянутой руки. Поместите указательный палец между глазами и изображением на расстоянии 20-25 см от кончика носа. Теперь, стараясь не засмеяться, добейтесь того, чтобы и палец и изображение были видны резко. Сделать это непросто, но после ряда тренировок можно освоить и этот способ.

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

Стереокартинки, используемые для параллельного и перекрестного просмотра - разные. Если вы попытаетесь посмотреть картинку, созданную для перекрестного просмотра, параллельным способом, то увидите совсем другое изображение (вывернутое наизнанку). Настраиваясь на просмотр тем или иным способом, очень важно добиться полной резкости изображения. Только в этом случае вы увидите именно то, что задумал автор картинки. Если вы близоруки, то очки лучше снять. Так вам будет проще настроиться.

Как правило, автор картинки указывает способ, которым нужно пользоваться при просмотре его произведения. Так, все картинки на этих страницах предназначены для параллельного просмотра (как более легкого).

Три координаты стереомира

Сделайте нас трехмерными

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

СТЕРЕО ТЕКСТ  СТЕРЕО ТЕКСТ СТЕРЕО ТЕКСТ  СТЕРЕО ТЕКСТ

Добейтесь, чтобы к четырем добавилось пятое словосочетание СТЕРЕО ТЕКСТ. Оно (центральное) "оторвется" от строки и воспарит над ней. (Для правильного просмотра очень важно, чтобы словосочетаний было именно пять, а не шесть, и изображение оставалось резким.)

В чем секрет? Всего лишь в расстоянии между словами! Оказывается, для получения стереоэффекта достаточно лишь немного изменить расстояние между одинаковыми объектами. Это касается не только текста, но и любых других предметов, выбранных для создания стереокартинки. Но не только взаимное положение влияет на глубину стереоизображения. Эффект определяется цветом предметов, контрастом, фоном, окружением и т.д.


Как рассматривать стереоизображения
Общие требования: Изображение должно быть хорошо и равномерно освещено. Если вы близоруки - попробуйте снять очки. Иногда это облегчает задачу. Добивайтесь полной резкости изображения. Отсутствие резкости - следствие неправильной фокусировки глаз.
Параллельный просмотр Способ 1 (Wall-eye)
Поместите картинку на расстоянии 20-25 см от стены и на таком же расстоянии от изображения расположитесь сами. Сфокусируйте взгляд на стене, смотря поверх картинки.

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

Способ 3 (Reflection) (Этот способ наиболее прост. Если вы совсем отчаялись - попробуйте его.)
Возьмите любой прозрачный гладкий предмет, например, стекло или прозрачную пленку. Положите его на изображение. Сфокусируйте взгляд на отражении, например, собственного лица или лампы.

Перекрестный просмотр Способ 1
Отодвиньтесь от изображения на расстояние 50-60 см. Поместите указательный палец между картинкой и глазами на расстоянии 20-25 см от кончика носа. Сфокусируйте на нем взгляд и одновременно добейтесь резкого стереоизображения.

Способ 2
Снова возьмите любой прозрачный предмет, например, стекло или прозрачную пленку. Чернилами или фломастером нанесите на него маленькую точку. Поместите предмет между изображением и глазами. Сфокусируйте взгляд на нанесенной точке.

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

Способ 2
Отгородите картинки друг от друга листом бумаги так, чтобы каждый глаз видел только одно изображение.

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

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


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

1. Двойные стереофотографии. Классические стереокартинки, известные еще с XIX века. Два снимка, совместившись, дают стереоэффект.

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

3. Многоэлементные стереокартинки. Стереоизображение получается сложением группы одинаковых элементов.

4. Изображения из случайных точек (SIRDS: Single Image Random Dot Stereogram или SIS: Single Image Stereogram).

5. Изображения из случайных текстовых символов (SIRTS: Single Image Random Text Stereogram). Их еще называют ASCII-стереограммы.

6. Анимационные стереоизображения. Изображения, состоящие из одной картинки (SIS, SIRDS, SIRTS), иногда называют автостереограммами (Autostereogram). Некоторые стереограммы представляют собой комбинацию разных типов изображений, так что не всегда легко понять, где кончается один вид и начинается другой.

Стереофотографии
Для создания стереофотографий требуется специальная аппаратура. Сделать такие снимки самостоятельно довольно сложно. Однако, посмотреть готовые не составит труда. Для них был специально придуман несложный графический формат (JPS) и подключаемый модуль DepthChargz0e, облегчающий просмотр стереофотографий в броузерах Internet Explorer и Netscape Navigator. Формат представляет собой немного модернизированную JPEG-картинку. Подключаемый модуль DepthCharge позволяет просматривать изображение в полноэкранном режиме и произвольно задавать тип картинки. Вы, например, можете рассматривать изображение параллельным способом, затем попробовать перекрестный, а на десерт сделать себе красно-синие очки (для DepthCharge неважно, какой глаз будет смотреть через красное стеклышко, а какой через синее; программа позволяет выбрать любую комбинацию /даже красно-зеленую/) и вдоволь погулять, вместе с любимым американским марсоходом, по "красно-синей" планете Марс (www.3dexpo.com/gallery_mars.htm).

Многоэлементные стереоизображения
Обратимся теперь к изображениям, которые несложно построить самому.

С многоэлементными картинками вы уже познакомились. Стереотекст, который вы видели, и есть то самое многоэлементное изображение. Количество элементов в нем не ограничено (вы вполне можете добавить в пример еще несколько словосочетаний). Многоэлементное изображение позволяет простыми средствами получить потрясающие стереоэффекты. Изменив расстояние между одинаковыми объектами, можно "выдвинуть" или, наоборот, "утопить" их относительно окружающих предметов. По адресу www.slip.net/~themook/3D/010597.htm находится хорошее руководство, объясняющее, как добиться стереоэффекта. Там же вы найдете пошаговую инструкцию по созданию стереокартинки в Corel Draw. Простым изменением расстояния можно получить только плоские объекты, выступающие над фоном. Чтобы придать фигуре больший объем, нужно последовательно разместить в ряд несколько изображений предмета, каждое из которых немного повернуто относительно соседа.

Сделать это несложно. Вы можете воспользоваться любой программой, позволяющей создавать или просматривать 3D изображения. Сделайте несколько картинок, последовательно меняя точку наблюдения (например, кубики на рисунке были поочередно скопированы из Netscape Navigator с подключаемым модулем для просмотра VRML-миров Cosmo Player).

Стереоизображения из случайных точек
Это не бессмысленный набор точек. Это стереограмма, сделанная с помощью программы CrossEye (ftp://fmechds01.tu-graz.ac.at/pub/graphics/3dcreate/). Если вам повезет, лист превратится в геометрическую поверхность, напоминающую круги на воде. Мы подобрались к самому необычному - изображениям из случайных точек. Приведенный рисунок и есть простейший пример такой картинки. Сделать стереоизображение из случайных точек вручную без дополнительных инструментов затруднительно. Поэтому для дальнейшей работы следует запастись хорошей программой. Наиболее удачная - Stereogram Workshop (www.abacuspub.com/catalog/s280.htm). Вы можете загрузить демо-версию, единственное отличие которой от полной - отсутствие команды Save. (Беда не большая. Можно "схватить" изображение экрана и затем убрать лишнее с помощью любого графического редактора). Программа POPOUT PRO (www.smartcode.com/nonsmart.htm) хотя и не так удобна, зато обладает дополнительными возможностями по выбору цветов случайных точек.

Процесс создания изображения из случайных точек выглядит так: в программу загружается картинка-основа (Depth Image). Она представляет собой изображение в режиме Gray Scale (256 градаций серого). Яркость конкретной точки определяет ее пространственное положение. Иными словами, светлые элементы будут казаться расположенными ближе к наблюдателю, чем черные. Основа преобразуется в набор на первый взгляд хаотично разбросанных цветных точек. Однако каждая точка проставлена в точном соответствии с алгоритмом, который и дает стереоэффект. Изображение может быть заполнено не только точками, но и любой текстурой. Вот как будет выглядеть после этого изображение нашего паровозика.

Правильно подобранная текстура может подчеркнуть детали изображения и улучшить восприятие. Создать качественную основу для стереоизображения из случайных точек непросто. Обычный перевод цветной картинки в режим Gray Scale в большинстве случаев не дает результата. Чтобы стереограмма выглядела реалистично, необходимо заполнить изображение градиентом, тщательно подобрав его параметры. Готовые заготовки Depth Image можно найти на www.cs.unc.edu/~mcmillan/.

Стереограммы из ASCII-символов
Удивительно, но стереокартинки весьма неприхотливы. Вы можете менять глубину цвета, размеры изображения - эффект не пропадет. Можно сделать даже черно-белую картинку, а затем злодейски распечатать на матричном принтере с измятой лентой, - остатки стереоэффекта все равно будут присутствовать. Стереоизображение можно получить из любых элементов, которые хотя бы с натяжкой можно назвать идентичными. Такими элементами вполне могут быть обычные текстовые символы. Вообще говоря, текстовые стереоизображения ничем не отличаются от остальных: принцип их построения абсолютно схож. Их выделили в отдельный класс по традиции; так же, как мы привыкли разделять DOS - Windows, графика - текст.

Текстовые картинки могут быть как многоэлементными, так и состоять из случайных, теперь уже ASCII, символов. Вы уже видели, как можно сделать стереотекст. Тот, кто увлекается ASCII-графикой, без труда изобразит и более сложную фигуру. Правила, по которым строятся ASCII-стереограммы можно изучить на lucy.cs.waikato.ac.nz/~singlis/sirds/general.php. Там же вы сможете насладиться гениальными по своей простоте ASCII-стереограммами. Подобно изображениям из случайных точек, ASCII-стереограмма может быть построена из случайных текстовых символов. Сделать это без посторонней помощи довольно сложно. К сожалению, программу, которую можно было бы загрузить на компьютер, мне найти не удалось, зато обнаружился узел, где можно построить ASCII-стереограмму непосредственно в режиме On-Line: coder.com/creations/stereo/. Программа, осуществляющая преобразования, написана на языке Perl, и код ее доступен для каждого (программа очень незамысловата и ее несложно переписать под любую ОС).

Анимационные стереоизображения
Стереограммы могут двигаться! "Оживленные" с помощью Java-апплетов стереограммы доступны на www.kondo3d.com/stereo/index.php. Можно попытаться построить анимационное стереоизображение и с помощью GIF89A. Хотя это значительно сложнее обычных рисунков, но некоторого эффекта можно добиться и здесь.

Применение стереограмм
Есть ли польза от стереокартинок?
На первый взгляд, стереоизображения кажутся совсем бесполезными игрушками. Но это далеко не так. Оказывается, стереограммы даже полезны для здоровья! Для тех, кто все дни проводит за компьютером, вперив остановившиеся глаза в одну точку экрана, просмотр стереограмм предлагает прекрасную разминку для глаз. Особенности стереограмм заставляют глаза менять привычную точку фокусировки, тем самым сберегая наше зрение.

Весьма полезно рассматривать стереоизображения. Не лишнее даже установить на своем компьютере стереообои и время от времени обращать взор к ним.

Разглядывание стереокартинок - само по себе приятное времяпрепровождение, однако развлечения в стереомире на этом не исчерпываются. На сервере cvs.anu.edu.au/andy/rid/riddle.php вы сможете поиграть в незамысловатую стереоигру. Игра предлагает побродить по трехмерному лабиринту (реализована игра весьма примитивно, но идея хорошая).

Сугубо практическое (и в высшей степени полезное) применение стереокартинок предлагается на torina.fe.uni-lj.si/~zlobec/sang/sang2.php. Изучение математики! Пространственные стереоизображения геометрических фигур позволяют лучше представить их структуру, а строгие принципы построения - развить математические способности.

Использование стереоизображений на веб-страничках

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

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

Хотя страниц, полностью построенных на стереоизображениях, найти не удалось, но несколько удачных элементов обнаружилось. Например, замечательные стереообои на www.cs.unc.edu/~mcmillan/. Попытаемся обобщить увиденное и выработать некоторые рекомендации по оформлению веб страниц:

1. Необходимо предупредить посетителя, что рисунок, на который он смотрит, - стерео, и объяснить как его увидеть.

2. Информация, представленная в стереовиде, должна быть читаема и "невооруженным" глазом.

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

4. Правильно подбирайте размер картинки. Если ее ширина слишком мала, увидеть этот эффект будет сложно. Посмотрите на картинку при разных режимах монитора. Стереоэффект должен сохраняться в любом случае. Практика показывает, что в режиме экрана 800х600 эффект теряется при ширине изображения менее 85 пикселов. Оптимальная ширина стереокартинки лежит в диапазоне 300-500 пикселов.

В журнальной статье невозможно коснуться всех аспектов стереографики.

Хотите узнать об этом больше? Поищите в сети Интернет, например, на сервере www.altavista.com (в качестве запроса введите stereogram*).