Предыдущая Следующая
Смысловая нагрузка оси Ъ заключается в том, чтобы на двухмерной плоскости экрана правильно представить трехмерный объект, или, как часто говорят,
254 Основы программирования трехмерной графики
Точки и вершины 255
Рис. 16.1. Трехмерная система координат
модель. Ось Z позволяет организовать глубину в двухмерном пространстве. Для начала это дает нам возможность отдалять или приближать объекты по этой оси. В более сложных операциях ось Z принимает участие в трансформации и масштабировании объектов, в различных видовых и мировых преобразованиях, вычислении перспективы и многом другом, о чем мы, несомненно, поговорим в этой главе.
Сейчас посмотрите на рис. 16.1, где изображена трехмерная система координат. В DirectX и OpenGL имеются две различные ориентации трехмерных координат. Это так называемая правосторонняя система координат и левосторонняя система координат. В DirectX ранее использовалась только левосторонняя система, а в OpenGL основной была правосторонняя система координат. В XNA Framework для представления трехмерного пространства применяется исключительно правосторонняя система координат. В чем разница между этими двумя ориентациями?
Разница небольшая, но она существенна и может повлиять на неправильное определение точки вывода объекта в пространстве. В правосторонней системе координат положительная ось Z идет в направлении прямо к вам. То есть если вы сейчас смотрите на страницу этой книги, то положительная часть оси Z выходит прямо со страницы книги и направляется в вашу сторону. В свою очередь, отрицательная часть плоскости оси Z удаляется от вас, и все то, что находится за книгой, - это уже есть отрицательная часть оси Z. На рис. 16.2 представлена правосторонняя система координат.
В левосторонней системе координат все наоборот. Положительная часть оси Z удаляется от вас, тогда как отрицательная часть оси Z направлена в вашу сторону. Поэтому если вы перепутаете эти две системы координат между собой и дадите объекту неправильные координаты по оси Z, то можете этот объект просто не увидеть на экране.
Например, вы указываете для вывода объекта по оси Z координату со значением минус 100 пикселей. В этом случае в правосторонней системе координат (нашей основной системе координат) объект будет располагаться как бы внутри монитора и будет удален от поверхности дисплея в его глубь на 100 пикселей. Если вы перепутаете значения и укажете положительные сто пикселей, то объекта на экране вы не увидите, поскольку он будет находиться где-то между поверхностью дисплея и вашими глазами, то есть вне зоны видимости. Предыдущая Следующая
|