unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, TeEngine, Series, TeeProcs, Chart,
TeeFunci;
type
TForm1 = class(TForm)
fstlnsrsSeries1: TFastLineSeries;
btn1: TButton;
btn2: TButton;
lnsrsSeries1: TLineSeries;
adtfnctnTeeFunction1: TAddTeeFunction;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var i,amp,x01,y01,x02,y02,imax,t:integer;
func:real;
begin
imax:=100; //число точек в периоде
t:=3; //число периодов
amp:=70; //амплитуда
x01:=20; //начала координат
x02:=20;
y01:=20+amp;
y02:=y01+2*amp+40;
//рисуем график с Pixels
Canvas.TextOut(0,0,'График функции с Pixels');
Canvas.MoveTo(x01,y01); //рисуем ось X
Canvas.LineTo(x01+imax*t,y01);
Canvas.MoveTo(x01,y01+amp); //рисуем ось Y
Canvas.LineTo(x01,y01-amp);
for i:=0 to imax*t do //рисуем график
begin
func:=-amp*sin(2*pi/imax*i);
Canvas.Pixels[x01+i,y01+round(func)]:=clBlack;
end;
//рисуем график с LineTo
Canvas.TextOut(x02,y02-amp-20,'График функции c LineTo');
Canvas.MoveTo(x02,y02); //рисуем ось X
Canvas.LineTo(x02+imax*t,y02);
Canvas.MoveTo(x02,y02+amp); //рисуем ось Y
Canvas.LineTo(x02,y02-amp);
//func:=amp*sin(0);
//Canvas.MoveTo(x01,y0+round(func));
for i:=0 to imax*t do //рисуем график
begin
func:=-amp*sin(2*pi/imax*i);
Canvas.LineTo(x02+i,y02+round(func));
end;
//рисуем график в компонентеTChart
for i:=0 to imax*t do
TChart.SeriesList[0].AddXY(i,amp*sin(2*pi/imax*i),'',clRed);
end;
initialization
end.