Четвёртое измерение

Описание: Новости науки и техники. Всё то, о чём раньше Вы могли только мечтать. Магия современности.

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#1 dyvniy » Пт, 17 октября 2014, 13:38:54

Рэйтрэйсинг на шарпе)
http://habrahabr.ru/post/113485/
Изображение
Спойлер
Четырехмерный рендеринг: особенности, проблемы, варианты решения
Алгоритмы*


В комментариях к статье «Рейтрейсер на JavaScript» ее автор ankh1989 рассказал о планах написать рейтрейсер для четырехмерного пространства. Кое-какие свои мысли на эту тему я попробую изложить здесь.



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

Как можно поступить? Варианты могут быть такими:

1) строим трехмерное сечение сцены. Рассматриваем его как обычную 3D сцену, и выполняем рендеринг по законам трехмерного пространства.

2) Проецируем 4D на 3D (например, параллельной проекцией). Считаем, что видимые точки проекции наследуют свойства своих оригиналов, и, опять же, выполняем 3D рендеринг.

3) Выполняем центральную проекцию 4D на 3D, используя алгоритм четырехмерного рейтрейсинга. Получаем трехмерный массив пикселей. Теперь каким-то образом проецируем его на 2D. Есть такие варианты:

3a) выбираем любое направление, и на каждой линии, идущей в этом направлении, находим первый заполненный пиксель (параллельная ортогональная проекция). Цвет этого пикселя и даст цвет точки итоговой картинки.

3b) то же самое, но используем центральную проекцию.

3c,d) берем проекцию из (3a,b), но вместо того, чтобы взять цвет первого пикселя линии, усредняем все цвета, попавшие на линию.

Первые два подхода отбрасываем, как неинтересные (хотя в некоторых случаях они могут оказаться полезными). И рассмотрим, например, вариант 3b.



Итак, у нас есть камера, находящаяся в начале координат, и направленная в сторону Ow=(0,0,0,1). Точку с координатами (x,y,z,w) она проектирует в (p,q,r) = (x/w,y/w,z/w). Видны только точки, у которых w>0.

Вторая камера находится в трехмерном пространстве где-то на оси Or (точка (0,0,-a)) и проектирует точку (p,q,r) на двумерный экран, в точку (u,v)=(p/(a+r),q/(a+r)). Подставив значения p,q,r из первой формулы, получаем, что (u,v)=(x/(z+a*w),y/(z+a*w)). Это значит, что вместо двух центральных проекций нам достаточно обойтись одной — нужно только повернуть камеру. Вторая проекция будет ортогональной — вдоль оси, перпендикулярной как экрану, так и оси камеры.Таким образом, варианты (3a) и (3b) эквивалентны.

Теперь посмотрим внимательнее, что же эти проекции собой представляют. Легко понять, что в каждый пиксель экрана попадает информация о лучах, приходящих из некоторого плоского угла. Таких лучей одномерное множество, и либо мы берем их все (и, например, усредняем — это будут варианты (3c,d), либо выбираем один из лучей, пришедших не из пустоты, например, самый левый — это будут варианты (3a,b).



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

Что же получилось?

Сначала я разместил все объекты сцены (включая камеру) в одной плоскости w=0. Естественно, результат рендеринга не отличается от трехмерного (только качество похуже, я не очень старался):



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



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

Кроме того, изменилась форма подставки. Теперь видно, что она не плоская, а трехмерная, на самом деле она состоит из 5*5*3=75 3D-кубиков.



После следущего поворота картина изменилась еще сильнее: два шарика утонули в подставке, остался только один — и тот наполовину погрузился.



И, наконец, поворот на 90 градусов от исходной позиции: теперь мы смотрим с направления w. И снова видим одну сторону подставки, размером 3*5.

Второй опыт. Вернем камеру на место, а шарики сдвинем в направлении w (в разные стороны). Видно, что исчезли отражения красного и зеленого шариков в большом шаре, а кроме того, резко уменьшился размер отражения красного шарика в плоскости.С тенями тоже что-то не в порядке:



После поворота отражения исчезли совсем:



Для следующей сцены я использовал новый объект — «трубки со сферическим сечением». Если положить 4 таких трубки в разных ориентациях на плоскость, получится вот что:



Что за странный объект находится на переднем плане, я не понял. По-моему, это дырка. Или ошибка в программе.

После первого поворота исчезли отражения:



А после второго трубки утонули, зато отражения вернулись!



Четвертая сцена — реберная модель тессеракта, составленная из шариков и сферических трубок. На первом кадре шариков только 8: мы смотрим с такой стороны, что они закрывают друг друга:



Обратите внимание на отражение в плоскости. Оно состоит из 8 зеленых сфер — это сечения трубок, попавшие на плоскость w=0.

После поворота камеры стали видны все 16 вершин, а отражение в сфере стало непредсказуемым:



После следующего поворота кубик наполовину утонул:



А потом вынырнул с другой стороны, но пересекся с зеркальной сферой:



А это попытка поместить кубик в пространство со сферами и посмотреть на его тень.



По большому счету, смотреть не на что.

Итак, видно, что при выбранной проекции результат малопредсказуем, и мы видим только часть поверхности объектов — и если на ней есть интересные детали, то они от нас скрываются. Вероятно, для более полных картин придется воспользоваться усреднением по многим лучам. Надеюсь, что 100 лучей на угол будет достаточно.
четырехмерное пространство, рендеринг, рейтрейсер, нужна ли математика программисту
+62 936
39Mrrl 158,8
Похожие публикации
О спец-курсе в школе и нужно ли заставлять детей учиться? 7 октября в 23:53
Насколько программисту нужно знать математику? Что думают в Яндексе 6 октября в 14:58
Нужна ли в России поддержка национальных разработчиков ПО? Once upon a time in Russia 1 октября в 02:23
Нужно ли программисту профильное образование? Что думают в Яндексе 1 сентября в 14:31
Нужно ли создавать российский Huawei? 10 июня в 09:10
Нужны ли менеджеры в IT? 17 апреля в 10:28
x3650 M4 – а нужно ли HD? 17 февраля в 14:47
Cracking the PM Interview — нужна ли книга на русском? 24 января в 15:47
Нужно ли быть программистом, что бы воплощать концепции? 17 ноября 2011 в 11:53
Рейтрейсер четырёхмерного пространства 1 марта 2011 в 19:24
Комментарии (74)

+2 TheShock,10 февраля 2011 в 02:00#
Очень доступно было бы все это с возможностью покрутится в риалтайме.
Если знаешь, что поворачиваешь голову направо — меняется это и это, если крутишься по оси Х — другое.

Возможно, небольшое видео объяснило бы всё очень доступно.
+2 Mrrl,10 февраля 2011 в 09:13#↵↑
В реалтайме — вряд ли, а ролик можно попробовать сделать. Задать движение камеры, и пусть программа штампует картинки. Правда, как их потом объединить в видео, я пока не знаю.
+2 bagyr,10 февраля 2011 в 10:34#↵↑
Это меньшая из проблем:
www.mplayerhq.hu/DOCS/HTML/en/menc-feat-enc-images.html
НЛО прилетело и опубликовало эту надпись здесь
+1 TheShock,10 февраля 2011 в 02:01#
Кстати, на чём рейтрейсер писали и как производительность?
0 Mrrl,10 февраля 2011 в 02:10#↵↑
Писал на C#, консольное приложение. Производительность зависит от числа объектов. Последняя сцена (52 объекта) — 7 секунд на растр 1000*1000. Та, где кубик на плоскости (124 объекта) — 14 секунд.
0 TheShock,10 февраля 2011 в 02:12#↵↑
А сколько лучей на каждый пиксель стреляете?
0 Mrrl,10 февраля 2011 в 02:14#↵↑
Один луч — в точку, которую анализатор углов счел ближайшей. Дальше луч может отражаться. Сглаживания по нескольким лучам не делал.
+14 wirzus,10 февраля 2011 в 02:04#
«Четырехмерное пространство представить себе невозможно. Лично я с трудом представляю себе даже трехмерное пространство!» С.Хокинг
0 Mrrl,10 февраля 2011 в 02:12#↵↑
Я уверен, что Хокинг оперирует четырехмерным пространством не хуже, чем большинство людей — двумерным. На самом деле, представить и понять его не трудно, надо только забыть, что наш мир трехмерный :) И выработать правильную терминологию.
0 XHunter,10 февраля 2011 в 02:57#↵↑
Спорный вопрос. Попробуйте представить обычную, квадратную коробку одновременно со всех сторон :) Да и что бы что-то представить надо это 1 раз увидеть.
+2 wirzus,10 февраля 2011 в 03:02#↵↑
представляя коробку с тех сторон, с которых её не никто не наблюдает можно достичь просветления
+4 ZiggiPop,10 февраля 2011 в 05:56#↵↑
Представить коробку со всех сторон скучно, гораздо интереснее представить себе дом с окнами с каждой стороны, геранью, кошкой, зановесочками и прочими предметами и существами внутри и снаружи дома.

Также интересно представить себе дом в виде тессеракта (правда представить дом удается только в трехмерной проекции, но собственное передвижение по нему представить совсем не сложно. Но мозг отказывается понимать то, что находясь в любой из комнат такого дома, ты одновременно находишься вне него, и… не можешь покинуть его. К тому же любая из стен одновременно — пол и потолок. Зато компактность такого дома поражает — шесть комнат при площади и объеме занимаемого пространства в трехмерном пространстве в разы меньше.

Но признайтесь, было бы любопытно на закате дня выпить по бутылочке Klein’s Beer на крылечке такого дома. Не дом, а мечта Мориса Эшера :)

+2 Mrrl,10 февраля 2011 в 08:34#↵↑
На каком-таком крылечке, если из дома выйти невозможно? :)
Комнат не 6, а 8. И будут проблемы с ориентацией — если мы не запретим часть проходов между комнатами. А так, нормальный дом. Еще Хайнлайн про такой писал…
А бутылочка Клейна стоит у меня перед монитором. Правда, в виде стеклянной самопересекающейся модели…
0 ZiggiPop,10 февраля 2011 в 10:30#↵↑
>Комнат не 6, а 8.

Да, спросонья ошибся, ригидность мышления: если куб, то шесть.

конечно же восемь.

>На каком-таком крылечке, если из дома выйти невозможно? :)

Это крылечко будет и снаружи и внутри дома :)

>А так, нормальный дом. Еще Хайнлайн про такой писал…

Дом, который построил Тил? Ага. Но у Хайнлайна там представляется, что только одна грань тессеракта прилегала к определенной точке пространства, как результат — дом выглядел как куб в каждой из таких точек. Но если бы тессеракт пересекался бы нашим пространством, то он совсем не обязательно он был бы кубом в нашем пространством. скорее всего проекция сечения была бы очень интересная, например такая как на последнем скрине в статье.
+6 dust,10 февраля 2011 в 06:11#↵↑

+5 beetleinweb,10 февраля 2011 в 11:18#↵↑

+1 Mrrl,10 февраля 2011 в 11:23#↵↑
А лучше наоборот, 6 внешних кубиков растянуть (чтобы широкими концами смотрели наружу), потом склеить, а нижним (большим) кубиком закрыть крышку. «На себя» склеивать развертки удобнее, рабочая область оказывается на ближней стороне модели, а не на дальней :)
0 beetleinweb,10 февраля 2011 в 11:47#↵↑
Понравился и ваш вариант, спасибо :) Кстати, если склеивать большой куб на себя, можно оказаться и внутри, вы поосторожнее там :)

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

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

Возможны и промежуточные стадии (7, 6...), но я попытался ещё представить 4-мерную руку с противостоящими большими пальцами в 2 ряда. С такой лапищей лично я бы шиканул и свернул в 2 приёма :)
+1 Mrrl,10 февраля 2011 в 12:13#↵↑
В ближайших планах у меня нарисовать 4D-человечка (из шариков и палочек) — как он стоит, сидит, идет, обнимается… У них получается по 3 руки, ноги и глаза. Руку представить не пробовал. Там пальцы можно ставить даже не в 2 ряда, а расположить ежом по полусфере. Штук 10-12 разместить легко.
0 beetleinweb,10 февраля 2011 в 12:18#↵↑
Щаз кто-нибудь скажет про «это»… Назовём уж словом «любовь» :) С различными спекуляциями на тему гуперорешков. Хотя беременность будет пожалуй поинтереснее… с точки зрения чистой топологии :)
0 beetleinweb,10 февраля 2011 в 12:19#↵↑
*гипер
0 Mrrl,10 февраля 2011 в 12:29#↵↑
Гиперкамасутра…

В топологии беременности не вижу ничего особо интересного, там все то же самое. Может быть, как-то повлияет то, что в 4D нет узлов и две трубки не могут зацепиться друг за друга.
0 beetleinweb,10 февраля 2011 в 13:06#↵↑
Блин… А пупок?
0 Mrrl,10 февраля 2011 в 13:13#↵↑
И что, что пупок? Сферическая дырка. Из которой идет трубка со сферическим же сечением (вроде тех, из которых построен каркас гиперкуба). Внутри ее трубки поменьше (в сечении — маленькие сферы внутри большой), которые, к счастью для плода, не могут перекрутиться.
Со стороны плаценты — то же самое.
0 beetleinweb,10 февраля 2011 в 13:16#↵↑
Да не, меня насторожило «что в 4D нет узлов». Я не акушер, конечно, но всегда думал, что для того чтобы получился пупок, пуповину надо завязать узлом :)
0 Mrrl,10 февраля 2011 в 13:19#↵↑
Три недели назад пришлось принимать роды у собаки. Пуповина сама сжималась, даже перевязывать не пришлось. Но чем ее можно пережать при необходимости, надо подумать. А узлом не завяжешь, это точно.
0 beetleinweb,10 февраля 2011 в 13:29#↵↑
В детстве была кошка… тоже не припомню, чтобы она что-то завязывала котятам. Ок, убедили, что мы не общаемся с четырёхмерными существами не по той причине, что они вымерли, не научившись завязывать детишкам пупки :)

Однако на модели можно отразить факт невозможности завязывания узла. Можно сворачивать края трубки, пока увеличивающийся в диаметре бублик не зажмёт отверстие. Пупок в виде бублика на модели будет выглядеть интригующе :)
0 Mrrl,10 февраля 2011 в 13:50#↵↑
Самое интересное в этом «бублике» — что в качестве оси у него не окружность, а сфера :)
+1 beetleinweb,10 февраля 2011 в 14:24#↵↑
Ну да, гипертор же…

Можно ещё попробовать делать модели полупрозрачными. Эта «плёнка» поможет представить, что некие поверхности находятся снаружи, даже если они со «всех» 3D-сторон закрыты. Фигуры-утопленники будут видны получше.

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

Гляньте тут, кстати, что можно сотворить: http://en.wikipedia.org/wiki/Tesseract. Про видео вам уже подбросили идею, а с полупрозрачностью и разноцветным светом вообще будет роскошно смотреться.

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

Ролик «4D-tango» (втроём может быть, раз уж трёхрукие? :) ), даже без учёта физики гравитации, в невесомости, было бы интересно глянуть. С гравитацией же, для упрощения, можно использовать «лёд», т.е. забить на правдоподобное трение. Вращение в прыжке (4D-двойной-тулуп) с выворачиванием наизнанку и взаимопроникновением нескольких тел (с точки зрения 3D наблюдателя) взорвёт 3D мозг :)

Если когда-нибудь начнёте такой проект, могу помочь с дизайном — я немного рисую, да и с 3D баловался. Думаю, композитора здесь тоже можно найти. Новый хит написать вряд ли получится, но обработку нескольких классических тем можно создать для музыкального сопровождения. Старое танго на электрогитаре — и Сантана отдыхает :)
0 Mrrl,10 февраля 2011 в 15:05#↵↑
Гиперторов есть два — в одном окружность намотана на сферу (сферический бублик), в другом — наоборот (сферическая трубка, замкнутая в окружность). А еще есть такой замечательный объект, как плоский тор — произведение двух биперпендикулярных окружностей (а произведние двух кругов — бицилиндр — это что-то вообще непередаваемое).

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

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

Для трехруких существ подошел бы танец вчетвером — они могут встать в вершинах тетраэдра, попарно взявшись за руки. А может, и нет — тогда бы люди танцевали втроем… Заставить 4D-человека ходить — уже было бы интересно. Или сидеть, сплетя ноги в косичку…
0 beetleinweb,10 февраля 2011 в 15:28#↵↑
Я поначалу представил себе, конечно, простую замкнутую сферотрубочку. Сферический бублик воспринял с трудом, но получилось. А потом фантазия пошла дальше — я замкнул трубу из 3D-тора в сечении :)

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

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

Вообще-то да, простым умножением увлекаться не стоит. Например, в нашем 2D зрении третий глаз тоже не помешал бы. Из-за его отсутствия мы испытываем трудности в определении расстояния до параллельных линии глаз проводов (у меня такие прям перед окном натянуты). Надо наклонять голову. Природа тут пошла по пути разумного минимума. Так что не удивлюсь, если у 4D человека всего два глаза, просто он башкой чаще крутит в нескольких плоскостях, или покачивает глазами на рожках :)
0 Mrrl,10 февраля 2011 в 20:59#↵↑
Да, верно. Есть третий тип тора — множество точек, лежащих на расстоянии r от тора из 3D. Или можно рассмотреть множество точек на расстоянии r от плоского тора. Это будут немного разные (хотя и похожие) фигуры. Если кто-то сможет объяснить, чем они различаются — значит, он в самом деле представляет себе четырехмерное пространство :)
0 Shirixae,10 февраля 2011 в 06:23#↵↑
Это невозможно «увидеть», наш мир — трёхмерный.
0 ZiggiPop,10 февраля 2011 в 10:33#↵↑
Ой ли :). То что наше сознание ощущает только 3 измерения, совсем не говорит о том, что колово измерений=3.

К.О. напоминает хотя бы о времени.
0 Shirixae,10 февраля 2011 в 19:03#↵↑
Ээээм… в шесть-двадцать три я имел ввиду, что мы зажаты рамками трёхмерного быта. То есть не имеет возможности нигде пронаблюдать чётырёхмерный объект не в виде трехмерных проекций.
–1 mono2k,10 февраля 2011 в 13:11#↵↑
а как же остальные 8?
0 Mrrl,10 февраля 2011 в 13:14#↵↑
А они маленькие и замкнутые, их не видно. Но компьютеру это все равно, ему реальный мир не нужен. Он сам себе Вселенная :)
+1 Mrrl,10 февраля 2011 в 08:22#↵↑
Мы представляем себе очень много вещей и понятий, которых никогда не видели. И четырехмерное пространство в этом смысле не сложнее группы вращений SO3, генома животных или пантеона древнегреческих богов со всеми их аттрибутами и взаимоотношениями.
0 Mrrl,10 февраля 2011 в 08:47#↵↑
Коробку представить несложно. Когда мы разрабатываем алгоритмы для кубика Рубика, мы его представляем одновременно со всех сторон, не так ли?
0 HomoLuden,10 февраля 2011 в 10:59#↵↑
Про квантовую механику говорят: «Ее сначала не понимали, а потом привыкли».
Чтобы использовать некий инструмент, его необязательно прочувствовать всеми фибрами своего тела.
+1 Mrrl,10 февраля 2011 в 11:15#↵↑
По большому счету, комплексные числа тоже не понимают. Свойства их хорошо известны, математик оперирует комплексными числами и функциями, не задумываясь. Но почему они вдруг оказались таким замечательным инстументом, почему их уножение коммутативно, а конформные отображения так разнообразны — вопрос. И почему ими так удобно описывать волновые процессы? Инструмент отличный, полностью понятные и работает.
То же и с квантовой механикой. Понять-то ее можно, во всем многообразии. Непонятным остается, почему она вдруг оказалась таким подходящим инструментом для описания материального мира (в своих масштабах). Но если от реальности отвечься, и сказать, что КМ описывает некий идеальный мир, то представить его вполне реально. В том числе, реализуемый на КМ мультиверс с возможным слиянием Вселенных :)
+1 beetleinweb,10 февраля 2011 в 12:25#↵↑
Если уж говорить о комплексных числах, то в контексте данного топика трудно не упомянуть гиперкомплексные — кватернионы:
Таблица кватернионов отражает замкнутость «силовых линий» собственных пространств («Последняя замыкается на Первую»). Из рисунка видно, что объединение двух триангуляров порождает звездный тетраэдр (или куб). А это и есть корпускуляр. Из этого рисунка видно, что два триангуляра образуют звездный тетраэдр. А если в этой фигуре соединить вершины, то мы получим куб (с другой последовательностью обхода вершин). Таким образом, из вышеизложенного возникает внутреннее убеждение в том, что собственные пространства и их формы (триангуляры и корпускуляры) составляют фундамент мироздания, а кватернионы отражают элементы природной матемтатики.

Не знаю, как насчёт мироздания, а в 3D графике кватернионы вовсю используются.


0 Mrrl,10 февраля 2011 в 12:37#↵↑
Да, в 3D им хорошо — группа единичных кватернионов по умножению соответствует поворотам пространства. Но потом все равно получается, что ортогональные матрицы 3х3 удобнее. А вот в 4D кватернионы не помогут. И преобразование трехмерного пространства Лобачевского через комплексные функции легко не выражается (хотя группы у них изоморфны). Так что в малых размерностях эти инструменты удобны, а в больших приходится сдаваться на милость матричной алгебры.
Хорошо, хоть скалярное произведение там работает — а то был бы вообще кошмар.
0 RomanL,10 февраля 2011 в 10:38#↵↑
Одно дело оперировать математическими выражениями n-мерных пространств, другое — представить себе как это выглядит. Это ооооочень разные вещи!
0 Mrrl,10 февраля 2011 в 10:47#↵↑
Согласен. Но «выражения» и свойства становятся для мозга устойчивыми объектами, и он получает способность более или менее свободно ими оперировать.
Вероятно, все дело в термине «выглядит». Он ассоциируется с двумерным зрением, а это далеко не единственный способ представить себе объект или сцену. Мозг — достаточно мощная и гибкая штука, чтобы не опираться на подсказки от «органов чувств».
В каком виде программист представляет себе большую программу, особенно в процессе ее выполнения? ;D
+8 beetleinweb,10 февраля 2011 в 13:04#↵↑
В виде многорукого слепого бога Шивы, скользящего руками-регистрами по табличкам из сырой глины. Его острые когти оставляют следы единицы, а мягкие подушечки — нули. Едва касаясь, проводит Шива многопалой рукой по таблице, считывает ямки, втягивая и выпуская когти. Потом сводит руки вместе, и напевая мантру, начинает считать, плетя пальцами сложные узоры и пощёлкивая костяшками…

Одной рукой он придерживает вертикальную стопку малюсеньких табличек — стек. Некоторые пачки таблиц кладутся поближе, до них можно дотянуться не вставая — кеш. За другими приходится тянуться, а то и побегать. Иногда приходится просто сидеть и ждать, пока подвезут на тележке. Впрочем, в современных процах боги играют командой, жонглируя таблицами в куче… И каждый наш миг для них вечность.

Это на самом низком уровне. А так предпочитаю UML диаграммы классов, состояний, последовательностей и т.п. :)
0 mono2k,10 февраля 2011 в 13:14#↵↑
а зачем? Проблема представления в том, что, почему-то, по-умолчанию считается, что измерения равнозначны. А вы представьте себе, что реальный мир состоит из 3-х более-менее равнозначных измерений и еще 8-ми с размерами порядка планковской длины. Т.е. они есть, но мы их просто не ощущаем, так как их наличие не оказывает на наше существование никаких заметных действий…
0 Mrrl,10 февраля 2011 в 13:17#↵↑
Так в пространстве, которое я пытаюсь рисовать, есть как раз 4 равнозначных пространственных измерения. В реальный мир они, конечно, не вкладываются, но в компьютер или мозг — запросто, лишь бы памяти хватило.
+18 Tibr,10 февраля 2011 в 04:24#
Вот до чего дожили, наблюдаем двумерные скрины трехмерных проекций четырехмерных объектов…
+6 samodum,10 февраля 2011 в 05:25#↵↑
И описываем это одномерной строкой из слов.
–2 Shirixae,10 февраля 2011 в 06:24#↵↑
За что вы так с моим мозгом? :(
+1 Halt,10 февраля 2011 в 08:11#↵↑
А у меня вот мысли нехорошие бродят, на тему создания четырехмерной стрелялки (:
А вообще забавно, неправильно угол выбрал и застрелился со спины %)
0 Mrrl,10 февраля 2011 в 08:38#↵↑
Со спины вряд ли. Если только стрелялка не на сфере. Но посмотрим. Пока я думаю всего лишь о лабиринте — который будет показываться в трехмерных сечениях. Это не считая кубикрубиков, которых энтузиасты написали уже немало.
0 HomoLuden,10 февраля 2011 в 11:09#↵↑
Я уже видел нечто подобное: Adanaxis
www.youtube.com/watch?v=W6wFM7iyj_M
+1 lostmsu,10 февраля 2011 в 08:33#
Автор, упростите себе жизнь, рисуйте в 3D!
+3 Mrrl,10 февраля 2011 в 08:35#↵↑
Так этим занимаются многие, и гораздо более профессионально.
+3 Deeman,10 февраля 2011 в 10:04#
Вот отличный сайт, посвященный четырехмерному пространству, где доступно объясняется, почему объекты в нём так странно изменяются (на английском):
eusebeia.dyndns.org/4d/vis/vis.html

И так как наш мозг спокойно дорисовывает трехмерную картинку из двухмерной проекции, то хорошая возможность дорисовать четырехмерную картинку из трехмерной проекции предоставится с изобретением голографических дисплеев.
+1 Mrrl,10 февраля 2011 в 10:19#↵↑
Интересный сайт, спасибо. Про «курносый 24-гранник» я раньше не слышал. Может быть, найдется что-нибудь еще интересное.
+1 Mrrl,10 февраля 2011 в 10:38#↵↑
Трехмерную картинку мозг достраивает, опираясь на привычные образы. Точно так же, если ему предложить привычное 2D-изображение 4D-объекта, он его узнает и увидит.
Чтобы привыкнуть к незнакомому 4D-объекту, нужна всего лишь возможность его покрутить в разных направлениях. То, что точка на экране находится одновременно на двух разных «расстояниях» (при вращении x-z и x-w) поначалу смущает, но потом начинаешь принимать это, как должное. Правда, добиться предсказуемого поведения развертки 5d-симплекса мне пока не удалось, но я не очень-то и старался :) — еще успею.
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#2 dyvniy » Пт, 17 октября 2014, 14:04:17

Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#3 dyvniy » Пн, 15 декабря 2014, 15:13:44

Теория суперструн будет жить тут же.
http://xstyles.ru/fakty/344-teorija-superstrun-edinaja-m-teorija..html
Изображение


Название раздела: Технокалипсис
Описание: Новости науки и техники. Всё то, о чём раньше Вы могли только мечтать. Магия современности.

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: Ещё смайлики…
   

Вернуться в «Технокалипсис»

Кто сейчас на форуме (по активности за 15 минут)

Сейчас этот раздел просматривают: 13 гостей