2. Исследовательская часть
3.1 Варианты способа решения
· создание четырех классов соответственно количеству заданных примитивов содержащих данные о них и двух методов: перерисовки изображения и преобразования пространства
· создание родительского класса, содержащего дочерние классы соответствующие набору примитивов, а также дополнительный класс для выполнения вычислений связанных с преобразованием пространства
При реализации поставленной задачи она была разбита на две части:
· рисование графических примитивов
· преобразование пространства при помощи алгоритмов преобразования пространства
Выбор С++ Builder 6 обоснован тем что, он представляет многообразные возможности во всех областях программирования прикладного программного обеспечения, включая данную. На этой мощной основе программист может создать многофункциональный программный продукт с большим спектром возможностей.
3.2 Обоснование выбора платформы
Для реализации программы была выбрана платформа Microsoft Windows XP. Этот выбор обусловлен наличием данной ОС на ЭВМ в аудиториях университета, что позволит наглядно продемонстрировать полученный программный продукт.
3.3 Обоснование выбора языка программирования
Для реализации данного программного продукта был выбран язык C++. Этот выбор обусловлен тем, что объектно-ориентированный язык высокого уровня C++ на порядок превосходит свои аналоги по оценочному параметру скорость-удобство: он имеет все высокоуровневые средства структурирования программ, и при этом программы, написанные с его помощью, являются очень быстрыми благодаря использованию оптимизирующих компиляторов. Кроме того, компиляторы для C++ существуют почти подо всеми платформами, и большинство из них поддерживают последние стандарты языка. Поскольку системы контроля версий нередко используются для разработки мульти-платформенных приложений, то весьма вероятно, что программы впоследствии придется переносить под другую операционную систему. Язык С++ позволит легко это сделать.
3.4 Обоснование выбора среды программирования
Выбор данной среды программирования С++ Builder обусловлен заданием, выданным преподавателем. Достоинством данной среды является то, что в ней реализована идея подлинно визуальной разработки программ. Дизайнер интерфейсов позволяет, не написав ни строчки кода, создавать программы со сложным интерфейсом. Программист лишь пишет важный для работы код, интерфейс за него реализует среда.
4. Конструкторская часть
4.1 Функциональное назначение
Программный продукт предназначен для создания и редактирования графических изображений. Программный продукт может быть использован при создании различных изображений, используя стандартные средства редактора, такие как прямая линия, прямоугольник, треугольник, эллипс и зеркало.
4.2 Описание логической структуры
Решения поставленной задачи разбивается на несколько частей:
· рисование графических примитивов
· зеркальное преобразование пространства
Алгоритмы рисование графических примитивов
Рисование отрезков прямых
|
Рисование прямоугольников
Рисование отрезков прямых производится при помощи функции Rectangle(), от текущей позиции до точки, координаты которой указаны, как аргументы данной функции. Текущая позиция изменяется и находится теперь там, где закончилась линия.
|
|
2)
| |||
Рисование треугольников
Рисование треугольников производится при помощи последовательной прорисовки его граней с помощью отдельных линий. Сначала рисуется одна линия, после чего, имея уже две вершины, необходимо задать третью. К точке следующего щелчка курсора из первых 2 вершин прорисовываются еще две линии, все вместе с первой образуя треугольник.
1)
|
2)
|
Рисование эллипсов
Для рисования эллипсов нельзя использовать функцию Ellipse(), так как в этом случае пропадает возможность его дальнейшего преобразования «зеркалом». Поэтому рисование эллипсов осуществляется «по точкам», пиксели на форме закрашиваются по заданным математическим формулам, образуя эллипс. При этом визуально создание эллипсов выглядит, как и в случае использования функции Ellipse(): мышью отмечаются координаты верхнего левого и нижнего правого угла прямоугольника, в который вписан эллипс.
|
|
| |||
2)
| |||
Rx=(abs(ex1-ex2))/2;
Ry=(abs(ey1-ey2))/2;
Xc=(ex1+ex2)/2;
Yc=(ey1+ey2)/2;
Алгоритм преобразования пространства
Для преобразования пространства преобразователем типа «зеркало» необходимо начать с создания линии «зеркала». Она рисуется как и обычный примитив line. Далее для зеркального отображения объектов пространства относительно этой линии используется следующий алгоритм состоящий из нескольких шагов:
1.
|
... рисунков, схем. Обычно вызывается из MS Word. 4)Adobe Illustrator, Corel Draw — программы используются в издательском деле, позволяет создавать сложные векторные изображения. Изображения в графических редакторах хранятся по-разному. Растровое изображение хранится с помощью точек различного цвета (пикселей), которые образуют строки и столбцы. Любой пиксель имеет фиксированное положение и цвет. ...
... и тексты, и иллюстрации. Многие художники-иллюстраторы предпочитают при работе над книжными проектами с самого начала использовать графические программы. Темой данной курсовой работы является использование графических редакторов в дизайне проектировании женских костюмов. При создании швейных изделий графические редакторы используются: на этапе технического проектирования для выбора материала), ...
... , и на основе полученной информации необходимо в графическом редакторе создать какую-либо сложную фигуру, пейзаж и подробно описать последовательность действий. Задачи: - Изучить основы компьютерной графики; - Выявить основные технологические операции графического редактора CorelDraw; - Ознакомиться с инструментами графического редактора; - Оценить технологические возможности программы в ...
... на практике, насколько интеграция и единство интерфейса этих программ ускоряет работу и облегчает их освоение. Новая версия программы обработки изображений Adobe Photoshop является безусловным лидером среди профессиональных графических редакторов за счет своих широчайших возможностей, высокой эффективности и скорости работы. Программа предоставляет все необходимые средства для коррекции, монтажа ...
0 комментариев