Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчёт_кг.doc
Скачиваний:
3
Добавлен:
27.10.2018
Размер:
2.73 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

филиал в г. Смоленске

Лабораторные работы

ПО КУРСУ «КОМПЬЮТЕРНАЯ ГРАФИКА»

Группа: ВМ-09

Студенты: Шаталов А.Н.

Преподаватель: Малашенкова И.В.

Смоленск 2011

  1. Пользовательский интерфейс

Первым этапом создания программы является проектирование интерфейса в стиле формата CUA. Данный формат предполагает наличие строки главного меню в верхней части окна, строки статуса в нижней. Большую часть окна занимают поля вывода четырех проекций изображения. В правой части окна находятся кнопки и переключатели, позволяющие пользователю работать с объектом, создавать/удалять ребра, проводить трансформации. Стандартные диалоги Windows на открытие или сохранение файла, появляются в центральной части программы, что не противоречит стандарту.

Форма запущенной программы выглядит следующим образом (см. рис. 1).

Рис. 1.1 Общий вид экранной формы

Рабочее поле содержит следующие элементы:

  • четыре области для вывода проекций

  • главное меню ( строка вверху формы)

  • строка статуса (в нижней зоне экрана)

Строка статуса содержит значения коэффициентов сдвига, масштаба и поворота. Для кадой оси свои коэффициенты. При первом открытии приложения, создании новой фигуры, загрузки объекта из файла эти коэффициенты сбрасываются в положение по умолчанию. Для сдвига и поворота это 0, а для масштаба 1.

Главное меню содержит следующие пункты «Файл», «Действие», «Печать», «Выход».

Меню «Файл»

Меню “Файл” содержит следующие подпункты

  • Создать

  • Открыть

  • Сохранить

  • Сохранить как

  • Редактировать

Рассмотрим каждый пунктов подробнее

Подпункт Создать открывает пустую форму, которая используется для описания фигуры (см. рис. 1.2). После нажатия на этот пункт инициализируются все переменные, заполняются заголовки таблиц, очищаются все поля вывода изображений, а также становятся видимыми все панели, используемые для редактирования данных о вершинах и ребрах. Переключатели Вершины/Ребра служат для выбора одного из режимов редактирования вершин или ребер соответственно. Информация вводится в компонент StringGrid. Для вершин таблица имеет 4 столбца – первый содержит номер вершины, остальные три координаты соответственно по x,y и z. Таблица ребер имеет два столбца, служащие для ввода начала и конца ребра.

Рис. 1.2 Нажатие Файл Создать

Для проверки на корректность введенных данных используется функция table_is_right.

В зависимости от выбранного режима кнопка:

Добавить – Добавляет новую строку в таблице ребер или вершин, анализирует последнюю строку на корректность, и если данные в ней некорректны, то выводится соответствующее сообщение, а новая строка из таблицы удаляется.

Удалить - вычисляет выбранную строчку в таблице, стирает все значения, а затем смещает все строки внизу на одну позицию вверх. Также при удалении вершины, анализируется таблица с ребрами и удаляются те, которые принадлежали данной вершине. После происходит обновление внутренних массивов программы v_array и e_array, по данным из StringGrid.

Принять - сперва анализируется вся таблица на корректность данных при помощи функции table_is_right. Затем, если функция возвращает true, данные из таблиц копируются во внутренние массивы программы при помощи процедур copy_vert и copy_edge. После происходит нормировка координат, и перерисовывание видов проекций.

При выборе подпункта Редактировать на правой части формы появляются 2 кнопки, служащие для переключение между режимами редактирования вершин или ребер, и панель, содержащая таблицу для редактирования вершин и ребер (см. рис. 1.3).В отличие от подпункта Создать, подпункт Редактировать позволят изменить уже созданный объект. Действия кнопок Добавить, Удалить и Принять аналогичны. Сперва все данные заносятся в таблицу, затем проверяется корректность введенных чисел и только после этого информация копируется в внутренние динамические массивы программы. V_array для вершин и e_array для ребер, причем информация о вершинах предварительно нормируются при помощи процедуры norm_cord;

Рис. 1.3 Нажатие пункта Редактировать

При выборе пунктов меню Открыть, Сохранить, и Сохранить как открываются стандартные формы Windows. Открываются файлы только с расширением *.mdl. Загрузка и сохранение реализованы отдельными процедурами load и save соответственно. После открытия какого-либо файла в переменную path запоминается путь к этому файлу. При нажатии на пункт “Сохранить”, данные записываются в файл, путь к которому прописан в этой переменной. При нажатии на пункт “Сохранить как” запускается стандартный диалог Windows для сохранения.

Строка статуса содержит коэффициенты преобразования и их численные значения (см. рис. 1.4). Для их хранения используется структура SceneInfo, которая содержит поля типа real – значения коэффициентом трансформаций. Для их вывода в строку статуса используется процедура ShowInfo.

Рис. 1.4 Внешний вид строки состояния

Меню «Печать»

Пункт меню Печать выводит стандартный диалог Windows (см. рис. 1.5). Печатается содержимое изометрической области.

Рис. 1.5 Нажатие Печать