https://bntr.livejournal.com/67927.html

Обратная перспектива. Ретроспектива

Помню, всё началось с книги Б. Раушенбаха Пространственные построения в живописи (1980).
Он пишет:

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

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

Это читалось примерно в 2001 году. Начались эксперименты.
В том числе нелинейные (по вертикали - прямая, по горизонтали - обратная), т.к. матрицы тогда еще не были знакомы:

В 2003 удалось перенаправить лучи в открытом рендерере Luminaire (для 3DSMax):

Потом пришёл Flash. В 2004 object2 крутился в браузере (теперь реанимирован).

В 2016 вернулся к этой теме с шейдером для Unity:


Мир не стоял на месте.

David Rafael Belmonte строил, писал, рендерил, снимал через линзу:

Daniel Piker в 2009 зарендерил видео True Reverse Perspective с помощью переделанной камеры для AoI:

И наконец, в 2020 Николай Николаев sungreen красиво пропатчил камеру Блендера:


Идеи играть с проекциями разошлись в два направления:
гнуть лучи (пока никак, но можно изогнуть мир перед проекцией)
и перенаправлять лучи более свободно и независимо друг от друга, согласно рассматриваемому объекту.

Искривлённые пространства

В 2001-2003 строил политопы и вращал пространства постоянной (положительной) кривизны:

В 2002 научился конформно отображать комплексную плоскость (возводить в степень)
и задумывал Танчики с перекрытием пространства (на Direct3D):

В 2016 получился шейдер для Unity, а потом Sfera:

Про такое сейчас интересно у CodeParade и HyperBlock.

Мультиперспектива

В 2003 стал гнуть четырехугольный nurbs (он был камерой) и направлял лучи по его нормалям:

Оказалось, это называется Multi-Perspective (1, 2):




drew_fighter: В моём восприятии картины с такими искажениями выглядят противоестественно.
У этих мероприятий есть цель?
(April 17 2021, 12:01:19 UTC) t384343
bntr: Думаю, это может расширить возможности восприятия.
Немного потренировать его - и вот это покажется естественным:
(April 17 2021, 13:49:03 UTC) t384599
drew_fighter: ) (April 17 2021, 14:29:53 UTC) t384855
drew_fighter: Для меня проблема в том, что настолько сильно выраженное искажение перспективы вызывает у меня головокружение, и это неприятное состояние. (April 17 2021, 14:30:40 UTC) t385111
bntr: Кто-то табак ради головокружения курит.
Интересно же узнать возможности своего мозга — что он сможет сложить в картинку, а что нет. (April 18 2021, 03:19:35 UTC) t385367
drew_fighter: В этом смысле — да ) (April 18 2021, 18:51:43 UTC) t385623
Nikolay sungreen: На самом деле я не в курсе, но насколько понял, существует определённая категория людей, для которых обратная перспектива ассоциируется с кодом "свой-чужой". Соответственно по нему можно и нужно искать своих.

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

Но тут дело даже не в масштабе, а в том что при прямой перспективе бесконечность так далеко, что ей можно пренебречь, а при обратной перспективе бесконечность в твоей голове, и осознание этого сопоставимо с принятием гелиоцентрической системы в начале нашей эры. (April 20 2021, 04:06:24 UTC) t385879
bntr: Я заметил, что кроме горизонта, оказывающегося на переднем плане, впечатляет способность видеть предмет сразу со многих сторон.
Свой взгляд ощущается эдаким широким, будто из огромных глаз.
Помню, это оказалось в тему для симулятора кубика Рубика:


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

(April 20 2021, 09:37:29 UTC) t386135
bntr: Ну и вот такие пассажи прикалывают:
Это противопоставление двух перспектив могло отражать противопоставление двух точек зрения и на мироустройство. Религиозная картина мира всегда предполагает знание того, как устроен космос. Но поскольку в средние века этот космос мыслился утроенным для Бога, то средневековый иконописец и изображал мир таким, каким его видел Бог, а не таким, каким его стал видеть ренессансный художник, сделавший собственный глаз центром видимой вселенной. Поэтому обратная перспектива предполагала божественную точку зрения, а ренессансная перспектива основную роль отводила человеческому восприятию.
Олег Тарасов ФЛОРЕНСКИЙ И ОБРАТНАЯ ПЕРСПЕКТИВА. ИЗ ИСТОРИИ ТЕРМИНА
https://cyberleninka.ru/article/n/florenskiy-i-obratnaya-perspektiva-iz-istorii-termina (April 20 2021, 09:41:05 UTC) t386391
Nikolay sungreen: Мне думается, что на Флоренском многие спекулируще паразитируют. И это касается не только в частности обратной перспективы, но и других элементов его доктрины.

Касаемо противопоставления двух перспектив, хочу еще раз подчеркнуть реализацию "мягкого", "бесшовного" перехода от обратной перспективы к прямой через ортогональный вид. То есть по сути к двум классическим состояниям "перспектива" и "ортогональный вид", не добавляется "обратная перспектива", а все эти состояния рассматриваются как частные одного общего универсального подхода — то есть плавного изменения "перспективы" от -1 до 1, где (-1) обратная перспектива, (0) ортогональный вид, (1) перспектива.
Меня более опечалило традиционное игнорирования реализации обратной перспективы в 3D рендерах. В силу просторы проекционной матрицы, коды рендеров кастратно оптимизированы для ускорения трассировки и оказалось не так просто впихнуть обратную перспективу в этот код. Но мне удалось реализовать это в Blender. (April 20 2021, 16:30:02 UTC) t386903
bntr: Думаю, рендерщикам не так просто всерьёз отнестись к этим искажениям.
Ведь какие художественные замыслы оно может помочь воплотить?
Вот выше - семья из Карлсона - там хорошо: от лица Малыша, и он как бы чувствует себя маленьким.
Когда-то набросал эдакую Тайную вечерю с похожим замутом:

А что еще?

Вот ты говоришь (я по-свойски такой сразу ;)) "были обращения от пользователей усилить..".
А есть где-то посмотреть творения пользователей, кроме твоего ютуба (и презентации Paul Bourke: я так понял, его картинки тоже сделаны твоей камерой) ? (April 21 2021, 06:47:59 UTC) t387415
Nikolay sungreen: Если вопрос "А что еще?" имеет контекст "Зачем?", то отвечу — не знаю. Честно не знаю, и понимаю что Никто не знает. Причем этот Никто может делать вид что понимает и знает. Но есть отдельные моменты в спектре ощущений в моём личном восприятии этих изображений от детского умиления до тошнотворного физического отторжения. При этом суть изображения может оставаться та же при разной перспективности. Еще важно, на мой взгляд, выходить за пределы изображения и сводить линии в своей голове, пытаясь осознать собственное место в этом пространстве.

C Паулем переписывались неоднократно на форумах и почтой, в том числе и по этому вопросу. В каких-то своих презентациях он также давал ссылки на эту камеру. Мне с ним нравиться общаться, он фанатик любых геометрических трансформаций, проекций. (April 22 2021, 00:16:31 UTC) t387671
Nikolay sungreen: Добавлю, что получить обратную перспективу, а на самом деле и любую перспективу, можно с помощью классической матрицы вида в OpenGL и подобных API. Код будет состоять из одной строчки с нужными параметрами матрицы, а точнее последнего его ряда, который для перспективы обычно выглядит как {0,0,1,0}, а для обратной — {0,0,-1,1} (или в некоторых вариантах {0,0,-1,0} и {0,0,1,1})
https://math.stackexchange.com/a/3747701/804992
(April 22 2021, 01:07:56 UTC) t387927
bntr: Проекционные матрицы конечно хорошо. А железо могло бы уже считать и матрицы 5х5 - можно было бы проецировать нелинейно, типа fisheye или такого:


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

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

И наконец вот: искажая мир проекционной матрицей, мы никогда не сможем посмотреть на одно и то же место с разных сторон.
А вот чего можно было бы достичь с ray tracing:

(https://www.glassner.com/wp-content/uploads/2014/04/MSR-TR-2000-05-Cubism-and-Cameras.pdf )
(на ту же тему: https://media.disneyanimation.com/uploads/production/publication_asset/46/asset/multirama_1997.pdf )

Что ты думаешь о таком нелинейном ray tracing без матриц? (April 22 2021, 04:29:11 UTC) t388183
Nikolay sungreen: Думаю, что нужно подумать :) (April 22 2021, 05:33:21 UTC) t388439
drew_fighter: То есть, определённый запрос от людей на "обратную перспективу", хотя бы в качестве аттракциона — есть. Хорошо :) (April 20 2021, 09:43:47 UTC) t386647
Nikolay sungreen: надеюсь это не вопрос монетизации (April 20 2021, 16:31:56 UTC) t387159
..