Как стать автором
Обновить

Комментарии 108

Уххх, я почуствовал себя невероятно тупым (
Это зря. Четырехмерный кубик собирают даже 12-летние мальчишки, а пэкмэн вообще знаний не требует. Главное помнить, что он бежит всегда вглубь экрана :)
Наверное, автор комментария говорил не о самих играх, а о способе визуализации многомерности :) Т.е. самой темы поста.
Именно, спасибо за понимание. Т.е. еще 4-х мерную и 5-ти мерную визуализацию осилил, 7-ми-мерную уже не смог, сломал мозг (
Увы… Без попыток играть самому, причем с самых низких уровней, тут ничего не поймешь. Я пару месяцев не играл, попробовал начать снова — все пришлось вспоминать и понимать с самого начала.
Была в свое время такая шутка: «Не можете представить семимерное простанство? Прдеставьте n-мерное и положите n равным семи.»
Для меня это тоже за гранью понимания.
Хотя, (x, y, z)+(r, g, b, a) — чем 3d-графика не проекция семи измерений на плоскость? Еще и zBuffer есть.
Пэкмэн так и устроен, только вместо rgb взяты (условно) координаты a,b из LAB-пространства.
Люблю эту модель =) HSV как-то не использую, не художник я, наверное, а вот Lab для меня простая и понятная.
Я посмотрел на формулы пересчета в rgb, и решил, что настоящий Lab это пока не для меня. Хотя инфракрасные фотографии в нем обрабатывать интересно :)
однажды возле НГУ до меня долетела фраза из разговора первокуров:
«представить 4ёхмерную сферу просто: надо представить 4ёхмерный куб, и вписать в него сферу»
нам преподаватель по архитектуре ВС рисовал на доске 17-мерный тор
слайды! слайды! :)
НЛО прилетело и опубликовало эту надпись здесь
Еще можно добавить, что стереографическая проекция сферы радиуса r является перспективной проекцией сферы на гиперплоскость и задается теми же формулами. Формулы для визуализации в пространстве Лобачевского привести можно, но они чересчур сложны :(
Z-буфер можно применять как при проекции 4d на 3d (но это придется делать вручную), так и при визуализации 3d проекции (тогда его можно поручить стандартным средствам). В большинстве приведенных примеров в первой проекции z-буфер не применяется, и проекция может содержать пересекающиеся трехмерные тела. В пэкмэне это случается довольно часто.
основная непонятка — с использованием проективных «однородных» координат,
а именно, как в проективном пространстве выглядят «обычные» уравнения прямых/плоскостей/пространств. и какими свойствами обладают.
интуиция и опыт подсказывают, что в таких координатах рисование и 3d и 4d графики становится значительно проще.

в частности, в качестве решения вот этой задачи: habrahabr.ru/qa/3604/
найдено вот такое вычисление: qmax.livejournal.com/741337.html
но оно слегонца непонятно.

в гугле не забанен, wolfram в быстрых закладках.
но буду благодарен за ссылку на более основательные материалы по проективной аналитической геометрии, и многомерной аналитической геометрии в том числе.
На вторую ответил. В первой все написано правильно, скажу только, что система получится проще, если сдвинуть одну из вершин симплекса в (0,0,0,0).
Моя любимая тема. На тему понимание, каждый раз кога погружаюсь в понимание многомерностей, всегда все вспоминаю заново.
Кстати, советую тту темы поискать, там очень неплохие обсуждения.
Спасибо :) через эти темы, собственно, я до Хабра и добрался.
А я их переодически перечитываю :)
ох блин. почти два года.
а кони так и не повалялись.
Как это не повалялись? Разве новые игрушки постепенно появляются :)
я имел в первую очередь своих коней :)
идея создания 4д игрухи витает ещё с тех времён.

но какбы и топик демонстрирует, что ничего принципиально нового не появилось.
Кроме энтузиастов twistypuzzles сия тема никого не интересовала. Но они сделали большой шаг вперед.
А эта игра уже вышла? Я видел только статейки, что она в процессе написания…
И про дату выхода по-прежнему ни слова :(
на момент прочтения мною комикса (весной) не была выпущена… :-(
В качестве развития темы — идеи еще нескольких многомерных игр:
— гонки:
трехмерная ракета летит по туннелю с гиперсферическим сечением. Показывается туннель впереди в двух видах: проекция туннеля на 3D, кодированная цветом, и пересечение туннеля с 3D (оно выглядит, как неожиданно сужающийся туннель). Можно поворачивать в 3D (левой кнопкой мыши) и в 4/5D (правой кнопкой), а также разгоняться и тормозить. Цель — пролететь круг как можно быстрее. Столкновений с противниками (и самих противников) пока не предусмотрено.
— змейка в 4D:
Показано пространство в 3D+ 1-2 слоя в каждую сторону по 4-й координате (полупрозрачными объектами, или размером). А может быть, здесь будет полезна 3D-сетчатка
— аналог со-кобан в 4D: на плоской (3D) поверхности построены всякие небоскребы из кубов и лежат блоки. Блоки можно толкать, ронять вниз и забираться на них (если блок уперся в препятствие). Также можно забраться на ступеньку высотой 1. Цель — добраться до флага. Показывается 3D-сечение+ 2 соседних слоя (полупрозрачными объектами), есть возможность осматривать все пространство.
— Все более хитрые многогранники Рубика…
— Пэк-мутант:
Возьмем какой-нибудь четырехмерный многогранник. Или просто сеть из двумерных граней, как-то соединенную по ребрам. Где-то в центре выберем точку, проведем через нее гиперплоскость. В сечении получится трехмерный лабиринт — по его отрезкам и будут бегать пэкмэн и монстры.
У игрока будет возможность поворачивать плоскость сечения (степени свободы и интерфейс надо будет сосчитать). При каждом таком повороте форма лабиринта будет меняться, а монстров будет сносить на новое положение гиперплоскости. Пэкмэн будет оставаться на ней, например, потому, что крутить мы будем всегда вокруг какой-нибудь 2D-плоскости, содержащей прямую «пэкмэн-центр». Так что он будет видеть меняющийся (по воле игрока) лабиринт.
«Семена», вероятно, будут точками с определенным радиусом доступности — по мере движения плоскости они могут возникать и исчезать. Чем будет точка рождения монстров, не могу даже представить. Наверное, ей придется ползать вслед за гиперплоскостью.
Как вы думаете, что из этого реалистично (в смысле можно написать и в это будет играть больше одного существа)?
Я бы сделал шутер, те игра как развертка тессеракта.
Для более лучшего понимание, прочтите рассказ «Дом, который построил Тил»
Читал я его — примерно в то же время, когда написал свою первую 4D игрушку (кубик Рубика на алфавитно-цифровом дисплее — вот ведь было время!). Но если это будет просто 3D пространство, замкнутое нетривиальным образом, то вряд ли это будет очень интересно. Ну, вернемся мы в то же место, пролетев по прямой 4 комнаты, или завернув за угол три раза вместо четырех, ну и что? Да и умения такая игрушка потребует на порядки больше, чем у меня есть. Рисовать я не умею, тем более в 3D :(
Шутер в 4D, из серии «лети вперед и убивай всех подряд» — может быть. И тоже с трехмерной сетчаткой :)
Сейчас уметь рисовать и не надо, можно купит отовые ресурсы или купить :)
Ну а по секрету, у меня жена рисует, и есть кому потом перевести в 3D.
Вот хочется 4D шутер из серии убей их всех.
есть готовые ресурсы для рисования 4d объектов?
сильно заподозрю, что они получаются осесеметричные по оси 4ой координаты.
Придется писать самим. И они тоже будут сильно зависеть от планируемого способа визуализации. Я думал над построением модели человека, но когда понял, что глаза у него окажутся где-то внутри головы, и показывать их придется с помощью полупрозрачных текстур окружающего лица, решил пока повременить.
ну спрайты же никто не отменял пока :)
с шутером возникнет ряд дополнительных проблем, помимо отрисовки.

одну из них я уже упоминал в предыдущем топике:
1. степени свободы.
враги свободно маневрируют в 4хмерном пространстве, а это 10 степеней свободы (для носо-ориентированного твёрдого тела).
в то время как обычный игрок в шутеры типа квака привык всего к двум черепаховым (вперёд/назад, поворот вправо/влево)
я помню реацкию друзей смотрящих как я играю в descent3d используя все 6 степеней свободы 3d пространства.

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

с другой стороны, ограничивать перемещение привычными человеческими способами — сводит нет нет саму идею 4хмерной игры.

с тертьей стороны, все степени свободы нафик не нужны.
например, в 3d нафик не сдалось вращение по «roll», вполне достаточно pitch и yaw.
но какие выбрать в 4d — можно понять развечто только экспериментальным путём.

в качестве решения можно рассматривать некий 4d шатл,
который может поворачиваться в любом направлении, но двигаться только вперёд (разгоняться/тормозить)

2. локальная дизориентация.
все игрушки со степнями свободы более 2ух-3ёх вызывают неприятное чувство дизориентации. (descent, freespace, xwing, aliens vs predators (если играть за чужих), в некоторой степеин — и в самолётных леталках)
в основном, это связано с «техногенным» интерьером: с наличием пола, потолка, дверей, фонарей.
на открытых пространствах такой проблемы в общем-то нет.
а в некотрых интерьерных делали опцию типа «автовыравнивание», что ещё больше добавляло путаницы из-за потери контроля.

в 4d эта проблема усугубится на порядок.
но решение простое — тупо избавиться от интерьера.
но это приводит к третьей проблеме.

3. глобальная дизориентация
бегая по земле, или летая над землёй, всегда понятно где мать-земля, где верх где низ, где наружу/внутрь.
в 4d будет ещё хуже, особенно без локальных ориентиров.
а поэтому сама геометрия пространства/интерьера должна демонстрировать очевидные и интуитивно понятные намёки на глобальную ориентацию.

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

Ниже может быть глупость, так как я хочу спать и плохо соображаю :)

Далее — не создовай 4 мерную модель мира (для начало), сделать надо, что некий кусок 3d пространства, попал в свойства 4d.

и вот тут можо играть:

Если ты просто 3d объект — ты видишь куб и его грани в направление движения (время)
Те есть, что бы попасть из одной комнаты в другую ты должен угодать совмещение как для 3d объекта граний.
Если ты вдруг стал 4d объектом, то ты видишь его как есть, со всеми переходами.
Я понимаю, что это приметив, но да же то го же packman можно заставить бегать внутри.
Остальное после того как высплюсь :)
кусок 3d-пространства в 4d это тоже самое что плоский лабиринт в 3d.
тотже пакмэн, но с возможностью вращения игровой доски.
при этом при поворачивании доски пакмэн продолжает бежать прямо (но ничего при этом не видит), а повернув доску обратно он попадёт в новое место лабиринта.
с точки зрения привидений он прошёл через стенку.
с точки зрения пакмэна он трипанул на отличненько.

но для игрока управляющего пакмэном особого фана тут не будет, ИМХО.
но это не для фана, это для начало.
ну для начало надо сваять 4d движок :)
либо придумать как заюзать существующие хотябы на уровне scenegraph.
То, что у меня в пэкмэне, за 4D не считается?
пэкмэна посмотреть не удалось. такчто не знаю.
Да, под линукс я не пишу :(
а под опен сорс? :)
Половина кода — это общение с DirectX из-под C#. Такое куда-нибудь портируется?
наврядли :)
Нет, это тоже интересно. Как будет чувствовать себя 3D житель (с расширенным набором движений — парой поворотов в 4D), попавший в настоящий 4D лабиринт. В Пэк-мутанте у меня как раз такое и предполагается.
2. локальная дизориентация.
все игрушки со степнями свободы более 2ух-3ёх вызывают неприятное чувство дизориентации. (descent, freespace, xwing, aliens vs predators (если играть за чужих), в некоторой степеин — и в самолётных леталках)

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

но это говорит только о том, что мозг вполне адаптируется под расширенные возможност маневрирования. и скорее всего, адаптируется и к 4d манёврам.
1. Для 4d достаточно 4 степеней свободы — повороты x-z, y-z, w-z и управление скоростью z+/z-. Но в зависимости от способа визуализации (выделенная 3d плоскость с указанием расстояния до нее с помощью цвета/размера/прозрачности, или 3d-сетчатка — когда сначала строится центральная проекция на 3d всего, что видно, а потом эта проекция показывается на экране) могут потребоваться вращения x-w и y-w — но только для визуализации.
2,3. Тут все зависит от глобальное структуры. Если это глобальный лабиринт из 4-мерных комнат, то это будет ужасно. И действительно, надо будет как-то ориентироваться. Если просто линный колодец с кубическим или сферическим сечением, то просто не давать поворачиваться слишком далеко назад. И показывать стенки.
В 4d есть ещё 4 вращения вдоль пространтв (по оси перпендикулярной пространству) xyz, xyw, xzw, yzw.
Насколько они «декоративны» сказать трудно, не посмотрев.
Вращения в 4d идут только вокруг 2d плоскостей. Вообще, поворот в пространстве любой размерности задается двумя перпендикулярными векторами и одним углом — какая ось куда переходит, поворот при этом идет вокруг перпендикулярной им N-2-мерной гиперплоскости.
ну да. всё верно. это я попутал, но непонятно с чем :)

базовые вращения, естественно вдоль плоскостей.
их получается 6 для 4ёх осей.
это всёравно многовато.
хотя уже вполне можно управляться с клавиатуры.

длинный колодец не кажется мне особо захватывающей игрою :)
хотя вариант с гонками вполне проканает и в такой структуре.
Гонки я как раз думаю в кривой трассе, типа Формулы-1
Tron 4D )
Дааа уж, в такие штуки хорошо под медитативный жёстко ломаный драм&бэйс втыкать. Он тоже создаёт ощущение многомерности.
Семимерный кубик Рубика напомнил мне мою дипломную по расчету поведения плазмы в эл.поле. Ностальгия…

По поводу вариантов отображения:
— Для построения различных многомерных (более 4 измерений) физических моделей, обычно используют проекции на конкретные оси. Отображение выводится сразу на несколько окон. Например, в первом экране мы видим положение по осям XYZ, во втором по осям IJK, на третьем ZXK и т.д. Для проведения анализа многомерных структур достаточно удобно.
Да, есть и такой вариант. Спасибо, что напомнили. Я думаю использовать его (в сочетании с фрактальной разверткой) для девятимерного кубика (всего лишь 2^9 — больше никто не осилит, да и никому не интересно), и может быть, для некоторых шестимерных головоломок (декартовы произведения двух трехмерных многогранников). Там все хорошо складывается — и по размещению фрагментов проекции, и по раскраскам. Вот только с управлением могут быть сложности.
Автор, а что нужно покурить, чтобы представить в голове семимерный кубик Рубика без проекций?
Да, в общем, ничего особенного. Если собирать его «изнутри», от двухцветных кубиков к семицветным, то постепенно будет становиться понятно, как эти пятнышки на экране перемещаются, и на что надо смотреть. Начиная с 5D место воображения занимают математика и логика. Вот если бы это был не кубик, все было бы гораздо серьезнее. На головоломку на базе пятимерного симплекса, например, пока никто не замахнулся — даже в смысле разработать способ визуализации :) Боюсь, что лучше каркасной проекции (как в 5-мерном кубике) там ничего не найти.
а какие проблемы с симплексом, кстати?

мне кажется, былобы гораздо нагляднее, а главное — проще с логической точки зрения.
Чисто личные. Я пятимерного кубика, написанного Ройсом, не собрал и даже не пытался. Вместо этого написал свой, с фрактальной разверткой и 3-мерными стикерами. Симплекс так не развернуть, там нужны честная визуализация 4-мерного пространства.
Вот так будет выглядеть пятимерный симплекс Рубика:

img-fotki.yandex.ru/get/5207/astr73.3b/0_6e376_9efaa7a8_XXL.jpg

Пока я сделал только навигацию в 4-мерной сфере. Никаких вращений граней симплекса еще нет.
После статьи представились дети недалекого будущего, играющие в школе друг с другом на мобильных девайсах в восьмимерные крестики-нолики, девятимерные точки и десятимерный морской бой…
НЛО прилетело и опубликовало эту надпись здесь
трёхмерные миры прекрасно смотрятся на двумерных мониторах.
четырёхмерные мры будут прекрасно смотреться в трёхмерном изображении, тоесть с обычными стереоочками.
НЛО прилетело и опубликовало эту надпись здесь
если комуто плохо от 3d — значит не стоит им смотреть 3d :)
если комуто плохо от телевизора — не стоит смотреть телевизор.

к просмотру четырёхмерных изображений не приспособлены глаза и зрительная подкорка
а кернель мозга приспособленк к чему угодно.
Это уж точно. С какого-то момента изображения начинают только мешать, они искажают пространство. А воображение работает куда лучше.
Главное — выбрать правильное вещество.
атропин?
>>наш мозг не приспособлен к просмотру четырехмерных изображений
К многомерным играм будут прилагаться расширители сознания — 4D, 5D, LSD — enlarge your mind!
НЛО прилетело и опубликовало эту надпись здесь
Думаю если там не 5 мирные существо, то все как обычно :)

А вообще, одна из бед, что многие не понимают физических сво-ств 5 мерного куба — Пентеракт
НЛО прилетело и опубликовало эту надпись здесь
Насчет 5D не знаю. Но уже в 4D есть интересный эффект — можно стоя на месте и глядя друг другу в глаза поворачиваться вокруг одной из осей. При этом глаза и прочие детали лица партнера будут перемещаться по окружности (параллельной земной поверхности). Соответственно, и для секса появляются дополнительные степени свободы :)
Что-то мне кажется если неосторожно повернуться, можно увидеть внутренности партнера.
Так надо выбирать партнера почетырехмернее, чтобы конфузов не было
Четырехмерный мир тоже будет смотреться на двумерном мониторе. Глубину мы видим в основном не за счет бинокулярности, а за счет движений головы. И понятий о размерах. Если держать голову абсолютно неподвижно, то уже на трех метрах трудно понять, что ближе, а что дальше. Проблема только в плотности наложения — в одну точку проектируется не луч, а целая плоскость (в лучшем случае, угол). А в нее много чего может попасть.
автор зря пропустил упомянутую в предыдущем обзоре игрушку «Adanaxis»
в ней реализован довольно уникальный способ отображения 4ого измерения, путём «запрозрачивания» удаляющихся в 4d объектов.
но, ИМХО, для симметрии нужно былоб и в трёх первых измерениях слелать fog.
На мой взгляд, «запрозрачивание» абсолютно не соответствует тому, что следовало бы увидеть в реальности. Но согласен, если бы они сделали все то же самое и с другими измерениями — то было бы гораздо лучше и понятнее.
Если есть первичное 3D пространство, то далекие от него объекты можно показывать цветом, прозрачностью или размером/формой. Вряд ли какой-нибудь из этих способов более уникален, чем другой.
Я не понял одного, почему в 4-мерном пространстве кубик рубика состоит из 7 трёхмерных кубиков?
Как это поняли?
Мы же не видим 4 меное пространство, поэтому — это проекция на 3d.
в тессеракте 7 граней, отсюда «7 кубиков».
В теории, если бы мы видили 4 мерный объект, то он был бы единым целым (чень грубо)
Спасибо, щас перечитал.
Заметил фразу «В частном случае тессеракта оказывается видно 7 граней, этого достаточно для игры»
В инете прочитал, что в 4-мерном кубе 8 граней.
Да все верно 8, это моя ночная глупость.
вобщето у тессеракта 8 кубических граней.
на картинке в топике 8 и нарисовано.
а вот на станице «Magic Cube 4D» симметрия выбрана таким образом,
что восьмая грань оказывается «снаружи» всей конструкции.
тоесть это куб, 6 граней которого соприкасаются с радиальными гранями шести не-синих кубов.

вроде бы там был «поворот», выворачивающий эту наружнюю грань внутрь.

На картинке — не кубик, а объект под названием «дуопризма {5}x{5}». У нее 10 граней, из них показано 8.
Трехмерный аналог такой: взяли кубик рубика, сняли с него крышку (верхнюю грань) и заглянули в получившийся колодец. Увидели 5 квадратов — один в центре, остальные по его сторонам, слегка искаженные. То есть на все грани мы смотрим как бы изнутри куба.
Интересно, ведь проекция 3-мерных объектов на 2-мерное пространство весьма доходчиво передает структуру 3-мерного объекта. Можно ли ожидать такой же наглядности, проецируя 4-мерную фигуру на какой-нибудь 3-мерный дисплей (допустим, показывающий голограммы)?
нет.
двумерную проекцию трёхмерных объектов дорисовывает воображение, основываясь на опыте наблюдения трёхмерного мира.
2д проекция просто намекает на свойства 3д мира.

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

однако, опыт воображения/представления четырёхмерного пространства вполне может быть.
но в данном случае проекции будут работать в «обратную сторону», не намекать на уже известные свойства, а передавать ещё неизвестные.
Насчет «неизвестные» можно и поспорить. Все это будет восприниматься лучше, если сначала узнать, какие свойства бывают, потом попытаться их себе представить, а потом найти на 2d ли d картинках.
*(2d или 3d)
НЛО прилетело и опубликовало эту надпись здесь
Мы играли в 4х4х4, там можно играть до первой линии. Особенно интересно играть вслепую.
НЛО прилетело и опубликовало эту надпись здесь
Нет, просто называли друг другу координаты клеток. Например, (2,3,2)
НЛО прилетело и опубликовало эту надпись здесь
Сегодня я получил письмо, что еще один человек собрал 6-мерный кубик Рубика. Сейчас общая статистика такая:

4-мерный кубик собрали 161 человек (с момента первой известной сборки прошло 25 лет!)
5-мерный — 38
6-мерный — 5
7-мерный — 3
4-мерный 120-гранник — 6
Пришло сообщение об еще одной сборке семимерного кубика Рубика. Теперь его собрали уже четверо.
В прошлом сообщении я, судя по всему, ошибся — у 3^6 тоже только 4 известных решения. 120-гранник собрали семь человек. Недавно сообщили о первом решении упрощенной версии 600-гранника — 4-мерной фигуры, гранями которой является 600 тетраэдров (в упрощенной версии каждая грань разделена на 15 частей, в то время, как в «честной» 4-мерной головоломке их было бы около 100).
Пятый человек в мире собрал семимерный кубик! Предыдущее решение было 7 месяцев назад. Это прогресс: до того решения шли с интервалом в 10 месяцев :)
О сборке 3^4 сообщило 175 человек. Последняя запись была 4 месяца назад, возможно, более свежие данные ещё не опубликованы.
Появилось седьмое решение кубика 3^7… Ритм «одно решение в 10 месяцев» восстановился.
3^4 собрали 212 человек, 3^5 — 46, 120-гранник — 9 человек.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории