Учебная работа № 5314. «Контрольная Трёхмерные преобразования объектов

Учебная работа № 5314. «Контрольная Трёхмерные преобразования объектов

Количество страниц учебной работы: 27
Содержание:
«Содержание
1. Задание лабораторной работы 3
2. Математический аппарат 3
3. Описание алгоритма 4
4. Отображение результатов 7
7. Создание приложения 9
8. Результаты работы программы 9
Список литературы 12
Приложение. Исходный текст программы 13

1. Задание лабораторной работы
Отразить треугольник ABC относительно плоскости xOz.
Составить программу на языке С++.
Входные данные: координаты точек A, B и C.
Выходные данные: координаты нового треугольника, матрица преобразования.

Список литературы
1. Роджерс Д., Адамс Дж. Математические основы машинной графики: Пер. с англ. – М.: Мир, 2001. – 604 с., ил.
»

Стоимость данной учебной работы: 585 руб.Учебная работа № 5314.  "Контрольная Трёхмерные преобразования объектов

    Укажите Ваш e-mail (обязательно)! ПРОВЕРЯЙТЕ пожалуйста правильность написания своего адреса!

    Укажите № работы и вариант

    Соглашение * (обязательно) Федеральный закон ФЗ-152 от 07.02.2017 N 13-ФЗ
    Я ознакомился с Пользовательским соглашением и даю согласие на обработку своих персональных данных.

    Выдержка из похожей работы

    3,
    Правосторонняя система координат
    используется во всех остальных случаях,
    Отображение трехмерной информации
    происходит в двумернуюоконнуюсистему координат,

    Рис, 4 Системы координат
    в OpenGL

    Строго
    говоря, OpenGLпозволяет
    путем манипуляций с матрицами моделировать
    как правую, так и левую систему координат,
    Но на данном этапе лучше пойти простым
    путем и запомнить: основной системой
    координатOpenGLявляется
    правосторонняя система,

    Работа с матрицамиДля
    задания различных преобразований
    объектов сцены в OpenGL используются
    операции над матрицами, при этом различают
    три типа матриц: модельно-видовая,
    матрица проекций и матрица текстуры,
    Все они имеют размер 4×4, Видовая матрица
    определяет преобразования объекта в
    мировых координатах, такие как параллельный
    перенос, изменение масштаба и поворот,
    Матрица проекций определяет, как будут
    проецироваться трехмерные объекты на
    плоскость экрана (в оконные координаты),
    а матрица текстуры определяет наложение
    текстуры на объект,
    Умножение
    координат на матрицы происходит в момент
    вызова соответствующей команды OpenGL,
    определяющей координату (как правило,
    это командаglVertex*)Для
    того чтобы выбрать, какую матрицу надо
    изменить, используется команда:void
    glMatrixMode
    (GLenum mode)

    вызов которой со
    значением параметра modeравнымGL_MODELVIEW,GL_PROJECTION, илиGL_TEXTUREвключает режим работы с модельно-видовой
    матрицей, матрицей проекций, или матрицей
    текстуры соответственно, Для вызова
    команд, задающих матрицы того или иного
    типа, необходимо сначала установить
    соответствующий режим,Для
    определения элементов матрицы текущего
    типа вызывается командаvoid
    glLoadMatrix[f
    d] (GLtype *m)

    где mуказывает на
    массив из 16 элементов типа float или double
    в соответствии с названием команды, при
    этом сначала в нем должен быть записан
    первый столбец матрицы, затем второй,
    третий и четвертый, Еще раз обратим
    внимание: в массивеm
    матрица записанапо столбцам,Командаvoid
    glLoadIdentity
    (void)

    заменяет текущую
    матрицу на единичную,
    Часто бывает необходимо
    сохранить содержимое текущей матрицы
    для дальнейшего использования, для чего
    применяются команды
    void
    glPushMatrix
    (void)void
    glPopMatrix
    (void)

    Они
    записывают и восстанавливают текущую
    матрицу из стека, причем для каждого
    типа матриц стек свой, Для модельно-видовых
    матриц его глубина равна как минимум
    32, для остальных – как минимум 2,Для
    умножения текущей матрицы на другую
    матрицу используется командаvoid
    glMultMatrix[f
    d] (GLtype *m)

    где параметр mдолжен задавать матрицу размером 4×4,
    Если обозначить текущую матрицу за М,
    передаваемую матрицу за T, то в результате
    выполнения командыglMultMatrixтекущей становится матрица M * T, Однако
    обычно для изменения матрицы того или
    иного типа удобно использовать специальные
    команды, которые по значениям своих
    параметров создают нужную матрицу и
    умножают ее на текущую