- •Задание
- •Введение
- •Описание алгоритмов решения задачи.
- •Общая схема приложения
- •Получение и обработка команд
- •Алгоритмы построения и сохранения изображения
- •Заключение
- •Приложения Приложение а. Структура cPyramid.
- •Приложение б. Описание класса LibGraph.
- •Приложение в. Описание класса cMatrix.
- •Приложение д. Функции аффинных преобразований.
- •Приложение е. Функции преобразования координат.
- •Приложение ж. Функция сохранения изображения в файл
- •Список литературы
Учреждение образования «БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»
Факультет Информационных технологий
Кафедра Информатики и компьютерной графики
Специальность ПОИБМС
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
КУРСОВОЙ РАБОТЫ
по дисциплине Компьютерная геометрия и графика
Тема: Приложение Windows «Октаэдр»
Исполнитель
студент 3 курса группы 5 . __________ Тарасенко А.В.
Руководитель
доцент, к. т.н. __________ А. А. Дятко
Курсовой проект защищен с оценкой ______________
Руководитель __________ Дятко А.А.
Минск 2015
Оглавление
Задание 3
Введение 4
Описание алгоритмов решения задачи. 5
1. Общая схема приложения 5
2. Получение и обработка команд 6
3. Алгоритмы построения и сохранения изображения 9
Заключение 11
Приложения 13
Список литературы 24
Задание
Создать приложение Windows для графического 3D - изображения движения октаэдра в прямоугольной области на плоскости.
Для установки параметров модели использовать окно диалога.
Изменяемые параметры движения октаэдра:
положение наблюдателя;
положение источника света;
модель освещения;
При освещении октаэдра использовать как диффузионную и зеркально-диффузионную (по выбору пользователя) модель отражения света поверхностью.
Обеспечить перемещение источника света по долготе ((Ctrl + Shift) + стрелки)
Обеспечить запись изображения в графический файл *.bmp
Введение
Современные задачи компьютерного моделирования и других научных областей требуют применения компьютерной геометрии и графики для наглядного представления моделируемых процессов.
Ключевыми элементами компьютерных моделей являются точки. Они используются для построения всех моделируемых объектов. Важной задачей является перемещение, поворот и растяжение отдельных объектов относительно друг друга.
Часто моделируются процессы, развертывающиеся в трехмерном пространстве. Их необходимо изображать на двухмерном дисплее. При этом может быть важна возможность наблюдать процесс с разных сторон. Поэтому возникает задача пересчета координат из трехмерных мировых в двухмерные оконные.
Кроме того, бывает важным сохранение полученных в ходе моделирования изображений для дальнейшего анализа. Сохранение должно осуществляться в аппаратно-независимом формате для эффективного решения задач передачи и хранения графической информации.
Решение данных задач предстоит и при выполнении поставленного задания. Для этого будет использоваться пакет MFC, предоставляющий набор классов для реализации приложения, эффективно взаимодействующего с пользователем при помощи периферийных устройств, меню, диалоговых окон.
Описание алгоритмов решения задачи.
Общая схема приложения
Для решения поставленных задач было создано приложение MFC, построенное по следующей схеме:
Создание окна и запуск прослушивателей сообщений выполняются по стандарту MFC приложений без использования архитектуры «Документ/Вид». Для хранения параметров была выработана соответствующая структура (приложение А). Завершение работы приложения выполняется также по стандарту MFC приложений.
Получение и обработка команд
Цикл получения и обработки команд можно изобразить следующим образом:
При помощи обработчика сообщений от клавиатуры реализованы следующие реакции:
поворот наблюдателя при помощи стрелок;
поворот источника света при помощи клавиш w, a, s, d;
переключение модели освещения клавишами o, p;
вызов диалога настройки параметров
В диалоге настройки параметров выполняется настройка всех требуемых параметров октаэдр, его начальная скорость, источника света, наблюдателя. Обработка действий отдельных элементов управления реализована при помощи механизма DoDataeXchange, являющегося полезным инструментом взаимодействия приложения MFC с пользователем (приложение Б).
Рисунок 2 – Диалог настройки параметров
