Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure TForm1.Button1Click(Sender: TObject);
- // масштаб для большей наглядности
- const ms = 50;
- var
- a: Integer;
- x0, y0: Integer;
- x, y : Real;
- begin
- // очищаем полотно
- image1.Canvas.Pen.Color := clWhite;
- image1.Canvas.Rectangle(0,0,ClientWidth, ClientHeight);
- // получаем значение а из поля для ввода
- a:= StrToInt(Edit1.Text);
- // рисуем оси координат
- x0 := image1.Width div 2;
- y0 := image1.Height div 2;
- image1.Canvas.Pen.Color := clBlack;
- image1.Canvas.MoveTo(x0, 0);
- image1.Canvas.LineTo(x0, ClientHeight);
- image1.Canvas.MoveTo(0, y0);
- image1.Canvas.LineTo(ClientWidth, y0);
- // рисуем график
- image1.Canvas.Pen.Color := clBlue;
- x:=-10;
- image1.Canvas.MoveTo(Trunc(x*ms+x0),Trunc(y*ms+y0));
- repeat
- x:=x+0.1;
- if x = 0 then
- y:=1
- else
- // минус у нас т.к. оси координат компьютерные перевёрнуты и мы хотим избавиться от этого
- y:=-sin(a*x)/x;
- image1.Canvas.LineTo(Trunc(x*ms+x0),Trunc(y*ms+y0));
- until x >= 10;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement