Точка
Основную работу выполняет процедура GrOfFunc, которая сначала вычисляет максимальное (у2) и минимальное (y1) значения функции на отрезке [x1l,x2]. Затем, используя информацию о ширине (Forml.Clientwidth – 40) и высоте (Form1.ClientHeight – 40) области вывода графика, вычисляет масштаб по осям X (mх) и Y(mу).
Высота и ширина области вывода графика определяется размерами рабочей (клиентской) области формы, т. е. без учета области заголовка и границ. После вычисления масштаба процедура вычисляет координату у горизонтальной оси (у0) и вычерчивает координатные оси графика. Затем выполняется непосредственное построение графика (рис. 10.10).
Вызов процедуры GrOfFunc выполняют процедуры обработки событий onPaint и onFormResize. Процедура TForm1.FormPaint обеспечивает вычерчивание графика после появления формы на экране в результате запуска программы, а также после появления формы во время работы программы, например, в результате удаления или перемещения других окон, полностью или частично перекрывающих окно программы. Процедура TForm1.FormResize обеспечивает вычерчивание графика после изменения размера формы.
Рис. 10.10. График, построенный процедурой GrOfFunc
Приведенная программа довольно универсальна. Заменив инструкции в теле функции f (х), можно получить график другой функции. Причем независимо от вида функции ее график будет занимать всю область, предназначенную для вывода.
Примечание
Рассмотренная программа работает корректно, если функция, график которой надо построить, принимает как положительные, так и отрицательные значения. Если функция во всем диапазоне только положительная или только отрицательная, то в программу следует внести изменения. Какие – пусть это будет упражнением для читателя.