Содержание
- 2. Вектор в однородной форме
- 3. Переход к новой системе координат
- 4. Координатный фрейм
- 5. Объектная система координат При создании (моделировании) объекта используется т. н. объектная (или локальная) система координат.
- 6. Объектная система координат Использование объектных координат сильно облегчает жизнь при создании моделей объектов. Разные модели никак
- 7. Мировая система координат Для того, что бы составить из нескольких объектов сцену, необходимо расположить и ориентировать
- 8. Мировая система координат Расположение и ориентация объектов сводится к переносу модели из объектной системы координат в
- 9. Система координат камеры После того, как объекты помещены на сцену (в мировую систему координат!), самое время
- 10. Система координат камеры 1 2 3 1 2 3 Помещая камеру в различные точки сцены мы
- 11. Система координат камеры Система координат, в которой точка отсчета привязана к камере, используется в процессе отображения
- 12. Система координат камеры y x z В библиотеках Direct3D и OpenGL оси системы координат камеры ориентированы
- 13. Положение наблюдателя void gluLookAt( GLdouble ex, GLdouble ey, GLdouble ez, GLdouble cx, GLdouble cy, GLdouble cz,
- 14. Система координат пользователя
- 15. Определение системы координат наблюдателя
- 16. Пример
- 17. Пример управления камерой #include #define _USE_MATH_DEFINES #include struct Point3 { double x; double y; double z;
- 18. Пример управления камерой //Загрузка матрицы моделирования-вида существующими для камеры величинами void setModelViewMatrix(void) { float m[16 ];
- 19. Пример управления камерой // Создание матрицы моделирования-вида void set(Point3 Eye, Point3 Look, Vector3 Up) { eye
- 20. Пример управления камерой //Скольжение void slide(float delU, float delV, float delN) { eye.x += delU *
- 21. Пример управления камерой //Тангаж void pitch(float angle) { float cs = cos(M_PI / 180 * angle);
- 22. Пример управления камерой //Поворот камеры вокруг оси v void rotate(float angle) { float cs = cos(M_PI
- 23. Пример управления камерой void myKeyboard(unsigned char key, int x, int y) { switch(key) { case '1':
- 24. Пример управления камерой void main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(640, 480);
- 26. Скачать презентацию