🗊 Презентация Преобразования координат

Нажмите для полного просмотра!
Преобразования координат, слайд №1 Преобразования координат, слайд №2 Преобразования координат, слайд №3 Преобразования координат, слайд №4 Преобразования координат, слайд №5 Преобразования координат, слайд №6 Преобразования координат, слайд №7 Преобразования координат, слайд №8 Преобразования координат, слайд №9 Преобразования координат, слайд №10 Преобразования координат, слайд №11 Преобразования координат, слайд №12 Преобразования координат, слайд №13 Преобразования координат, слайд №14 Преобразования координат, слайд №15 Преобразования координат, слайд №16 Преобразования координат, слайд №17 Преобразования координат, слайд №18 Преобразования координат, слайд №19 Преобразования координат, слайд №20 Преобразования координат, слайд №21 Преобразования координат, слайд №22 Преобразования координат, слайд №23 Преобразования координат, слайд №24 Преобразования координат, слайд №25

Содержание

Вы можете ознакомиться и скачать презентацию на тему Преобразования координат. Доклад-сообщение содержит 25 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


3. Преобразования координат
Описание слайда:
3. Преобразования координат

Слайд 2


Вектор в однородной форме
Описание слайда:
Вектор в однородной форме

Слайд 3


Переход к новой системе координат
Описание слайда:
Переход к новой системе координат

Слайд 4


Координатный фрейм
Описание слайда:
Координатный фрейм

Слайд 5


Объектная система координат
Описание слайда:
Объектная система координат

Слайд 6


Объектная система координат
Описание слайда:
Объектная система координат

Слайд 7


Мировая система координат
Описание слайда:
Мировая система координат

Слайд 8


Мировая система координат
Описание слайда:
Мировая система координат

Слайд 9


Система координат камеры
Описание слайда:
Система координат камеры

Слайд 10


Система координат камеры
Описание слайда:
Система координат камеры

Слайд 11


Система координат камеры
Описание слайда:
Система координат камеры

Слайд 12


Система координат камеры
Описание слайда:
Система координат камеры

Слайд 13


Положение наблюдателя void gluLookAt( GLdouble ex, GLdouble ey, GLdouble ez, GLdouble cx, GLdouble cy, GLdouble cz, GLdouble upx, GLdouble upy,...
Описание слайда:
Положение наблюдателя void gluLookAt( GLdouble ex, GLdouble ey, GLdouble ez, GLdouble cx, GLdouble cy, GLdouble cz, GLdouble upx, GLdouble upy, GLdouble upz );

Слайд 14


Система координат пользователя
Описание слайда:
Система координат пользователя

Слайд 15


Определение системы координат наблюдателя
Описание слайда:
Определение системы координат наблюдателя

Слайд 16


Пример
Описание слайда:
Пример

Слайд 17


Пример управления камерой #include #define _USE_MATH_DEFINES #include struct Point3 { double x; double y; double z; }; struct Vector3 { double x;...
Описание слайда:
Пример управления камерой #include #define _USE_MATH_DEFINES #include struct Point3 { double x; double y; double z; }; struct Vector3 { double x; double y; double z; }; Point3 eye, look; Vector3 up; Vector3 u, v, n;

Слайд 18


Пример управления камерой //Загрузка матрицы моделирования-вида существующими для камеры величинами void setModelViewMatrix(void) { float m[16 ];...
Описание слайда:
Пример управления камерой //Загрузка матрицы моделирования-вида существующими для камеры величинами void setModelViewMatrix(void) { float m[16 ]; Vector3 eVec; eVec.x = eye.x; eVec.y = eye.y; eVec.z = eye.z; m[0] = u.x; m[4] = u.y; m[8] = u.z; m[12] = -eVec.x * u.x - eVec.y * u.y - eVec.z * u.z; m[1] = v.x; m[5] = v.y; m[9] = v.z; m[13] = -eVec.x * v.x - eVec.y * v.y - eVec.z * v.z; m[2] = n.x; m[6] = n.y; m[10] = n.z; m[14] = -eVec.x * n.x - eVec.y * n.y - eVec.z * n.z; m[3] = 0.0; m[7] = 0.0; m[11] = 0.0; m[15] = 1.0; glMatrixMode(GL_MODELVIEW); glLoadMatrixf(m); }

Слайд 19


Пример управления камерой // Создание матрицы моделирования-вида void set(Point3 Eye, Point3 Look, Vector3 Up) { eye = Eye; look = Look; up = Up; n.x...
Описание слайда:
Пример управления камерой // Создание матрицы моделирования-вида void set(Point3 Eye, Point3 Look, Vector3 Up) { eye = Eye; look = Look; up = Up; n.x = eye.x - look.x; n.y = eye.y - look.y; n.z = eye.z - look.z; u.x = up.y * n.z - up.z * n.y; u.y = up.z * n.x - up.x * n.z; u.z = up.x * n.y - up.y * n.x; double norm; norm = sqrt(n.x * n.x + n.y * n.y + n.z * n.z); n.x = n.x / norm; n.y = n.y / norm; n.z = n.z / norm; norm = sqrt(u.x * u.x + u.y * u.y + u.z * u.z); u.x = u.x / norm; u.y = u.y / norm; u.z = u.z / norm; v.x = n.y * u.z - n.z * u.y; v.y = n.z * u.x - n.x * u.z; v.z = n.x * u.y - n.y * u.x; setModelViewMatrix(); }

Слайд 20


Пример управления камерой //Скольжение void slide(float delU, float delV, float delN) { eye.x += delU * u.x + delV * v.x + delN * n.x; eye.y += delU...
Описание слайда:
Пример управления камерой //Скольжение void slide(float delU, float delV, float delN) { eye.x += delU * u.x + delV * v.x + delN * n.x; eye.y += delU * u.y + delV * v.y + delN * n.y; eye.z += delU * u.z + delV * v.z + delN * n.z; setModelViewMatrix(); } //Крен void roll(float angle) { float cs = cos(M_PI / 180 * angle); float sn = sin(M_PI / 180 * angle); Vector3 t = u; u.x = cs * t.x - sn * v.x; u.y = cs * t.y - sn * v.y; u.z = cs * t.z - sn * v.z; v.x = sn * t.x + cs * v.x; v.y = sn * t.y + cs * v.y; v.z = sn * t.z + cs * v.z; setModelViewMatrix(); }

Слайд 21


Пример управления камерой //Тангаж void pitch(float angle) { float cs = cos(M_PI / 180 * angle); float sn = sin(M_PI / 180 * angle); Vector3 t = v;...
Описание слайда:
Пример управления камерой //Тангаж void pitch(float angle) { float cs = cos(M_PI / 180 * angle); float sn = sin(M_PI / 180 * angle); Vector3 t = v; v.x = cs * t.x - sn * n.x; v.y = cs * t.y - sn * n.y; v.z = cs * t.z - sn * n.z; n.x = sn * t.x + cs * n.x; n.y = sn * t.y + cs * n.y; n.z = sn * t.z + cs * n.z; setModelViewMatrix(); } //Рыскание void yaw(float angle) { float cs = cos(M_PI / 180 * angle); float sn = sin(M_PI / 180 * angle); Vector3 t = u; u.x = cs * t.x + sn * n.x; u.y = cs * t.y + sn * n.y; u.z = cs * t.z + sn * n.z; n.x = -sn * t.x + cs * n.x; n.y = -sn * t.y + cs * n.y; n.z = -sn * t.z + cs * n.z; setModelViewMatrix(); }

Слайд 22


Пример управления камерой //Поворот камеры вокруг оси v void rotate(float angle) { float cs = cos(M_PI / 180 * angle); float sn = sin(M_PI / 180 *...
Описание слайда:
Пример управления камерой //Поворот камеры вокруг оси v void rotate(float angle) { float cs = cos(M_PI / 180 * angle); float sn = sin(M_PI / 180 * angle); Point3 Eye, Look; Vector3 Up; Eye.x = cs * eye.x - sn * eye.z; Eye.y = eye.y; Eye.z = sn * eye.x + cs * eye.z; Look = look; Up = up; set(Eye, Look, Up); } void setShape(float left, float right, float bottom, float top, float near, float far) { glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(left, right, bottom, top, near, far); }

Слайд 23


Пример управления камерой void myKeyboard(unsigned char key, int x, int y) { switch(key) { case '1': slide(0, 0, 0.2); break; // скольжение вперед...
Описание слайда:
Пример управления камерой void myKeyboard(unsigned char key, int x, int y) { switch(key) { case '1': slide(0, 0, 0.2); break; // скольжение вперед case '2': slide(0, 0, -0.2); break; // скольжение назад case '3': pitch(-1.0); break; // тангаж вверх case '4': pitch(1.0); break; // тангаж ввниз case '5': roll(-1.0); break; // крен влево case '6': roll(1.0); break; // крен вправо case '7': yaw(-1.0); break; // рыскание влево case '8': yaw(1.0); break; // рыскание вправо case '9': rotate(1.0); break; case '0': rotate(-1.0); break; } glutPostRedisplay(); } void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glutWireTeapot(1.0); glFlush(); glutSwapBuffers(); }

Слайд 24


Пример управления камерой void main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);...
Описание слайда:
Пример управления камерой void main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutInitWindowSize(640, 480); glutInitWindowPosition(50, 50); glutCreateWindow("Пилотирование камеры вокруг чайника"); glClearColor(1.0f,1.0f,1.0f,1.0f); glColor3f(0.0f,0.0f,0.0f); glViewport(0, 0, 640, 480); Point3 Eye = {4, 4, 4}, look = {0, 0, 0}; Vector3 up = {0, 1, 0}; set(Eye, look, up); setShape(-2.0f, 2.0f, -2.0f, 2.0f, 0.0f, 10.0f); glutDisplayFunc(myDisplay); glutKeyboardFunc(myKeyboard); glutMainLoop(); }

Слайд 25


Пример управления камерой
Описание слайда:
Пример управления камерой



Похожие презентации
Mypresentation.ru
Загрузить презентацию