4.3 Реализация алгоритма преобразования пространства

Реализацию алгоритма преобразования пространства осуществляет метод Mirror (Листинг 3.1.)

 

Листинг 3.1

void Mirror()

{

ell*zu2_e;

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

if (x_e!=0)

{

zu2_e=x_e;

while(zu2_e!=0)

{

for(int j=0; j<2048;j++)

{

mx1=zu2_e->x[j];

my1=zu2_e->y[j];

mx1+=-X1;

my1+=-Y1;

xx=mx1*b+my1*a;

yy=-mx1*a+my1*b;

yy=-yy;

mx1=xx*b-yy*a;

my1=xx*a+yy*b;

mx1+=X1;

my1+=Y1;

zu2_e->x[j]=mx1;

zu2_e->y[j]=my1;

}

zu2_e->Draw();

zu2_e=zu2_e->next;

}

}

}

 

4.4 Основные функции работы с графикой

 

1)   FormMouseDown - производится сохранение координат курсора;

2)   FormMouseUp - производится конечная прорисовка изображаемого элемента;

3)   FormMouseMove – происходит постоянная перерисовка изображаемого элемента;

4)   LineDRW - происходит оповещение программы о том, что будет происходить прорисовка линии.

5)   RectDRW - происходит оповещение программы о том, что будет происходить прорисовка прямоугольника.

6)   TreDRW1 - происходит оповещение программы о том, что будет происходить прорисовка первой грани треугольника.

7)   TreDRW2 - происходит оповещение программы о том, что будет происходить прорисовка двух оставшихся граней треугольника.

8)   EllDRW - происходит оповещение программы о том, что будет происходить прорисовка эллипса.


5. Технологическая часть

 

5.1 Назначение программы

Данный программный продукт предназначен для работы с изображением и поэтому должен содержать и выполнять следующие действия:

·           Работа с графическими файлами

1.                     Создание нового графического файла

·           Рисование основных геометрических примитивов

1.         Рисование отрезков прямых

2.         Рисование прямоугольников

3.         Рисование треугольников

4.         Рисование эллипсов

·           Дополнительные возможности редактирования

1.                     Зеркальное преобразование пространства с нарисованными в нем эллипсами

 

5.2 Условия выполнения программы

 

5.2.1 Требования к аппаратной и программной средам

Условия выполнения программы, полученной в результате реализации данного проекта, должны отвечать следующим требованиям:

1)   программа должна выполняться во всех операционных системах Windows XP;

2)   программа может выполняться на IBM-PC совместимом компьютере с процессором не ниже 80486;

3)   для нормального функционирования программы необходим минимальный размер оперативной памяти 16 Мб;

4)   для программы необходимо наличие 3 Мб свободного места на жестком диске;

5)   для работы с программой необходимо наличие устройства ввода (клавиатура, манипулятор «мышь»);

6)   для отображения результатов работы программы необходимо наличие устройства вывода (монитор);

 

5.3 Руководство пользователя

 

5.3.1 Выполнение программы

Для обращения к программе необходимо запустить файл “Project1.exe” с гибкого или жёсткого магнитного диска.

Для рисования отрезков прямых, необходимо активизировать radiobutton «line». Далее необходимо переместить указатель мыши на главную форму. Нажмите левой кнопкой мыши и, не отпуская её, переместите курсор мыши в другую точку окна приложения. Отпустите левую кнопку мыши. На экране отобразится линия (рис.4.1.).

Рисунок 4.1. Отображение линии

 

Для рисования прямоугольников, необходимо активизировать radiobutton «rectangle». Далее необходимо переместить указатель мыши на главную форму. Нажмите левой кнопкой мыши и, не отпуская её, переместите курсор мыши в другую точку окна приложения. Отпустите левую кнопку мыши. На экране отобразится прямоугольник (рис.4.2.).

Рисунок 4.2. Отображение прямоугольника

 

Для рисования треугольников, необходимо активизировать radiobutton «triangle». Далее необходимо переместить указатель мыши на главную форму. Щелкните левой кнопкой мыши, переместите курсор мыши в другую точку окна приложения, щелкните снова. На экране отобразится первая грань треугольника. Далее перенесите курсор в точку, где должна находиться третья вершина треугольника, щелкните там, прорисуются оставшиеся две грани. На экране отобразится треугольник (рис.4.3.).

Рисунок 4.3. Отображение треугольника


Для рисования эллипсов, необходимо активизировать radiobutton «ellipse». Далее необходимо переместить указатель мыши на главную форму. Нажмите левой кнопкой мыши и, не отпуская её, переместите курсор мыши в другую точку окна приложения. Отпустите левую кнопку мыши. На экране отобразится эллипс (рис.4.4.).

Рисунок 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 г.


Информация о работе «Векторный графический редактор»
Раздел: Информатика, программирование
Количество знаков с пробелами: 19216
Количество таблиц: 9
Количество изображений: 19

Похожие работы

Скачать
21154
0
1

... рисунков, схем. Обычно вызывается из MS Word. 4)Adobe Illustrator, Corel Draw — программы используются в издательском деле, позволяет создавать сложные векторные изображения. Изображения в графических редакторах хранятся по-разному. Растровое изображение хранится с помощью точек различного цвета (пикселей), которые образуют строки и столбцы. Любой пиксель имеет фиксированное положение и цвет. ...

Скачать
22195
0
0

... и тексты, и иллюстрации. Многие художники-иллюстраторы предпочитают при работе над книжными проектами с самого начала использовать графические программы. Темой данной курсовой работы является использование графических редакторов в дизайне проектировании женских костюмов. При создании швейных изделий графические редакторы используются: на этапе технического проектирования для выбора материала), ...

Скачать
16015
1
24

... , и на основе полученной информации необходимо в графическом редакторе создать какую-либо сложную фигуру, пейзаж и подробно описать последовательность действий. Задачи: - Изучить основы компьютерной графики; - Выявить основные технологические операции графического редактора CorelDraw; - Ознакомиться с инструментами графического редактора; - Оценить технологические возможности программы в ...

Скачать
31362
0
0

... на практике, насколько интеграция и единство интерфейса этих программ ускоряет работу и облегчает их освоение. Новая версия программы обработки изображений Adobe Photoshop является безусловным лидером среди профессиональных графических редакторов за счет своих широчайших возможностей, высокой эффективности и скорости работы. Программа предоставляет все необходимые средства для коррекции, монтажа ...

0 комментариев


Наверх