Почему большинство людей используют ось Y в качестве вектора вверх в xna? - PullRequest
0 голосов
/ 19 февраля 2012

Почему это? Я думал, что ось Z будет нормально рассматриваться вверх? Есть ли причина?

Ответы [ 5 ]

2 голосов
/ 19 февраля 2012

Как уже говорили другие, это произвольное соглашение.Но вот как это происходит естественным образом и в OpenGL (не относится конкретно к XNA):

Если на мониторе отображается 2D-изображение, оно имеет координаты X и Y, а координата Y вверх (или, возможно,вниз).Если у вас есть это 2D-изображение, являющееся проекцией 3D-сцены, то вы получите координату Z;сохраняя преобразование координат настолько простым, насколько это возможно, Y все еще вверх (и Z направлен наружу).

2 голосов
/ 19 февраля 2012

Полагаю, вам интересно, почему люди выбирают это:

enter image description here

За это:

enter image description here

Это чисто решениепрограммистомЯ уверен, что причина, по которой ось Y направлена ​​вверх, является лишь расширением 2D-соглашения о том, что ось Y направлена ​​вверх.

0 голосов
/ 19 февраля 2012

Это просто соглашение.

Матрица OpenGL по умолчанию (тождество) GL_MODELVIEW Матрица настроена для просмотра вперед -Z и + Y вверх.Возможно, это повлияло на разработчиков, но все зависит от вас.На самом деле недавний OpenGL отбросил фиксированный конвейер и, следовательно, матрицы, поэтому это (технически) больше не применимо.

Я не знаю соглашения DirectX.

0 голосов
/ 19 февраля 2012

Я собираюсь предположить, что это связано с тем фактом, что в школе каждая математическая книга имела плоские оси X и Y и показывала Z как ось глубины.

0 голосов
/ 19 февраля 2012

Это все относительно.Я знаю о некоторых играх, которые используют Y как вверх, а некоторые как Z. Все зависит от программиста и от того, как они узнали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...