ВУЗ:
Составители:
Основы компьютерной графики для программистов 84
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
После установления текущей единичной матрицы видового преобразования
GL_MODELVIEW следуют три функции, которые задают расположение и текущий угол
поворота сферы, цилиндра и источника света относительно центра сферы.
Последующие команды
DrawLight,DrawCylinder и DrawSphere создают источник света,
цилиндр и сферу, к которым автоматически применяется матрица видового
преобразования.
Как было замечено выше, последовательность функций преобразования координат
можно рассматривать применительно как к вершинам трехмерных объектов, так и к
системе координат наблюдателя. Это может привести к некоторой путанице. К
сожалению, в литературе и документации по OpenGL объяснение действия
функций
преобразования координат явно недостаточное, так что изучающие вынуждены
приходить к пониманию с помощью многочисленных проб и экспериментов.
Попытаемся составить понятную картину происходящего. Для этого не будем
углубляться в какие-либо математические выкладки на языке матриц и векторов.
Укажем лишь фактический алгоритм, которым руководствуется система OpenGL.
Во-первых, необходимо указать на то
, что после установления режима
GL_MODELVIEW мы будем иметь дело не с одной только матрицей видового
преобразования. В реальности мы всегда имеем взаимодействие двух систем
координат. Одна из них –
мировая система координат – описывает расположение всех
объектов в пространстве, в том числе и точку расположения, и ориентацию системы
координат наблюдателя. Вторая из них – система координат наблюдателя или
видовая
система координат. По умолчанию начала этих систем координат совпадают.
Совпадают также их оси
x и y. Однако оси z этих систем координат не совпадают по
направлению.
Мировая система координат
традиционно является
правосторонней, а видовая
система координат
левосторонней. Такое
расположение осей систем
координат связано с
интуитивным и привычным
представлением об их
расположении. Например,
начало видовой системы
координат расположено в
центре экрана монитора, ось
x
направлена слева направо,
ось
y снизу вверх, а ось z –
перпендикулярно экрану в
направлении от пользователя
к монитору. Это дает
левостороннюю систему.
Однако при изображении объектов в трехмерном пространстве удобнее рисовать и
представлять систему координат как правостороннюю. Как раз то же самое, что и в
мировой системе координат.
Далее приводятся два правила, которыми следует руководствоваться для мысленного
представления результата действия
функций геометрических преобразований OpenGL.
В начале рассмотрим случай, когда считаем, что функции преобразований
применяются к координатам вершин трехмерных объектов. В этом случае взаимное
Рис. 28. Расположение видовой (слева) и мировой (справа)
систем координат. Мировая система координат смещена
вправо относительно своего первоначального положения.
Основы компьютерной графики для программистов 84 ____________________________________________________________________________________________________________________ После установления текущей единичной матрицы видового преобразования GL_MODELVIEW следуют три функции, которые задают расположение и текущий угол поворота сферы, цилиндра и источника света относительно центра сферы. Последующие команды DrawLight,DrawCylinder и DrawSphere создают источник света, цилиндр и сферу, к которым автоматически применяется матрица видового преобразования. Как было замечено выше, последовательность функций преобразования координат можно рассматривать применительно как к вершинам трехмерных объектов, так и к системе координат наблюдателя. Это может привести к некоторой путанице. К сожалению, в литературе и документации по OpenGL объяснение действия функций преобразования координат явно недостаточное, так что изучающие вынуждены приходить к пониманию с помощью многочисленных проб и экспериментов. Попытаемся составить понятную картину происходящего. Для этого не будем углубляться в какие-либо математические выкладки на языке матриц и векторов. Укажем лишь фактический алгоритм, которым руководствуется система OpenGL. Во-первых, необходимо указать на то, что после установления режима GL_MODELVIEW мы будем иметь дело не с одной только матрицей видового преобразования. В реальности мы всегда имеем взаимодействие двух систем координат. Одна из них – мировая система координат – описывает расположение всех объектов в пространстве, в том числе и точку расположения, и ориентацию системы координат наблюдателя. Вторая из них – система координат наблюдателя или видовая система координат. По умолчанию начала этих систем координат совпадают. Совпадают также их оси x и y. Однако оси z этих систем координат не совпадают по направлению. Мировая система координат традиционно является правосторонней, а видовая система координат левосторонней. Такое расположение осей систем координат связано с интуитивным и привычным представлением об их расположении. Например, начало видовой системы координат расположено в центре экрана монитора, ось x направлена слева направо, ось y снизу вверх, а ось z – Рис. 28. Расположение видовой (слева) и мировой (справа) перпендикулярно экрану в систем координат. Мировая система координат смещена направлении от пользователя вправо относительно своего первоначального положения. к монитору. Это дает левостороннюю систему. Однако при изображении объектов в трехмерном пространстве удобнее рисовать и представлять систему координат как правостороннюю. Как раз то же самое, что и в мировой системе координат. Далее приводятся два правила, которыми следует руководствоваться для мысленного представления результата действия функций геометрических преобразований OpenGL. В начале рассмотрим случай, когда считаем, что функции преобразований применяются к координатам вершин трехмерных объектов. В этом случае взаимное http://www.ksu.ru/persons/9134.ru.html
Страницы
- « первая
- ‹ предыдущая
- …
- 82
- 83
- 84
- 85
- 86
- …
- следующая ›
- последняя »