Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


писание основных процедур и функций




Алгоритмы

Все элементы рисуем при помощи одной процедуры и при использовании case:

procedure TForm3.Button3Click(Sender: TObject);

1. Нарисовать точку, используя стиль линии

procedure PixelSize(X,Y: Integer);

x, y – координата точки – «пикселя», в зависимости от толщины линии, выводит объект «уголок» с заданной шириной.

procedure PixelStyle(X, Y: Integer);

x, y – координата точки – «пикселя», в зависимости от вида и толщины линии, выводит или не выводит объект «крест» с заданной шириной задействует процедуру PixelSize

 

2. Обычный ЦДА

Цифровой дифференциальный анализатор

С помощью ЦДА решается дифференциальное уравнение отрезка:

dY/dX= dy / dx

где

dx:= xk - xn; приращение координат отрезка по оси Y

dy:= yk - yn; приращение координат отрезка по оси X

Установим начальные значения:

xt:= xn;

yt:= yn;

где

(xn, yn) – координаты начальной точки,

(xk, yk) – координаты конечной точки, полученные в качестве параметров функции:

Case linetype of 1:

Определим количество узлов N, используемых для аппроксимации отрезка.

n:= abs(dx) + abs(dy);

Затем за n циклов вычисляются координаты очередных узлов:

xt:= xt + dx / n;

yt:= yt + dy / n;

Получаемые значения xt, yt преобразуются в целочисленные значения координаты очередного пиксела округлением

PixelStyle(round(xt), round(yt));

На каждом шаге цикла выводим получившийся пиксель, используя стиль пера.

3. Несимметричный ЦДА;

Case linetype of 2

(xn, yn) – координаты начальной точки,

(xk, yk) – координаты конечной точки

Процедура осуществляющая рисование отрезка по алгоритму несимметричного ЦДА.

 

4. Case linetype of 3:

procedure brezenhem(xn, yn, xk, yk: Integer);

(xn, yn) – координаты начальной точки,

(xk, yk) – координаты конечной точки

Процедура осуществляющая рисование отрезка по алгоритму Брезенхема.

 

5. Генерация окружности

Case Linetype of 4:

xn, yn – центр окружности, r – радиус.

Процедура осуществляющая рисование окружности по алгоритму Брезенхема.

Интерфейс

6. Очистка экрана

Procedure TForm3.Button1Click(Sender: TObject);

7. Изменение толщины линии

procedure TFormLab2.ComboBox1Change(Sender: TObject);

8. Изменение вида линии

procedure TFormLab2.ComboBox2Change(Sender: TObject);

 

9. Рисуем фигуру

procedure TForm3.Button3Click(Sender: TObject);

10. Установка начальной координаты

procedure TFormLab2.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton);

установка значений - xn, yn

 

11. Определение второй координаты, выбор процедуры обработки и нарисования отрезка

procedure TFormLab2.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton);

установка значений - xк, yк

 


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

Для запуска программы необходимо запустить файл MainProject.exe.

В открывшемся окне (рис.5.1.) необходимо выбрать программу, которую необходимо запустить. При выборе «Лабораторная работа 2» откроется окно (см. рис. 5.2)

Рисунок 5.1. Интерфейс главного окна программы

Рисунок 5.2. Окно лабораторной работы 2

Для продолжения работы необходимо выбрать алгоритм от рисовки отрезка или окружности. В окошечках ввода можно выбрать ширину линии, стиль и цвет.

Для начертания отрезка необходимо выбрать точку начала отрезка, зажать левую клавишу мыши, протянуть до конечной точки отрезка, отпустить кнопку мыши.

Для рисования окружности необходимо выбрать центр окружности, с нажатой клавишей протянуть на величину радиуса, отпустить клавишу мыши.

Для рисования фигуры необходимо выбрать координаты рисования фигуры и нажать кнопку «Рис.фигуру».


Заключение

В ходе лабораторной работы мы познакомились с математическими алгоритмами, для вывода отрезков и смогли реализовать их программно.





Поделиться с друзьями:


Дата добавления: 2017-02-11; Мы поможем в написании ваших работ!; просмотров: 223 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2488 - | 2300 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.