Получение и обработка команд




Задание

 

Создать приложение Windows для графического 3D - изображения движения октаэдра в прямоугольной области на плоскости.

Для установки параметров модели использовать окно диалога.

Изменяемые параметры движения октаэдра:

· положение наблюдателя;

· положение источника света;

· модель освещения;

При освещении октаэдра использовать как диффузионную и зеркально-диффузионную (по выбору пользователя) модель отражения света поверхностью.

Обеспечить перемещение источника света по долготе ((Ctrl + Shift) + стрелки)

 

Обеспечить запись изображения в графический файл *.bmp

 

 

Введение

Современные задачи компьютерного моделирования и других научных областей требуют применения компьютерной геометрии и графики для наглядного представления моделируемых процессов.

Ключевыми элементами компьютерных моделей являются точки. Они используются для построения всех моделируемых объектов. Важной задачей является перемещение, поворот и растяжение отдельных объектов относительно друг друга.

Часто моделируются процессы, развертывающиеся в трехмерном пространстве. Их необходимо изображать на двухмерном дисплее. При этом может быть важна возможность наблюдать процесс с разных сторон. Поэтому возникает задача пересчета координат из трехмерных мировых в двухмерные оконные.

Кроме того, бывает важным сохранение полученных в ходе моделирования изображений для дальнейшего анализа. Сохранение должно осуществляться в аппаратно-независимом формате для эффективного решения задач передачи и хранения графической информации.

Решение данных задач предстоит и при выполнении поставленного задания. Для этого будет использоваться пакет MFC, предоставляющий набор классов для реализации приложения, эффективно взаимодействующего с пользователем при помощи периферийных устройств, меню, диалоговых окон.


 

Описание алгоритмов решения задачи.

Общая схема приложения

Для решения поставленных задач было создано приложение MFC, построенное по следующей схеме:

Начало
Установка параметров в начальные значения, создание окна, запуск прослушивателей сообщений
Получение и обработка команд, прорисовка изображения с учетом поступающих параметров
Поступила команда «Выход»
Завершение обработки сообщений, закрытие окон, освобождение памяти
Конец
нет
да

Создание окна и запуск прослушивателей сообщений выполняются по стандарту MFC приложений без использования архитектуры «Документ/Вид». Для хранения параметров была выработана соответствующая структура (приложение А). Завершение работы приложения выполняется также по стандарту MFC приложений.


 

Получение и обработка команд

Цикл получения и обработки команд можно изобразить следующим образом:

Начало
Конец
Регуляция положения наблюдателя и источника света нажатием клавиш
Установка параметров в диалоге  
Движение с заданной скоростью
Перерисовка поля и октаэдра
Вызов справки из меню
Команда меню «Выход» или закрытие окна
Отображение справочных окон
Команда меню «Сохранить»
Ввод пути и имени сохраняемого файла в стандартном диалоге
Сохранение изображения в файл


При помощи обработчика сообщений от клавиатуры реализованы следующие реакции:

· поворот наблюдателя при помощи стрелок;

· поворот источника света при помощи клавиш w, a, s, d;

· переключение модели освещения клавишами o, p;

· вызов диалога настройки параметров

В диалоге настройки параметров выполняется настройка всех требуемых параметров октаэдр, его начальная скорость, источника света, наблюдателя. Обработка действий отдельных элементов управления реализована при помощи механизма DoDataeXchange, являющегося полезным инструментом взаимодействия приложения MFC с пользователем (приложение Б).

 

 

Рисунок 2 – Диалог настройки параметров

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-10-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: