Воощем у меня есть график для построения синуса и косинуса,а как мне его переделать для
построения графиков y=tg (x), y=ctg (x)
построения графиков y=sec (x), y=cosec (x)
построения графика циклоиды y=a (t-sin t)
??
Код:
unit ugraf;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TFgraf = class(TForm)
Panel1: TPanel;
Image1: TImage;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure formcreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Fgraf: TFgraf;
implementation
{$R *.dfm}
procedure TFgraf.BitBtn1Click(Sender: TObject);
var
alpha1, alpha2: Integer; // переменные для начального
// и конечного значения угла
z: integer; // переменная для организации цикла
q: integer; // внутренний счетчик
fun: integer; // Значение функции в цикле
begin
alpha1:= StrToInt(Edit2.text); //Считываем начальное значение угла
alpha2:= StrToInt(Edit3.Text); // Конечное значение угла
q:= 2;
for z:= alpha1 to alpha2 do // Создаем цикл от начального до конечного
//значения угла
begin
if UpperCase(Edit1.text) = 'SIN' then
fun:= round(sin(z*3.14/180)*60);
if UpperCase(Edit1.text) = 'COS' then
fun:= round(cos(z*3.14/180)*80);
image1.canvas.pixels[q,fun+ image1.Height div 2]:= clBlack;
inc(q);
end;
end;
procedure TFgraf.BitBtn2Click(Sender: TObject);
var r: TRect;
begin
r:= rect(0, 0, image1.width, image1.height);
with Image1.canvas do
begin
brush.style:= bsSolid;
fillrect(r);
pen.color:= clRed;
rectangle(2, 2, image1.width-2, image1.height-2);
moveto(2,image1.Height div 2);
lineto(image1.width-2,Image1.Height div 2);
end;
end;
procedure TFgraf.formcreate(Sender: TObject);
begin
edit1.text:= 'SIN';
edit2.text:= '1';
edit3.text:= '1000';
end;
end.