Лабораторная работа №6. Аффинные преобразования в пространстве. Проецирование

Просьба ознакомиться с содержанием лабораторных работ №№7-9. Их реализация базируется на классах из этой лабораторной, планируйте соответственно.

В программе должны присутствовать следующие классы: точка, прямая (ребро), многоугольник (грань), многогранник.

Программа должна содержать следующие возможности:

  • Отображение одного из правильных многогранников: тетраэдр, гексаэдр, октаэдр, икосаэдр*, додекаэдр*.
  • Применение аффинных преобразований: смещение, поворот, масштаб, с указанием параметров преобразования. Преобразования должны быть реализованы матрицами!

  • Отражение относительно выбранной координатной плоскости.
  • Масштабирование многогранника относительно своего центра.
  • Вращение многогранника вокруг прямой проходящей через центр многогранника, параллельно выбранной координатной оси.
  • Поворот вокруг произвольной (заданной координатами двух точек) прямой на заданный угол.

Программа должна позволять отобразить сцену в одной из заданных проекций (преобразования должны быть реализованы матрицами):

  • перспективной;
  • изометрической;
  • ортографической (на выбранную координатную плоскость).

 * – необязательная реализация за бонусные баллы