📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, Tabnotbk, StdCtrls, math, Buttons;
type
TForm1 = class(TForm)
TabbedNotebook1: TTabbedNotebook;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
Panel1: TPanel;
Image1: TImage;
Panel2: TPanel;
Image2: TImage;
Panel4: TPanel;
Image4: TImage;
Panel3: TPanel;
Image3: TImage;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
//绘制正弦曲线
procedure TForm1.BitBtn1Click(Sender: TObject);
var
//存储曲线绘制的当前点
x1:real;
x2:real;
y1:real;
y2:real;
n:real;
begin
x1:=0;
y1:=(form1.Image1.Left+form1.Image1.Width)/4+10;
x2:=x1;
y2:=y1;
form1.Image1.Canvas.MoveTo(trunc(x2),trunc(y2));
//定义曲线的起始点
n:=0;
while n<3.1415926*12 do //这里限定绘制的正弦曲线周期数
begin
x2:=x2+3.1415926/12;
y2:=y1-40*sin(n);
//绘制正弦曲线
form1.image1.Canvas.LineTo(trunc(x2),trunc(y2));
n:=n+3.1415926/180;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.image1.Canvas.pen.width:=2;
form1.image2.Canvas.pen.width:=2;
form1.image3.Canvas.pen.width:=2;
form1.image4.Canvas.pen.width:=2;
form1.image1.Transparent:=true;
form1.image2.Transparent:=true;
form1.image3.Transparent:=true;
form1.image4.Transparent:=true;
end;
//绘制余弦曲线
procedure TForm1.BitBtn2Click(Sender: TObject);
var
//存储曲线绘制的当前点
x1:real;
x2:real;
y1:real;
y2:real;
n:real;
begin
x1:=0;
y1:=(form1.Image2.Left+form1.Image2.Width)/4+10;
x2:=x1;
y2:=y1;
form1.Image2.Canvas.MoveTo(trunc(x2),trunc(y2));
//定义曲线的起始点
n:=0;
while n<3.1415926*12 do //这里限定绘制的余弦曲线周期数
begin
x2:=x2+3.1415926/12;
y2:=y1-40*cos(n);
//绘制余弦曲线
form1.image2.Canvas.LineTo(trunc(x2),trunc(y2));
n:=n+3.1415926/180;
end;
end;
//绘制正切曲线
procedure TForm1.BitBtn3Click(Sender: TObject);
var
//存储曲线绘制的当前点
x1:real;
x2:real;
y1:real;
y2:real;
n:real;
begin
x1:=0;
y1:=(form1.Image3.Left+form1.Image3.Width)/4;
x2:=x1;
y2:=y1;
form1.Image3.Canvas.MoveTo(trunc(x2),trunc(y2));
//定义曲线的起始点
n:=0;
while n<3.1415926*8 do //这里限定绘制的正切曲线周期数
begin
x2:=x2+3.1415926/3;
if abs(cos(n))>0.0000001 then
begin
y2:=y1-60*sin(n)/cos(n);
form1.image3.Canvas.LineTo(trunc(x2),trunc(y2));
//绘制正切曲线
end;
n:=n+3.1415926/60;
end;
end;
//绘制余切曲线
procedure TForm1.BitBtn4Click(Sender: TObject);
var
//存储曲线绘制的当前点
x1:real;
x2:real;
y1:real;
y2:real;
n:real;
begin
x1:=0;
y1:=(form1.Image4.Left+form1.Image4.Width)/4;
x2:=x1-3;
y2:=y1;
form1.Image4.Canvas.MoveTo(trunc(x2),trunc(y2));
//定义曲线的起始点
n:=0;
while n<3.1415926*8 do //这里限定绘制的余切曲线周期数
begin
x2:=x2+3.1415926/3;
if abs(sin(n))>0.000001 then
begin
y2:=y1-60*cos(n)/sin(n);
form1.image4.Canvas.LineTo(trunc(x2),trunc(y2));
//绘制余切曲线
end;
n:=n+3.1415926/60;
end;
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -