Я читаю книгу о 3D-концепциях и OpenGL. Книга всегда говорит о мировом пространстве , пространстве глаз и так далее.
Что такое мир на экране монитора компьютера?
Что такое мировое пространство?
Что такое глазное пространство? Это синоним проекции?
Я читаю книгу о 3D-концепциях и OpenGL. Книга всегда говорит о мировом пространстве , пространстве глаз и так далее.
Что такое мир на экране монитора компьютера?
Что такое мировое пространство?
Что такое глазное пространство? Это синоним проекции?
Ответы:
Прежде чем понять, что такое мир или пространство глаз, что такое пространство?
В абстрактном смысле геометрическое пространство (например, евклидово пространство) представляет собой безграничную степень, в которой объекты стремятся существовать. Пространство определяет основные свойства, которым должны удовлетворять объекты, живущие в этом пространстве. Например, в евклидовом пространстве расстояние определяется как Sqrt( vector dot product with itself)
.
Большинство людей склонны смешивать определения пространства и системы координат. Пространство как евклидово пространство определяет свойства, но не определяет систему координат, я бы сказал, «глазное пространство» лучше называть «глазные координаты».
В компьютерной графике мы почти исключительно имеем дело с евклидовым пространством. Когда вы определяете вершину (X, Y, Z) в евклидовом пространстве, это ничего не значит для нас.
Более осязаемым определением было бы определение его относительно некоторой системы координат. Например, вершина (X, Y, Z) относится к координатам глаза. Так что если вершина = (0,2,3) относительно координат глаза. это означает, что эта вершина:
- 0 в направлении X от положения глаза X.
- 2 в направлении Y от положения Y глаза.
- 3 в направлении Z от положения глаза Z.
- А расстояние до вершины от глаза составляет sqrt (0 ^ 2 + 2 ^ 2 + 3 ^ 2) = sqrt (13) единица.
Но что такое глазные координаты и как мы определяем систему координат?
Мы определяем систему координат путем предоставления трех ортогональных базисных (читай: единичная длина и перпендикулярно) векторов, которые напоминают ориентацию и положение (перевод).
Поэтому, если камера в openGL была определена (обратите внимание, что это относительно мировых координат):
- Position (0,3,10)
- Up (0,1,0)
- Forward (0,0,-1)
- Right (1,0,0)
Это означает, что зритель устанавливает в (0,3,10) от мира (0,0,0), и его право выровнено относительно оси X мира, и его вперед назад мир Z, и его вверх выровнен в мир Y.
Но вы слишком много говорили о координатах глаза, что такое мировые координаты?
Мировые координаты - это просто фиксированная родительская система координат. Координаты глаза должны быть относительно чего-либо. Это глобальная система координат, с которой все определено.
Мировая координата имеет фиксированное значение i = (1,0,0) в направлении X, j = (0,1,0) в направлении Y, k = (0,0,1) в направлении Z. Это векторы, которые определяют декартову систему координат.
Но это не имеет смысла! По каким координатам определяются Мировые координаты?
Я бы сказал, что это относительно себя, на самом деле это будет центр вселенной (но это слишком упрощенно).
Но в более практическом смысле я бы сказал, что в компьютерной графике удобно определять мировое пространство как центр вселенной (игровой мир), чтобы мы могли представить, как вещи могут соотноситься друг с другом.