Перейти к содержанию

Объясните матрицы


Рекомендуемые сообщения

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

Ссылка на комментарий
Поделиться на другие сайты

12 минут назад, Xipho сказал:

Что ты понимаешь под конечной матрицей?

 

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

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Xipho сказал:

Так, для улучшения понимания, давай начнем с начала. Для чего нужна матрица проекции? Давай не термин из гугла, а свое понимание.

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

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

Изменено пользователем SweetAss1337
Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, SweetAss1337 сказал:

матрица никак не привязано к координатам игрока

Так, с тем, что такое матрица проекции мы разобрались. Теперь ответь на вопрос, для чего нужна эта матрица. То есть, для чего нужно преобразовывать какие-то трехмерные координаты (попутно вопрос - какие?) в двумерные?

Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, Xipho сказал:

Так, с тем, что такое матрица проекции мы разобрались. Теперь ответь на вопрос, для чего нужна эта матрица. То есть, для чего нужно преобразовывать какие-то трехмерные координаты (попутно вопрос - какие?) в двумерные?

Чтобы знать где рисовать ESP, странный вопрос. Если бы я радар делал мне бы матрица не была нужна.
Отрисовывать спроецированные трехмерные координаты игроков на двухмерной плоскости камеры

Ссылка на комментарий
Поделиться на другие сайты

54 минуты назад, SweetAss1337 сказал:

Отрисовывать спроецированные трехмерные координаты игроков на двухмерной плоскости камеры

И вот после этого ответа ты все еще не понимаешь вот этого?

 

В 21.06.2020 в 22:49, SweetAss1337 сказал:

Откуда возьмется изменение двухмерных координат?


Или ты всё понял?

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, Xipho сказал:

И вот после этого ответа ты все еще не понимаешь вот этого?

 


Или ты всё понял?

Еще раз, ты видимо не понимаешь сути проблемы:
Камера НЕ двигается, двигаются только ее координаты в общей системе координат.
Объект НЕ двигается.
Как перемножение статичных координат на статичную матрицу может дать изменяющееся значение двухмерных координат?
Координаты МЕНЯЮТСЯ если я изменяю матрицу движением камеры, но НЕ меняются если камера движется вперед.

 

18 часов назад, SweetAss1337 сказал:

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

 

Дело вот в чем: матрица,которая у меня есть, не содержит в себе никакой информации о своем положении по XYZ, и я не знаю нормально это или нет. Я могу просто добавить в нее эту информацию самостоятельно,если это надо, но  такого нигде не видел. Возможно игра самостоятельно это делает где-то дальше по мере преобразований.

Ссылка на комментарий
Поделиться на другие сайты

25 минут назад, SweetAss1337 сказал:

Еще раз, ты видимо не понимаешь сути проблемы:

Видимо, да

 

26 минут назад, SweetAss1337 сказал:

Камера НЕ двигается, двигаются только ее координаты в общей системе координат.

Ты не находишь, что ты сам себе противоречишь? Если камера не двигается, как ее координаты могут меняться?

 

27 минут назад, SweetAss1337 сказал:

матрица,которая у меня есть, не содержит в себе никакой информации о своем положении по XYZ

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

Ссылка на комментарий
Поделиться на другие сайты

Все верно, в матрице хранятся параметры искажений, но помимо этого надо понимать откуда ты наблюдаешь.
Если ты смотришь на объект и крутишь головой - матрица меняется, если не крутишь, а просто идешь вперед - она не меняется. Это верно или нет? Матрица не привязана к внутриигровому пространству, представь что пил балтику девятку и залил мышь, она сломалась и ты играешь без нее - бегаешь по карте - положение объектов на экране все равно будет меняться. Ты даже сможешь найти такое положение,когда они все будут на экране.
Как этого добиться без относительных координат? Камера не знает где ОТНОСИТЕЛЬНО нее находятся объекты.

По крайней мере в одном из видео уроков я точно видел примитивный способ поиска матрицы серез СЕ, там в том и суть что камера не двигается - значения не меняются, их отсеивают.
Все просто: Двигаешь мышь-матрица меняется, не двигаешь - не меняется. Но координаты на экране то меняются, [CENSORED]

Ладно в общем, буду пробовать разные варианты

Изменено пользователем Xipho
В следующий раз за мат будет пред.
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.