Векторный графический редактор - Программирование, компьютеры и кибернетика курсовая работа

Векторный графический редактор - Программирование, компьютеры и кибернетика курсовая работа



































Создание изображений при помощи набора графических примитивов (отрезки прямых, прямоугольники, треугольники, эллипсы) и алглритмы зеркального преобразования пространства. Изучение теоретических основ векторной графики, среды программирования С++ Builder.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. Н.Э. БАУМАНА
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОЙ РАБОТЕ
Разработка векторного графического редактора.
Создание изображений при помощи набора графических примитивов (отрезки прямых, прямоугольники, треугольники, эллипсы) и зеркальное преобразование пространства.
1. Изучение среды программирования С++ Builder
2. Изучение теоретических основ векторной графики
3. Знакомство и использование алгоритмов преобразования пространства
4. Приобретение навыков программирования на языке С++
Актуальность данной темы заключается в том, что в ходе изучения курса специальности Системы Автоматизированного П р оектирования происходит знакомство с различными видами CAD систем. На основе CAD систем построены векторные конструкторские редакторы , а также редакторы для геометрического моделирования пространства. Таким образом , при выполнении задания данной темы были изучены основы работы векторных графических редакторов, что внесет существенный вклад в успешность дальнейшего процесса обучения курсу.
Программа для создания и преобразования изображений.
2.1.2 Перечень документов, на основании которых создается система
Основанием для разработки данной программы является курсовая работа по курсу « Программирование на языках высокого уровня ». Разработка ведется на основании задания, утвержденного преподавателем .
2.1.3 Плановые сроки начала и окончания работы по созданию системы
Постановка задачи для курсовой работы по курсу “ Программирования на языках высокого уровня ” произведена 17 .0 9 .200 8 , окончание разработки программы и создания документации должно быть сделано не позже 8 . 12.2008 .
2.1.4 Порядок оформления и предъявления заказчику результатов работ по созданию системы
Предъявление преподавателю результатов работ по созданию программного продукта включает следующие этапы:
· согласование и утверждение технического задания
· разработка и согласование структуры программы
· согласование и утверждение приложения
· разработка пояснительной записки и графической части , указанных в задании
· согласование и утверждение технического проекта.
2.2 Назначение и цели создания системы
Программный продукт предназначен для создания, редактирования графических изображений. Программный продукт может быть использован для создания различных графических изображений, при помощи заданного набора примитивов, и позволяет преобразовывать полученное изображение посредством применения функции «mirror». Программный продукт разработан в учебных целях и не претендует на использование в качестве полноценного редактора.
Данная система состоит из следующих частей :
· Рисование графических примитивов , таких как: Line, Rectangle, Triangle, Ellipse
· Преобразование пространства посредством функции Mirror, в частности примитива Ellipse
Программный продукт должен отвечать следующим требованиям надежности:
При работе с изображением производится п роверка сохранности результатов работы с изображением .
При тестировании программного продукта путем использования различных сочетаний всех его возможностей ошибок в работе обнаружено не было.
2.3.1.3 Требования к эксплуатации
Программный продукт обладает простотой и удобством интерфейса и может обслуживаться любым пользователем, не имеющим специальных знаний в работе с изображениями , имеющим элементарные навыки работы с ПК. Программный продукт может быть использован по необходимости и не имеет ограничений, связанных с режимом работы.
2.3.2 Требования к функциям, выполняемым программным продуктом
Программный продукт предназначен для работы с изображением и поэтому должен содержать и выполнять следующие действия:
1. Создание нового графического файла
· Рисование основных геометрических примитивов
· Дополнительные возможности редактирования
1. Зеркальное преобразование пространства с нарисованными в нем эллипсами
2.3.3 Требования к видам обеспечения
2.3.3.1 Математическое обеспечение системы
При реализации данного программного продукта были применены некоторые стандартные алгоритмы: построения графических при митивов, работы с изображением . Применение стандартных алгоритмов улучшило быстродействие и упростило проектирование данного программного продукта.
2.3.3.2 Лингвистическое обеспечение системы
Программный продукт должен разрабатываться только с использованием среды программирования C++ Builder 6 . Использование других сред программирования не допускается . Необходимо добиться безоши бочной работы приложения на ОС Windows семейства ХР .
2 .3.3.3 Технического обеспечения системы
Для нормального функционирования программного продукта необходим о :
· Не менее 3 Мб свободного места на жестком диске
Для работы с приложением потребуется установленная операционная система Windows семейства XP. Для функционирования приложения не требуется никаких специально установленных программных продуктов.
2.4 Состав и содержание работ по созданию системы (Табл. 1)
Утверждение темы. Разработка плана.
Обзор литературы и способов решения, обоснование выбора способа решения, аппаратной и программной платформ, среды разработки.
Разработка алгоритма работы приложения, разработка алгоритмов модулей, реализация их в выбранной среде разработки.
Формулирование требований к аппаратной и программной платформам, руководство по установке и администрированию приложения, руководство пользователя.
Окончательное оформление чертежей и расчетно-пояснительной записки. Подготовка доклада.
· создание четырех классов соответственно количеству заданных примитивов содержащих данные о них и двух методов: перерисовки изображения и преобразования пространства
· создание родительского класса, содержащего дочерние классы соответствующие набору примитивов, а также дополнительный класс для выполнения вычислений связанных с преобразованием пространства
При реализации поставленной задачи она была разбита на две части:
· преобразование пространства при помощи алгоритмов преобразования пространства
Выбор С++ Builder 6 обоснован тем что, он представляет многообразные возможности во всех областях программирования прикладного программного обеспечения, включая данную. На этой мощной основе программист может создать многофункциональный программный продукт с большим спектром возможностей.
Для реализации программы была выбрана платформа Microsoft Windows XP. Этот выбор обусловлен наличием данной ОС на ЭВМ в аудиториях университета, что позволит наглядно продемонстрировать полученный программный продукт.
3.3 Обоснование выбора языка программирования
Для реализации данного программного продукта был выбран язык C++. Этот выбор обусловлен тем, что объектно-ориентированный язык высокого уровня C++ на порядок превосходит свои аналоги по оценочному параметру скорость-удобство: он имеет все высокоуровневые средства структурирования программ, и при этом программы, написанные с его помощью, являются очень быстрыми благодаря использованию оптимизирующих компиляторов. Кроме того, компиляторы для C++ существуют почти подо всеми платформами, и большинство из них поддерживают последние стандарты языка. Поскольку системы контроля версий нередко используются для разработки мульти-платформенных приложений, то весьма вероятно, что программы впоследствии придется переносить под другую операционную систему. Язык С++ позволит легко это сделать.
3.4 Обоснование выбора среды программирования
Выбор данной среды программирования С++ Builder обусловлен заданием, выданным преподавателем. Достоинством данной среды является то, что в ней реализована идея подлинно визуальной разработки программ. Дизайнер интерфейсов позволяет, не написав ни строчки кода, создавать программы со сложным интерфейсом. Программист лишь пишет важный для работы код, интерфейс за него реализует среда.
Программный продукт предназначен для создания и редактирования графических изображений . Программный продукт может быть использован при создании различных изображений, используя стандартные средства редактора, такие как прямая линия , прямоугольник , треугольник, эллипс и зеркало.
Решения поставленной задачи р азбивается на несколько частей:
· р исование графических примитивов
· зеркальное преобразование пространства
Алгоритмы рисование графических примитивов
Рисование отрезков прямых производится при помощи функции LineTo(), от текущей позиции до точки, координаты которой указаны, как аргументы данной функции. Текущая позиция изменяется и находится теперь там, где закончилась линия.
Рисование отрезков прямых производится при помощи функции Rectangle(), от текущей позиции до точки, координаты которой указаны, как аргументы данной функции. Текущая позиция изменяется и находится теперь там, где закончилась линия.
Рисование треугольник ов производится при помощи последовательной прорисовки его граней с помощью отдельных линий. Сначала рисуется одна линия , после чего, имея уже две вершины, необходимо задать третью. К точке следующего щелчка курсора из первых 2 вершин прорисовываются еще две линии, все вместе с первой образуя треугольник.
Для рисования эллипсов нельзя использовать функцию Ellipse(), так как в этом случае пропадает возможность его дальнейшего преобразования «зеркалом». Поэтому рисование эллипс ов осуществляется «по точкам», пиксели на форме закрашиваются по заданным математическим формулам, образуя эллипс. При этом визуально создание эллипсов выглядит, как и в случае использования функции Ellipse(): мышью отмечаются координаты верхнего левого и нижнего правого угла прямоугольника, в который вписан эллипс.
Алгоритм преобразования пространства
Для преобразования пространства преобразователем типа «зеркало» необходимо начать с создания линии «зеркала». Она рисуется как и обычный примитив line. Далее для зеркального отображения объектов пространства относительно этой линии используется следующий алгоритм состоящий из нескольких шагов :
1. Находим величину радиус вектора одной из точек прямой, относительно которо й осуществляется преобразование
2. Смещаем преобразуемую точку P пространства на вектор - OB , получаем точку P1
3. Находим угол б между AB и осью ОХ
4. Поворачиваем Р вокруг Р1 на угол б, получаем точку Р2
5. Смещаем Р2 на вектор ОВ и получаем точку Р!. Преобразование завершено
4.3 Реализация алгоритма преобразования пространства
Реализацию алгоритма преобразования пространства осуществляет метод Mirror ( Л истинг 3.1.)
a=(Y1-Y2)/sqrt((Y1-Y2)*(Y1-Y2)+(X1-X2)*(X1-X2));//sin
b=(X1-X2)/sqrt((Y1-Y2)*(Y1-Y2)+(X1-X2)*(X1-X2));//cos
4.4 Основные функции работы с графикой
1) FormMouseDown - производится сохранение координат курсора;
2) FormMouseUp - производится конечная прорисовка изображаемого элемента;
3) FormMouseMove - происходит постоянная перерисовка изображаемого элемента;
4) LineDRW - происходит оповещение программы о том, что будет происходить прорисовка линии.
5) RectDRW - происходит оповещение программы о том, что будет происходить прорисовка прямоугольника.
6) TreDRW1 - происходит оповещение программы о том, что будет происходить прорисовка первой грани треугольника.
7) TreDRW2 - происходит оповещение программы о том, что будет происходить прорисовка двух оставшихся граней треугольника.
8) EllDRW - происходит оповещение программы о том, что будет происходить прорисовка эллипса.
Данный программный продукт предназначен для работы с изображением и поэтому должен содержать и выполнять следующие действия:
1. Создание нового графического файла
· Рисование основных геометрических примитивов
· Дополнительные возможности редактирования
1. Зеркальное преобразование пространства с нарисованными в нем эллипсами
5.2.1 Требования к аппаратной и программной средам
Условия выполнения программы, полученной в результате реализации данного проекта, должны отвечать следующим требованиям:
1) программа должна выполняться во всех операционных системах Windows XP;
2) программа может выполняться на IBM-PC совместимом компьютере с процессором не ниже 80486;
3) для нормального функционирования программы необходим минимальный размер оперативной памяти 16 Мб;
4) для программы необходимо наличие 3 Мб свободного места на жестком диске;
5) для работы с программой необходимо наличие устройства ввода (клавиатура, манипулятор «мышь»);
6) для отображения результатов работы программы необходимо наличие устройства вывода (монитор);
Для обращения к программе необходимо запустить файл “ Project1 .exe” с гибкого или жёсткого магнитного диска.
Для рисования отрезков прямых , необходимо активизировать radiobutton «line». Далее необходимо переместить указатель мыши на главную форму. Нажмите левой кнопкой мыши и, не отпуская её, переместите курсор мыши в другую точку окна приложения. Отпустите левую кнопку мыши. На экране отобразится линия (рис.4.1.).
Для рисования прямоугольников, необходимо активизировать radiobutton «rectangle». Далее необходимо переместить указатель мыши на главную форму. Нажмите левой кнопкой мыши и, не отпуская её, переместите курсор мыши в другую точку окна приложения. Отпустите левую кнопку мыши. На экране отобразится прямоугольник (рис.4.2.).
Рисунок 4.2. Отображение прямоугольника
Для рисования треугольников, необходимо активизировать radiobutton «triangle». Далее необходимо переместить указатель мыши на главную форму. Щелкните левой кнопкой мыши, переместите курсор мыши в другую точку окна приложения, щелкните снова. На экране отобразится первая грань треугольника. Далее перенесите курсор в точку, где должна находиться третья вершина треугольника, щелкните там, прорисуются оставшиеся две грани. На экране отобразится треугольник (рис.4.3.).
Рисунок 4.3. Отображение треугольника
Для рисования эллипсов, необходимо активизировать radiobutton «ellipse». Далее необходимо переместить указатель мыши на главную форму. Нажмите левой кнопкой мыши и, не отпуская её, переместите курсор мыши в другую точку окна приложения. Отпустите левую кнопку мыши. На экране отобразится эллипс (рис.4.4.).
Для преобразования пространства необходимо активизировать radiobutton «mirror». Далее необходимо переместить указатель мыши на главную форму. Нажмите левой кнопкой мыши и, не отпуская её, переместите курсор мыши в другую точку окна приложения. Отпустите левую кнопку мыши. На экране отобразится линия, относительно которой будет происходить преобразование(рис.4.5.), и произойдет само преобразование (все эллипсы зеркально отобразятся относительно линии) (рис.4.6.).
Рисунок 4.5. Отображение линии зеркала
Рисунок 4.6. Преобразование пространства
Завершение программы происходит после щелчка левой кнопки мыши по кнопке с крестиком в верхнем правом углу окна программы.
Таким образом, цели, поставленные в начале работы, были достигнуты. Была освоена среда программирования C++ Builder, в ходе выполнения требований к поставленной задаче были использованы алгоритмы преобразования пространства а также приоберетены новые навыки программирования на С++. У далось создать программный продукт, отвечающий пунктам изначально заданных требований . Д ля создания и небольшой коррекции изображения удобн о иметь под рукой быстрый и компактный векторный графический редактор, который позволяет внести необходимые изменения и при этом не потребует больших затрат вашего времени и места на жестком диске.
Такой векторный графический редактор практически не требует места на диске, работает быстро и надежно, не требует больших усилий в его освоении, позволяет создавать и редактировать изображения, что обеспечивает его востребованность у различных пользователей.
Касательно вариантов расширения программного продукта, возможны добавления таких пунктов как пользовательский интерфейс, представляющий собой наглядное отображение возможностей продукта, сохранение изображения в заданном формате, как целиком, так и пообъектно, добавление других видов графических примитивов, применение заливки, изменение цвета контура примитивов на заданный пользователем и многих других.
1) Майкл Дж. Янг, Visual C++, 1999 г.
2) Архангельский А. Я., Программирование в С++ Builder 6, изд. Бином, 2003 г.
3) Архангельский А. Я., С++ Builder 6 справочное пособие (книги 1,2), изд. Бином, 2002 г.
4) Культин Н., Самоучитель С++ Builder, БХВ-Петербург, 2004 г.
Растровая графика, составление графических изображений из отдельных точек (пикселей). Растровые графические редакторы. Векторная графика - построение изображения из простых объектов. Достоинства, недостатки и применение растровой и векторной графики. презентация [7,8 K], добавлен 06.01.2014
Общие сведения о графических редакторах, понятия компьютерной растровой и векторной графики, форматов. Обзор и сравнительный анализ современных программ обработки и просмотра графических изображений: Paint, Corel Draw, Adobe Photoshop, MS PowerPoint. дипломная работа [283,9 K], добавлен 09.08.2010
Характеристика цифровых изображений, применяющиеся в издательской деятельности. Отличительные особенности растровых и векторных изображений, понятие цветового охвата, изучение моделей для описания отраженных цветов. Форматы и виды графических файлов. контрольная работа [22,9 K], добавлен 16.09.2010
Общие сведения о графической информации. Характеристика растровой, векторной и демонстрационной графики. Обзор программ обработки и просмотра графических изображений Paint, Adobe Photoshop, MS Power Point, ACDSee. Возможности графических редакторов. курсовая работа [55,7 K], добавлен 01.07.2010
Рассмотрение областей применения компьютерной графики. Изучение основ получения различных изображений (рисунков, чертежей, мультипликации) на компьютере. Ознакомление с особенностями растровой и векторной графики. Обзор программ фрактальной графики. реферат [192,9 K], добавлен 15.04.2015
Суть принципа точечной графики. Изображения в растровой графике, ее достоинства. Обзор наиболее известных редакторов векторной графики. Средства для работы с текстом. Программы фрактальной графики. Форматы графических файлов. Трехмерная графика (3D). дипломная работа [764,7 K], добавлен 16.07.2011
Достоинства и недостатки векторной графики, ее применение и основной принцип построения графических объектов. Объектно-ориентированный подход к пакетам векторной или иллюстративной графики. Основные программы, редакторы и форматы векторной графики. курсовая работа [129,0 K], добавлен 30.05.2015
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Векторный графический редактор курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая работа: Анализ финансового состояния ЗАО "Старожиловский конный завод"
Пример Сочинения На Тему Книга
Каменные Цветок Сочинение
Курсовая работа: История социологии
Реферат На Тему Баскетбол 8 Класс
Курсовая работа по теме Рынок и его функции
Контрольная работа: Страхование в туристической деятельности. Страховой полис туриста
Характеристика Кафе Практика
Средневековые Университеты Реферат
Анализ Контрольной Работы За 1 Полугодие
Контрольная работа по теме Внутрефирменные стандарты аудита
Курсовая работа по теме Разработка туристического маршрута по Каргопольскому району 'Богатсво Каргополя'
Реферат по теме Безрисковая ставка
Заболевания Щитовидной Железы У Детей Реферат
Реферат по теме Рак молочной железы
Темы Дипломных По Богословию
Контрольная работа: Муниципальное право
Реферат На Тему Облік Веб-Сайтів
Курсовая работа по теме Запорізький край в житті та творчості Т.Г. Шевченка
Реферат: Technology And True Presence In Nursing Essay
Применение системного подхода в логистике - Маркетинг, реклама и торговля контрольная работа
Художественное своеобразие сказки А.С. Пушкина "Сказка о рыбаке и рыбке" - Педагогика дипломная работа
Обеспечение конкурентных преимуществ компаний в условиях глобализации экономики на примере NvidiA - Маркетинг, реклама и торговля презентация


Report Page