Реферат: Объектно-ориентированное программирование на C++ с использованием библиотеки OpenGL
Также программа позволяет реализовать принцип обучения на примерах, т.е. начинающий программист имеет возможность просмотреть все исходные тексты программы, содержащие необходимые пояснения, и разобраться в ее работе наглядно.
1.2 Аналитический обзор.
Существует ровно пять правильных многогранников. Их основные характеристики приведены в следующей таблице:
Название Многогранника | Число граней | Число ребер | Число вершин |
Тетраэдр | 4 | 6 | 4 |
Гексаэдр | 6 | 12 | 8 |
Октаэдр | 8 | 12 | 6 |
Додекаэдр | 12 | 30 | 20 |
Икосаэдр | 20 | 30 | 12 |
Вывод изображения на экран дисплея и разнообразные действия с ним, в том числе и визуальный анализ, требуют от программиста определенной геометрической грамотности. Геометрические понятия, формулы и факты, относящиеся прежде всего к плоскому и трехмерному случаям, играют в задачах компьютерной графики особую роль. Геометрические соображения, подходы и идеи в соединении с постоянно расширяющимися возможностями вычислительной техники являются источником существенных продвижений на пути развития компьютерной графики, ее эффективного использования в научных и иных исследованиях.
Современное программное обеспечение предоставляет программисту широкий спектр возможностей по работе с компьютерной графикой, причем, как с двумерной, так и с трехмерной. В зависимости от поставленной перед программистом задачи и уровня его подготовки, у него есть ряд возможностей при разработке программы для работы с графикой. Во-первых, программист может разработать программный продукт при помощи прямого программирования аффинных преобразований на плоскости и в пространстве. Во-вторых, он может воспользоваться уже созданными библиотеками для моделирования графических объектов (например, библиотека OpenGL). В-третьих, существуют программные продукты, посвященные графическому моделированию и не требующие написания кода программы для работы с графикой (например, 3D-Studio).
- Описание математического аппарата аналитической геометрии.
Движение графических объектов в пространстве осуществляется посредством аффинных преобразований. Любое аффинное преобразование в трехмерном пространстве может быть представлено в виде суперпозиции вращений, растяжений, отражений и переносов. Каждая точка пространства (кроме начальной точки О) может быть задана четверкой одновреммено не равных нулю чисел (hx, hy,hz,h); эта четверка чисел определена однозначно с точностью до общего множителя.
Рассмотрим матрицы преобразований.
1) Матрицы вращения в пространстве
Матрица вращения вокруг оси абсцисс на угол :
М
атрица вращения вокруг оси ординат на угол :
Матрица вращения вокруг оси аппликат на угол :
2) Матрица растяжения (сжатия):
г
де
>0 – коэффициент растяжения (сжатия) вдоль оси абсцисс;
>0 – коэффициент растяжения (сжатия) вдоль оси ординат;
>0 – коэффициент растяжения (сжатия) вдоль оси аппликат.
3) Матрицы отражения.
М
атрица отражения относительно плоскости xy:
М
атрица отражения относительно плоскости yz:
М
атрица отражения относительно плоскости zx:
4
) Матрица переноса
где ( - вектор переноса.
-
Технический и рабочий проекты программного продукта.
- Уточнение технических требований, сформулированных в теоретическом задании.
Для успешного запуска программы и работы с ней необходимо выполнение ниже перечисленных требований:
-
IBM-совместимый компьютер с процессором Pentium 90;