Параллакс в системе Вектор,

используемый  в различных приложениях

 

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

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



https://habrastorage.org/getpro/geektimes/post_images/01e/894/d04/01e894d046f43be77c095384a19c5f3c.png250px-Telemetre_parallaxe_principe.svg.png

Справа угол s = 180-90-a

Рис. 3


Из геометрии прямоугольных треугольников, расстояние D
до объекта будет равняться

D=(R/2)/tanα



            Из формулы видно, что когда D меньше, угол, на который линия взгляда на объект отстоит от прямого взгляда, становится больше. Именно этого мы и ожидаем от параллакса.

            А когда астрономы хотят измерить самые большие расстояния, какие только можно измерить при помощи параллакса, они сравнивают изображения удалённой звезды, сделанные с разницей в шесть месяцев, чтобы получить максимальное расстояние R на основании того, что Земля в течение года проходит довольно большое расстояние.

Земля-Луна.jpg    Этап1

Рис. 4. Слева суточный параллакс, справа годичный

 

Задать орбиту и три точки (1,2,3) и затем обратиться к МК:

 

<Параллакс годичный.vbs>

VbsMsg "Угол АОB - задать три точки"

GroupToPolyline

n1 = LastNmb

CurrObjNmb = n1 '   сделали ее активной

ugol = 180-Polyline.Angle(1) '

VbsMsg "Угол АОB = " & Ugol

VbsMsg "Угол в минутах = " & Ugol/60

Rr=6.378

' угол в радианах

ugol_rad = ugol*3.14/180

VbsMsg "ugol_rad = " & ugol_rad

D= Rr/tan(ugol_rad/2)

VbsMsg "D = " & D

 

Полученный результат (для студентов) из системы Вектор сохранить с картинкой в формате А4 (МК 3.1). Расстояние от Земли до Луны 384 400 километров.


       В более общем случае, показанном на рис. 3, когда объект находится не прямо перед вами. Однако не сложно этот случай привести к рис. 2, когда
R привести перпендикулярно к D или R к D .

 

Параллакс ннаклонный.jpg

Рис. 5. На рисунке расчет выводится на экран

В центре находится солнце,
в точках 1,3 положение земли,
в точке  2 - Меркурий

Центр = (-2.73367, 4.05198, 2.84217e-014)

Длина линии = 9.96459

 

Упражнение-пример.  Федор Конюхов на аэростате собирается подняться над Землей на n км. По рисунку определить это расстояние, если зафиксировали направление взгляда с двух точек на пути (для наглядности повернули вместе с шаром на 90 градусов в сторону СП).

ФК в стратосфере на высоте h.jpg

Рис. 6. Расстояние h = 4.52625

(с учетом масштаба это будет 4 тысячи км – не слабо!

 

      Упражнение. ФФ при движении из Новой Зеландии в Чили в небе заметил НЛО,  зависший над землей.

 

НЛО похоже завис над ФК.jpg

Рис. 7. Направления на НЛО, которые вместе  
повернули на 90 градусов

 

      Федор Филиппович решил вычислить, на какой высоте НЛО завис. Для этого зафиксировал угол направления на НЛО в начале (угол=45) и через 12 часов (угол=135), пройдя 100 км (ветер и течение подгоняли).

      Решение через ту же макрос (изменить базис).

      Получили:

      Центр = (-2.08899, -5.44643, 2.9885)

      Высота h = 11.0989   (с учетом масштаба h = 11 км)

 

            Для достаточно удалённых объектов угол α оказывается слишком малым для того, чтобы его восприняли ваши глаза и мозг. В этот момент наше чувство глубины пропадает. Поэтому Луна не кажется расположенной ближе, чем звёзды; они находятся слишком далеко, чтобы ощутить глубину. Также нашего ощущения глубины обычно не хватает, чтобы понять, пройдёт ли самолёт перед или за горой вдалеке. Но это просто ограничение наших глаз.


https://habrastorage.org/getpro/geektimes/post_images/e59/01f/65b/e5901f65b6a25b7f99e0542fc4bb4c00.png


Рис. 8

            Как определить расстояние до более удалённых объектов? Есть два варианта; разработать инструмент, способный измерять углы точнее, чем наш глаз; увеличить R, чтобы сравнивать не вид из глаз, а, например, вид из двух камер, стоящих в нескольких метрах друг от друга, или даже в разных местах континента. Детали этих техник отличаются, но основной принцип тот же, что показа выше — принцип параллакса.

 

Параллакс-пример1

Пример применение эффекта параллакса к черным дырам,
когда объекты влетают в одном 3
D вылетают в другом
(в частности в нашем 3
D) 

Параллакс в дизайне

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

При измерении расстояний до объектов Солнечной системы достаточной базой служит размер Земли; при измерении расстояний до звезд - размер земной орбиты. Например, перемещение наблюдателя вследствие вращения Земли вызывает изменение суточного параллакса - угла, под которым со светила виден радиус Земли, проведенный в место наблюдения. Если светило наблюдается на горизонте, то его суточный параллакс принимает максимальное значение и называется горизонтальным параллаксом. Средний горизонтальный параллакс Солнца 8.8", Луны - 57'.

Перемещение Земли по орбите вызывает годичный параллакс (угол, под которым со светила виден радиус земной орбиты, перпендикулярный лучу зрения). У близких звезд он имеет заметное значение, хотя и не превышает 1". В старых книгах параллакс обозначали греческой буквой $\pi$; в последние годы чаще используют латинскую букву p. Если угол параллакса (p) мал и выражен в радианах, а длина перпендикулярной к направлению на объект базы составляет B, то расстояние до объекта равно D=B/p. Если параллакс выражен в секундах дуги, то расстояние до объекта D=(1/p) парсек = 206 265 (1/p) а.е.

Описанные выше параллаксы называют тригонометрическими, поскольку они основаны на измерении углов. Однако в астрономии используются и другие, косвенные методы измерения расстояний до светил. При этом найденные негеометрическим способом расстояния часто представляют в виде параллактического угла, используя формулу p = (1 пк/D). Так появились динамическийгрупповойсреднийспектральный и энергетический параллаксы.

 

ПАРАЛЛАКС-ЭФФЕКТ в Дизайне

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

параллакс эффект в природе

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

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

Недостатки параллакс-эффекта

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

Альтернативное решение

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

Вывод

Эффект параллакса хоть и популярен, но далеко не все спешат его использовать при создании сайтапо причине вышеозвученных проблем. Видимо, пока просто необходимо время, чтобы  технологии смогли преодолеть возникшие трудности. А пока такой вариант можно использовать на сайтах-одностраничниках: так он точно запомнится и сумеет удержать пользователя.

Параллакс на javascript

·          jQuery–эффект параллакс скроллинга плагин, которые привязывает эффект параллакс к движению колесика мыши

·          Scrolldeck плагин для создания параллакс-эффекта

·          jParallax – превращает элементы страницы в абсолютно позиционированные слои, движущиеся в соответствии с мышкой

Примеры сайтов с параллакс-эффектом

digitalhands.net

Роб Палмер (Rob Palmer), дизайнер и креативный директор из Великобритании, в своей статье «The Troublesome Misconception of Parallax in Web Design» расставляет точки в этом вопросе, показывает, чем параллакс отличается от «просто анимации».

Параллакс — это изменение видимого положения объекта относительно удалённого фона в зависимости от положения наблюдателя.

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

 

digitalhands.net

Картинка входит в 10 лучших – на сайте оригинала картинки
фон можно двигать с помощью колесика мышки

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

1. Nytimes.com

2. Life of Pi

3. Shibui.me

4. Scytale.pt

5. Madebyblock.com

 

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

Это не параллакс. Почему? Давайте вернемся к нашему определению. Где объект? Где две линии взгляда, которые можно объединить в одну? Без выполнения этих условий нельзя говорить о параллаксе.

Параллакс за 90 секунд – видеоурок

https://www.youtube.com/watch?v=ryX632E58jA

 

Давайте такой же эффект в системе Вектор

 

Фон берем  картинку Базыбайского порога

 

Портал_2

Параллакс-анимация в черную дыру попасть
(можно  под второе дно и там золотишка Колчака набрать)

 

Бег0.gif

 

Здесь через черную дыры ФК со своими двойниками напрямую

решили пробежать до мыса Горн и назад вернуться

 

Использовали сначала фрактал для построения двойников ФК, а затем  МК на языке VBS и методов системы Вектор:

' Расширение  пространства с сохранением картинок во втором цикле

for nm =0 To 10 step 1

      obj.scale=1.15

Next

for nm =0 To 10 step 1

      obj.scale=0.85

      if nm =0 Then  SaveImage "C:\Temp\Бег0.jpg"

      if nm =1 Then  SaveImage "C:\Temp\Бег1.jpg"

      if nm =2 Then  SaveImage "C:\Temp\Бег2.jpg"

      if nm =3 Then  SaveImage "C:\Temp\Бег3.jpg"

      if nm =4 Then  SaveImage "C:\Temp\Бег4.jpg"

      if nm =5 Then  SaveImage "C:\Temp\Бег5.jpg"

      if nm =6 Then  SaveImage "C:\Temp\Бег6.jpg"

      if nm =7 Then  SaveImage "C:\Temp\Бег7.jpg"

      if nm =8 Then  SaveImage "C:\Temp\Бег8.jpg"

      if nm =9 Then  SaveImage "C:\Temp\Бег9.jpg"

Next