-
Что это такое
Автостереограммы (иногда встречается просто как стереограммы) - один из способов увидеть реальную трехмерную поверхность.
Если вы научитесь смотреть автостереограммы, вы сможете видеть объемные картинки. Реалистичность объема немного хуже, чем в галограммах и анаглифах. Зато, стереограммы имеют преимущества в том, что их создание очень просто (по сравнению с галаграммами) и их просмотр не требует специальных приспособлений (как цветовые фильтры (очки) в анагилифах).
Сейчас очень попуярны книжки под названием "Магический глаз", которые содержут как раз то, что правильней было бы называть автостереограммами. В таких книжках хорошо изложена техника просмотра автостереограмм.
-
На что это похоже
Типичная автостереограмма похожа на то, как если бы под очень гибкую разноцветную тряпочку положили бы какой-то объект. Эффект "тряпочки" особенно усиливается если смотреть анимированную автостереограмму.
Когда пытаешься смотреть в первый раз, то обычно бывает сложно удержать глаза сфокусированными правильным образом, но после некоторой тренировки глаза сами "цепляются" за нужную позицию и уже не ощущается напряжения в глазах.
-
Как научится смотреть автостереограмму
Примерно 20% людей физиолгогически не могут увидеть объем на автостереограмме. Однако, даже среди 80% остальных не всем это дается легко.
Если коротко, то надо заставить мышцы глаза сделать то, чего они не делали раньше, а именно развести глаза (работают мышцы глазного яблока) так, как будто Вы смотрите вдаль, а сфокусировать глаза (работают мышцы хрусталика глаза) как будто вы смотрите на точку вблизи. В повседневной жизни мышцы глазного яблока и хрусталика работают синхронно, и поэтому, поначалу, трудно заставить их работать по разному - но это возможно, так как это разные мышцы и управляются разными нервными окончаниями.
Ниже приведена картинка которая поможет научится смотреть автостереограммы. Попробуйте смотреть не на экран, а как бы немного за него так что бы картика раздваивалась. На рисунке изображены два крестика, поэтому когда они оба раздвоятся вы будете "смутно" видеть четыре крестика. Вначале попытки посмотреть дальше экрана будет еффект будто раздвоившиеся крестики "плывут" друг от друга. Поймайте тот момент когда два из четырех соединятся в один, таким образом вы будете видеть не 4, а 3 крестика - это будет как раз то состояние которое необходимо для просмотра автостереограмм. крестик по середине будет выглядеть четким и ярким по сравнению с двумя его соседями.
Научившись фокусировать таким образом взгляд, попробуйте сделать тоже самое глядя на ниже приведенную картинку.
К сожаленью подобые картинки занимают очень много места в виде GIF или JPG. Поэтому их не так много в интернете. Но мы сделали несложнй скрипт на Flash, который генерит такие картинки, и поэтому занимает всего 4 Kb.
Вы можете посмотреть эту и другие автостереограммы в оригинале, зайдя в раздел "Примеры" нашего сайта. Для этого у вас должен быть установлен плагин Macromedia FlashPlayer 6-ой версии.
-
Как создать свою автостереограмму
Алгоритм построения автостереограммы, как было выше отмечено, не очень хитрый. Основывается он на том факте, что глубина точки поверхности объемного объекта задается расстоянием по горизонтали двух одиаковых точек на изображении. Чем больше расстояние, тем глубже будет точка.
Ниже приведен ActionScript код, используемый для пострения наших автостереограмм
Создайте во флеше пустой MovieClip, поместите его в точку (300, 200) и вставте ниже приведенный код.
onClipEvent (load) {
function DM (x, y) {
return 50+Math.cos(Math.sqrt(x*x+y*y)/20)*5;
}
dx = [];
dy = [];
s = 15;
}
onClipEvent (enterFrame) {
x = -300-((bx+=15)%70);
y = -200+((by+=4)%(400));
for ( j=0; j<5; j++ ) {
a += (90+random(90))*Math.PI/180;
dx[j] = x+s*Math.cos(a);
dy[j] = y+s*Math.sin(a);
}
clr = ((32+random(64))<<16)|((100+random(156))<<8)|((44+random(160)));
while ( dx[0] < 300 ) {
this.moveTo(dx[0], dy[0]);
this.lineStyle(3, clr);
for ( j=1; j < dx.length; j+=2 ) {
this.curveTo(dx[j], dy[j], dx[j+1], dy[j+1]);
}
for ( j=0; j < dx.length; j++ ) {
x1 = dx[j];
while ( dx[j]-DM(dx[j], dy[j]) < x1 )
dx[j] += 10;
dx[j] -= 10;
while ( dx[j]-DM(dx[j], dy[j]) < x1 )
dx[j]++;
dx[j] -= 0.5;
}
}
}
Этот скрипт создает автостереограмму по функции DM ( x, y ). Для того, что бы задавать произвольные объекты, нужно использовать "карту глубины" этого объекта. Для построения таких автостереограмм потребуетя более хитрая программа.
Пример такой программы вы можете найти здесь:
http://kaluzhny.nm.ru/3DV.rar
-
Контактная информация
- email: info@kgroup.ru
|