Пример. Построение графика функции на поверхности формы

На рисунке 5.15 показан интерфейс Пользователя: область построения графика и две кнопки управления (График – для вывода графика функции, Выход – для завершения работы).

Для построения графика необходимо пересчитывать значение функции в координаты холста. Размер холста можно получить, обратившись к свойствам формы ClientHeight и ClientWidth ( высота и ширина клиентской области ).

Клиентская область формы – это прямоугольная область, в которой отображается результат работы приложения, например, текст или графические изображения. Клиентской области соответствует свойство ClientRect:

На рисунках 5.16 – 5.18 показан текст модуля graphExample главной формы приложения для построения графика функции.

Рисунок 5.16 – Модуль graphExample

Собственно построение графика – это цикл, в котором вычисляется значение функции, преобразуется в координаты точки на холсте, а затем соединяется линией с предыдущей точкой.

Аргумент функции x меняется от xmin до xmax с шагом stepx. Продолжение цикла по условию x<=xmax кажется совершенно естественным. Однако из-за погрешности вычислений вещественных чисел может оказаться, что значение x не будет точно равно xmax, поэтому последняя точка будет потеряна. Чтобы избежать этой ситуации следует подсчитать количество точек n и организовать цикл с целочисленным показателем:

n:= Round((xmax - xmin)/stepx)-1;

While n>=0 do begin

. ..

Рисунок 5.17 – Модуль graphExample ( продолжение )

Рисунок 5.18 – Модуль graphExample ( окончание )

Результат работы приложения – график функции (рисунок 5.19)

Рисунок 5.19 – Результат работы приложения


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: