LINUX.ORG.RU
ФорумTalks

4D графический движек


0

2

Как-то читал инфу о представлении 4-х мерного пространства в нашем трехмерном, и в статье были картинки: проекция куба, треугольника и т.д. Чесно говоря нихрена не понял. Взять к примеру обычный 3D движек там картинка на мониторе формируется математическими расчетами в результате чего на плоском мониторе мы видим 3-х мерную картинку.

Так ведь по тем-же формулам можно сделать проекцию 4-х мерного пространства на плоский монитор и повращать там всякие треугольники, кубики и прочую хрень. Я конечно понимаю, что пока программер это наришет, у него мозг взорвется, но тем не менее мож кто видел подобную штуковину в действии?

★★
Ответ на: комментарий от mi_estas

>здесь хорошо расписано

Вот эта фраза по ссылке взорвала мозг: «Только вот поверхность 4-х мерного шара трёхмерна».

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

Zak ★★
() автор топика
Ответ на: комментарий от alpha

>И такой движок был бы неплох, если бы работал не только с симплексами, а с любыми поверхностями, хоть бы и неявно заданными. Чтобы можно было строить произвольные сечения и смотреть как они меняются при изменении параметров.

Что-ли гранд на это дело выбить, неужто мировое научное сообщество не заинтересуется подобной хренью?

Zak ★★
() автор топика
Ответ на: комментарий от Zak

> Вот эта фраза по ссылке взорвала мозг: «Только вот поверхность 4-х мерного шара трёхмерна».

Как поверхность 3=х мерного шара двумерна

different_thing
()
Ответ на: комментарий от Zak

> Что-ли гранд на это дело выбить, неужто мировое научное сообщество не заинтересуется подобной хренью?

Неа) Ну разве для наглядности кому надо будет.

different_thing
()
Ответ на: комментарий от coldy

О чём и речь в треде, что представить себе 4х-мерную модель как физический объект мы не в состоянии, только как математическую модель, или проекцию на 3х-мерное пространство

чушь полная. нет ничего в 4-мерном пространстве, что не способен был бы понять мозг человека. проблема лишь в том что человек не имеет 3-мерной чувствительнйо матрицы наподобие 2-мерной, которую представляет собой глаз.

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

olegsov
()
Ответ на: комментарий от olegsov

> нет ничего в 4-мерном пространстве, что не способен был бы понять мозг человека

Это верно. И научиться ориентироваться в нем тоже можно.

Но зачем обязательно для этого «видеть» ?

alpha ★★★★★
()
Ответ на: комментарий от Zak

Мне кажется в мировом сообщество давно есть для этого инструменты. Просто я их не знаю.

Ну и многие лаборатории программируют под свою задачу своими силами.

alpha ★★★★★
()
Ответ на: комментарий от alpha

наверное не будешь отрицать, что слепому сложнее научиться представить себе 3-мерные предметы? особенно если он слеп с раннего детства.

тут то же самое.

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

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

olegsov
()

Ну, мы визуализируем 6ти мерное пр-во. Двумерными срезами.

AIv ★★★★★
()
Ответ на: комментарий от olegsov

> у человека самое подходящее средства для исследования окружающего мира - это зрение

А я думала - мозг. :)

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

alpha ★★★★★
()
Ответ на: комментарий от Zak

>>И такой движок был бы неплох, если бы работал не только с симплексами, а с любыми поверхностями, хоть бы и неявно заданными. Чтобы можно было строить произвольные сечения и смотреть как они меняются при изменении параметров.

Что-ли гранд на это дело выбить, неужто мировое научное сообщество не заинтересуется подобной хренью?

какой в задницу гранд?! Это тянет максимум на курсовую.

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

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

alpha ★★★★★
()
Ответ на: комментарий от alpha

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

ну я ж и говорю: фичи - это курсовая.

dikiy ★★☆☆☆
()
Ответ на: комментарий от alpha

>> у человека самое подходящее средства для исследования окружающего мира - это зрение

А я думала - мозг. :)

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

кстати, в принципе возомжно взять человеческого детеныша, и посадить в матрицу. Где ему на левый глаз будет даватья проекция первых координат 4D, а на правый - второй пары координат. Ну и есессно на протяжении длительного времени. Должно интересно получиться.

dikiy ★★☆☆☆
()
Ответ на: комментарий от alpha

У меня кстати другая задача есть, трехмерная.

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

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

Никакие артистические эффекты - шумы там, размывания, текстуры и кисти - не нужны. Чистая геометрия и базовые эффекты освещения, чтобы сцена смотрелась.

Какие 3д-движки это могут?

blender выглядит как всемогущий комбайн, но как пустить точку по сфере в нем все равно не понятно.

alpha ★★★★★
()
Ответ на: комментарий от alpha

Зачем пытаться извратить и трансформировать поступающую информацию

не извратить, а представить в несколько другом формате ту же самую информацию.

взять хотя-бы файлы. можно работать с ними в виде бинарных данных в hex-редакторе. а можно открыть в приложении, которым эти данные создавались. что эффективнее?

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

olegsov
()
Ответ на: комментарий от alpha

>думала
Ну всё. Я тебя хочу :-))

можно просто научиться работать с тем форматом, который уже есть.

Ага представь себе игру-стрелялку, где геометрия уровня и позиции противников, а также твоя ориентация выводятся ввиде цифр.

Bad_ptr ★★★★★
()
Ответ на: комментарий от dikiy

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

ну я ж и говорю: фичи - это курсовая.

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

Zak ★★
() автор топика
Ответ на: комментарий от olegsov

Интуиция нарабатывается через опыт. Но этот опыт не обязательно должен быть зрительным или осязаемым.

Топологи, те же, очень легко работают в малых(но >3) размерностях и практически не прибегают к точным доказательствам, а используют упрощения и интуитивно понятные «вырежем, развернем, приклеим». Но не потому, что они видят картинку этого семимерного пространства. А потому что они просто столько примеров уже разобрали, что их интуиция стала работать и на этом абстрактном уровне.

alpha ★★★★★
()
Ответ на: комментарий от Zak

>>ну я ж и говорю: фичи - это курсовая.

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

Я тогда не понимаю, что тебе надо? Все фичи, что есть в игровых движках для данного просто не нужны. Ибо человек все равно не сможет этого воспринять.

dikiy ★★☆☆☆
()
Ответ на: комментарий от alpha

>думала
После этого, кстати, становятся понятны все твои нападки с непонятной аргументацией и цитированием К.О. Надо было сразу предупреждать. :-p

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

Вы настолько привыкли, что тут все со всеми спорят, что даже не верите что можно не спорить, а просто добавить, или, например, пояснить. Да и не лично вам это было.

К тому же вспомнился на работе товарищ один, который думал, что медитируя на тессеракт, он в ближайшее время избретет машину времени и озолотится.

alpha ★★★★★
()
Ответ на: комментарий от alpha

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

может быть выходит не очень эффективно, зато ровно то что надо :)

olegsov
()
Ответ на: комментарий от olegsov

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

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

alpha ★★★★★
()
Ответ на: комментарий от alpha

вот для ускорения достижения этого уровня это и надо. кроме того, часто наглядное представление задачи позволяет сократить время, необходимое на ее решение.

olegsov
()
Ответ на: комментарий от alpha

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

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

olegsov
()
Ответ на: комментарий от alpha

>Сравни gnuplot и Mathematica. И то, и то вроде с одной задачей справляется, но разница есть.

не приходилось с mathematica работать. работал с maple. Что и говорить, по сравнению с gnuplot убого, но тут все же аналогия хромает на все ноги :)

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

Про восприятие нового измерения ещё вспомнилось. Игрушка такая есть - с виду 2d-платформер обычный, прыгать там надо, монетки собирать. Но у героя есть ещё одна хитрая возможность: он умеет поворачиваться на 90 градусов, то есть посмотреть не в плоскости экрана, а перпендиклярно ей. И соответственно после поворота он опять видит двумерную картинку, никакой перспективы и стереоэффекта у него нет, но картинку уже другую. И по ним можно восставновить трехмерный мир.

С четырехмерным - все точно также.

alpha ★★★★★
()
Ответ на: комментарий от PolarFox

Пока у человека 2д сетчатки, фича не нужна (:

Тем не менее мозг у человека вполне способен осознавать 3d. И реальное 3d (или подделку под реальное 3d) он осознаёт куда лучше, чем проекцию реального 3d на пиксельную развёртку.

Legioner ★★★★★
()
Ответ на: комментарий от Zak

Кстати в 4-х мерном пространстве можно проходить сквозь 3-х мерные стены.

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

Так что если каким-то образом возможно использовать 4D в реальном мире, то это открывает весьма интересные перспективы.

KivApple ★★★★★
()

ИМХО, но 4д на 2д плоскости это то самое, что спроэктировать 3д-фигуру на линию.

ymuv ★★★★
()

под линакс была какая то космическая стрелялка в 3d пространстве. там по дополнительной координате с помощью колёсика мыши перемещаться можно было.

thunar ★★★★★
()
Ответ на: комментарий от Bad_ptr

>Да и мозг взрывается не от матриц. А от того, что сложно себе представить 4д пространство.

а с каких пор для программирования геометрии надо что то представлять?

thunar ★★★★★
()
Ответ на: комментарий от alpha

alpha> То есть трехмерного пространства тоже не существует ? Отлично.

Понятия и идеи материальными быть не могут.

Quasar ★★★★★
()
Ответ на: комментарий от Zak

Zak> Вот эта фраза по ссылке взорвала мозг: «Только вот поверхность 4-х мерного шара трёхмерна».

Не взрывает. Поверхность трёхмерного объекта двухмерна. Её можно развернуть на двухмерную плоскость. Аналогично поверхность четырёхмерного объекта.

Quasar ★★★★★
()
Ответ на: комментарий от olegsov

olegsov> у человека самое подходящее средства для исследования окружающего мира - это зрение.

Есть ещё один орган. Вестибулярный аппарат называется.

Quasar ★★★★★
()
Ответ на: комментарий от Zak

Zak> Да ладно. Все более-менее приличные движки — коммерческие, с годами, ушедшими на разработку.

Если ты про 3D-движки, то ты крепко сел в лужу. Тот же Ogre 3D во многом не уступает «коммерческим» движкам, и при этом используется в «коммерческих» играх.

Quasar ★★★★★
()

проекция четырехмерного пространства (как 3d->2d на монитор) будет трехмерная фигура. то есть трехмерную тень надо преобразовать еще в 2д на монитор.

http://ru.wikipedia.org/wiki/Тессеракт

в общем движок сделать можно. но смысла в нем нет.

Deleted
()

Я в детстве программу писал. Двухмерная проекция трёхмерной проекции. Алгоритм, для получения 3д проекции из 4д, примерно такой же, как и 2д проекции из 3д.

alfix
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.