Курсовая работа: Программа вычисления значения и вывода графика определенного интеграла
end else EAbort.Create('');
Res:=(i1+i2)/2;
except
CountTrap:=false;
end;
end;
2.5 Реализация функций построения и сохранения графиков
2.5.1 Основная концепция
В программе функции построения графика выделены в отдельный модуль chart.pas. Для реализации функций построения графика использованы принципы объектно-ориентированного программирования. Этот подход позволяет размещать на форме несколько областей для отображения графиков. Кроме того, на каждой области могут отображаться не один, а сразу несколько графиков различных функций. Для каждой области построения графиков необходимо создавать объекты класса TChart. При создании объекта в конструктор Create передается указатель на Canvas области построения графиков (в нашем случае в программе передается указатель на Canvas компонента TImage).
Для каждого графика, который необходимо отображать необходимо создавать объект класса TChartFunction. В качестве параметра в конструктор Create передается указатель на функцию, график которой необходимо отображать. После создания объекта класса TChartFunction необходимо вызывать метод TChart.AddFunction, который добавляет график текущей функции в список графиков объекта TChart.
2.5.2 Функция отрисовки графика
Метод DrawFuncitons класса TChart перебирает по очередности все графики из списка графиков и по очередности отрисовывает каждый из них используя для этого вызов процедуры TChart.DrawFunction. Листинг данной процедуры представлен на рис. 6.
procedure TChart.DrawFunction(funct: TChartFunction);
var
x, y: real;
x1,y1,x2,y2: integer;
a,b: boolean;
f: GraphFunction;
begin
x:=-(x0/FScale);
a:=false;
f:=funct.MainFunction;
while (x0+x*FScale)<(Width-BorderRight) do
begin
if f(x,y) then
begin
x1:=round(x0+x*FScale);
y1:=round(y0-y*FScale);
if (x1>BorderLeft) and (x1<width-BorderRight) and (y1>BorderTop) and (y1<height-BorderBottom) then