МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Н.Э. БАУМАНА
Калужский филиал
Факультет «ЭИУК»
Кафедра «ЭИУ-5»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ
Тема:
“Векторный графический редактор”
Калуга, 2008 г.
1. Введение
2. Техническое задание
2.1 Общие сведения
2.2 Назначение и цели создания системы
2.3 Требование к системе
2.4 Состав и содержание работ по созданию системы
3. Исследовательская часть
3.1 Постановка задачи
3.2 Обоснование выбора темы
3.3 Обоснование выбора способа решения
3.4 Обоснование выбора платформы
3.5 Обоснование выбора языка программирования
4. Конструкторская часть
4.1 Функциональное назначение
4.2 Руководство программиста
5. Технологическая часть
5.1 Назначение программы
5.2 Условия выполнения программы
5.3 Руководство пользователя
Заключение
Литература
1. Введение
Тема курсовой работы:
Разработка векторного графического редактора.
Задачи:
Создание изображений при помощи набора графических примитивов (отрезки прямых, прямоугольники, треугольники, эллипсы) и зеркальное преобразование пространства.
1. Изучение среды программирования С++ Builder
2. Изучение теоретических основ векторной графики
3. Знакомство и использование алгоритмов преобразования пространства
4. Приобретение навыков программирования на языке С++
Актуальность данной темы заключается в том, что в ходе изучения курса специальности Системы Автоматизированного Проектирования происходит знакомство с различными видами CAD систем. На основе CAD систем построены векторные конструкторские редакторы, а также редакторы для геометрического моделирования пространства. Таким образом, при выполнении задания данной темы были изучены основы работы векторных графических редакторов, что внесет существенный вклад в успешность дальнейшего процесса обучения курсу.
2.Техническое задание
2.1.1 Полное наименование системы
Программа для создания и преобразования изображений.
2.1.2 Перечень документов, на основании которых создается система
Основанием для разработки данной программы является курсовая работа по курсу «Программирование на языках высокого уровня». Разработка ведется на основании задания, утвержденного преподавателем.
2.1.3 Плановые сроки начала и окончания работы по созданию системы
Постановка задачи для курсовой работы по курсу “Программирования на языках высокого уровня” произведена 17.09.2008, окончание разработки программы и создания документации должно быть сделано не позже 8.12.2008.
2.1.4 Порядок оформления и предъявления заказчику результатов работ по созданию системы
Предъявление преподавателю результатов работ по созданию программного продукта включает следующие этапы:
· постановка задачи
· согласование и утверждение технического задания
· разработка и согласование структуры программы
· согласование и утверждение приложения
· разработка пояснительной записки и графической части, указанных в задании
· согласование и утверждение технического проекта.
2.2 Назначение и цели создания системы
Программный продукт предназначен для создания, редактирования графических изображений. Программный продукт может быть использован для создания различных графических изображений, при помощи заданного набора примитивов, и позволяет преобразовывать полученное изображение посредством применения функции «mirror». Программный продукт разработан в учебных целях и не претендует на использование в качестве полноценного редактора.
2.3 Требование к системе
2.3.1 Требования к системе в целом
2.3.1.1 Требования к структуре
Данная система состоит из следующих частей:
· Рисование графических примитивов, таких как: Line, Rectangle, Triangle, Ellipse
· Преобразование пространства посредством функции Mirror, в частности примитива Ellipse
2.3.1.2 Требования к надежности
Программный продукт должен отвечать следующим требованиям надежности:
При работе с изображением производится проверка сохранности результатов работы с изображением.
При тестировании программного продукта путем использования различных сочетаний всех его возможностей ошибок в работе обнаружено не было.
2.3.1.3 Требования к эксплуатации
Программный продукт обладает простотой и удобством интерфейса и может обслуживаться любым пользователем, не имеющим специальных знаний в работе с изображениями, имеющим элементарные навыки работы с ПК. Программный продукт может быть использован по необходимости и не имеет ограничений, связанных с режимом работы.
2.3.2 Требования к функциям, выполняемым программным продуктом
· Работа с графическими файлами
1. Создание нового графического файла
· Рисование основных геометрических примитивов
1. Рисование отрезков прямых
2. Рисование прямоугольников
3. Рисование треугольников
4. Рисование эллипсов
· Дополнительные возможности редактирования
1. Зеркальное преобразование пространства с нарисованными в нем эллипсами
2.3.3 Требования к видам обеспечения
2.3.3.1 Математическое обеспечение системы
При реализации данного программного продукта были применены некоторые стандартные алгоритмы: построения графических примитивов, работы с изображением. Применение стандартных алгоритмов улучшило быстродействие и упростило проектирование данного программного продукта.
2.3.3.2 Лингвистическое обеспечение системы
Программный продукт должен разрабатываться только с использованием среды программирования C++ Builder 6. Использование других сред программирования не допускается. Необходимо добиться безошибочной работы приложения на ОС Windows семейства ХР.
2.3.3.3 Технического обеспечения системы
Для нормального функционирования программного продукта необходимо:
· Процессор i80486
· 16Мб RAM
· Не менее 3 Мб свободного места на жестком диске
· Клавиатура и манипулятор мышь
Для работы с приложением потребуется установленная операционная система Windows семейства XP. Для функционирования приложения не требуется никаких специально установленных программных продуктов.
2.4 Состав и содержание работ по созданию системы (Табл. 1)
Таблица 1
Этап разработки | Срок выполнения | |
1 | Утверждение темы. Разработка плана. | 17.09.2008 – 3.10.2008 |
2 | Обзор литературы и способов решения, обоснование выбора способа решения, аппаратной и программной платформ, среды разработки. | До 17.10.2008 |
3 | Разработка алгоритма работы приложения, разработка алгоритмов модулей, реализация их в выбранной среде разработки. | 17.10.2008 – 21.11.2008 |
4 | Формулирование требований к аппаратной и программной платформам, руководство по установке и администрированию приложения, руководство пользователя. | До 21.11.2008 |
5 | Окончательное оформление чертежей и расчетно-пояснительной записки. Подготовка доклада. | До 8.12.2008 |
3.1 Варианты способа решения
· создание четырех классов соответственно количеству заданных примитивов содержащих данные о них и двух методов: перерисовки изображения и преобразования пространства
· создание родительского класса, содержащего дочерние классы соответствующие набору примитивов, а также дополнительный класс для выполнения вычислений связанных с преобразованием пространства
При реализации поставленной задачи она была разбита на две части:
· рисование графических примитивов
· преобразование пространства при помощи алгоритмов преобразования пространства
Выбор С++ Builder 6 обоснован тем что, он представляет многообразные возможности во всех областях программирования прикладного программного обеспечения, включая данную. На этой мощной основе программист может создать многофункциональный программный продукт с большим спектром возможностей.
3.2 Обоснование выбора платформы
Для реализации программы была выбрана платформа Microsoft Windows XP. Этот выбор обусловлен наличием данной ОС на ЭВМ в аудиториях университета, что позволит наглядно продемонстрировать полученный программный продукт.
3.3 Обоснование выбора языка программирования
Для реализации данного программного продукта был выбран язык C++. Этот выбор обусловлен тем, что объектно-ориентированный язык высокого уровня C++ на порядок превосходит свои аналоги по оценочному параметру скорость-удобство: он имеет все высокоуровневые средства структурирования программ, и при этом программы, написанные с его помощью, являются очень быстрыми благодаря использованию оптимизирующих компиляторов. Кроме того, компиляторы для C++ существуют почти подо всеми платформами, и большинство из них поддерживают последние стандарты языка. Поскольку системы контроля версий нередко используются для разработки мульти-платформенных приложений, то весьма вероятно, что программы впоследствии придется переносить под другую операционную систему. Язык С++ позволит легко это сделать.