Пример организации экзамена в ZOOM (ZOOM exam organization example)

Автор: | 18.06.2020

Введение
Выбор билета и формирование заданий
Порядок проведения работы

Введение

Экзамен подготовлен для курса 2D/3D преобразования, составленного из следующих тем:

  1. 2D графика на основе WinApi C++
  2. 3D графика на основе WinApi C++
  3. 3D графика на основе OpenGL WinApi C++
  4. Имитация полета крылатой ракеты на OpenGL WinApi C++
  5. Определение ориентации 3D объекта по изображению
  6. 3D-реконструкция по двум изображениям
  7. Матрицы поворота, углы Эйлера и кватернионы

Выбор билета и формирование заданий

Студент или преподаватель выбирает билет случайным образом (random) :

По номеру выбранного билета на основе данных из таблицы 1 формируются 3 задания — 2 теоретических вопроса и одна практическая задача. Например:

  1. Структура оконного WinAPI С++ приложения.
  2. Матрица зеркального отображения относительно плоскости XY.
  3. Модифицировать шаблон WinAPI С++ приложения (с OpenGL) под создание проекции рупорной антенны на плоскость XY по заданным параметрам ее положения.

Все 30 билетов можно открыть по ссылке.

Табл.1 Данные для формирования 3-х заданий

Для выполнения 3-го задания используется  шаблон WinAPI С++ приложения  или  шаблон WinAPI С++ приложения с подключением OpenGL — в соответствии с выбранным номером билета.

Параметры положения антенны

Вопросы к заданиям 1 и 2

  1. Структура оконного WinAPI С++ приложения.
  2. Задачи, которые выполняет функция WinMain в WinAPI С++ приложении.
  3. Задачи, которые выполняет оконная функция в WinAPI С++ приложении.
  4. Каким образом обеспечивается подключение оконной функции?
  5. Специфика обработки сообщений в WinAPI С++ приложении?
  6. Каким образом  можно облегчить чтение и модификацию приложения?
  7. Какой объект обеспечивает рисование в WinAPI С++ приложении?
  8. Зачем для рисования используются два контекста устройства?
  9. Где начало координат и какое направление осей оконной СК?
  10. Где в WinAPI приложении вызывается функция рисования?
  11. Основные свойства, которые сохраняются для различных видов преобразований.
  12. Чем отличается декартова СК от аффинной СК?
  13. Уравнения преобразований поворота на плоскости.
  14. Уравнения преобразований движения на плоскости.
  15. Запись преобразований движения через однородные координаты
  16. Основные элементарные преобразования движения в плоскости.
  17. Зеркальное отображения относительно оси X на плоскости
  18. Зеркальное отображение относительно оси Y на плоскости
  19. Равноценны ли преобразования, выраженные через матрицы произведений M1M2 і M2M1?
  20. Преобразования поворота на плоскости в матричном виде.
  21. Преобразования движения на плоскости в матричном виде.
  22. Матрица поворота вокруг оси X.
  23. Матрица поворота вокруг оси Y.
  24. Матрица поворота вокруг оси Z.
  25. Матрица перемещения вдоль оси X в пространстве.
  26. Матрица перемещения вдоль оси Y в пространстве.
  27. Матрица перемещения вдоль оси Z в пространстве.
  28. Матрица масштабирования вдоль оси X в пространстве.
  29. Матрица масштабирования вдоль оси Y в пространстве.
  30. Матрица масштабирования вдоль оси Z .
  31. Матрица зеркального отображения относительно плоскости XY.
  32. Матрица зеркального отображения относительно плоскости XZ.
  33. Матрица зеркального отображения относительно плоскости YZ.
  34. Виды проекций.
  35. Способы построения ортогональной проекции.
  36. Матрица ортогональной проекции.
  37. Матрица центральной проекции.
  38. Чем отличается матрица ортогональной проекции от матрицы центральной проекции?
  39. Можно ли матрицей центральной проекции задать ортогональную проекцию?
  40. Как определяется  положение одной СК относительно другой через матрицы?
  41. Как определяется матрица положения объекта в новой СК?
  42. Подключение OpenGL к WinAPI С++ приложению.
  43. Как определяется примитивы OpenGL?
  44. Примитивы GL_LINE_LOOP и GL_LINES.
  45. Примитивы GL_QUADS и GL_TRIANGLE_STRIP.
  46. Примитивы для поверхностной и проволочной моделей.
  47. Функции для работы со списками в OpenGL
  48. OpenGL — машина состояния. Что это значит?
  49. Функции glPushMatrix() и glPopMatrix()
  50. Функция glTranlsate и ее параметры.
  51. Функция glRotate и ее параметры.
  52. Функция glScale и ее параметры.
  53. В OpenGL относительно какой СК происходит следующее преобразование — текущей или глобальной?
  54. Как в OpenGL сохранить и восстановить СК?
  55. Функция gluLookAt и ее параметры
  56. Как отсекаются объекты в OpenGL?
  57. Функция gluPerspective и ее параметры.
  58. Функция glOrtho и ее параметры.
  59. Матрицы поворота и углы Эйлера.
  60. Axis Angle представление вращения.

Порядок выполнения работы

Перед началом ZOOM-конференции преподаватель включает запись с целью контроля за проведением экзамена.

Экзамен проводится со студентами, разделенными по группам не более чем из 8 человек. Деление на группы обусловлено тем, чтобы можно было наблюдать через окна на экране за самостоятельностью выполнения работы каждым студентом.

По окончании работы каждый из студентов составляет Word- отчет по экзамену, который отправляется преподавателю на электронную почту.

Пример Word- отчета по экзамену

Экзамен по дисциплине  «Компьютерная графика и геометрическое моделирование».

Студент Конопко В.С., Гр. КН-19-1. Билет №1

Задания:

  1. Структура оконного WinAPI С++ приложения.
  2. Матрица зеркального отображения относительно плоскости XY.
  3. Модифицировать шаблон WinAPI С++ приложения (с OpenGL) под создание проекции рупорной антенны на плоскость XY по заданным параметрам ее положения: p= 0.15; h=0.95; alpha=15;  beta=45;   gamma=75.

Выполнение заданий:

Задание 1

WinAPI приложение является в своей основе процедурным приложением и содержит два основных модуля – функции WinMain и WndProc.

Функция WinMain составляет основу любого WinAPI приложения. Она служит как бы точкой входа в приложение и отвечает за следующее:

  • начальную инициализацию приложения;
  • создание и регистрацию объекта класса окна приложения;
  • создание и инициализацию цикла обработки событий.

Обработанное в бесконечном цикле событие переправляется (опосредовано через Windows) оконной функции WndProc. События в ней идентифицируются именем константы (WM_PAINT, WM_DESTROY и др.). Рисование осуществляется при помощи объектов типа HDC (дескриптор контекста устройства).

Задание 2

//  1  0  0  0  //

//  o  1  0  0  //

// 0   0  -1  0 //

// 0   0  0  1  //

Задание 3