Delphi实现正弦曲线的绘制

Delphi实现正弦曲线的绘制,第1张

Delphi实现正弦曲线的绘制,第2张

Delphi中没有直接的正弦曲线函数。但在科学研究中,正弦曲线的应用非常广泛。这个例子介绍了如何画正弦曲线。

在本例中,正弦曲线直接绘制在表单上。为了防止窗口切换过程中输出不完整的图形,绘制图形的关键代码放在窗体的OnPaint进程中。代码如下:

程序TForm1。FormPaint(发送方:to object);
var
x:Integer;
y,a:Double;
开始
画布。笔宽:= 3;
画布。MoveTo(0,Trunc(self。client height/2));
for x := 0 to self。client width do
begin
a:=(x/self。client width)* 2 * Pi;
y:= Sin(a);
y := (1-y)*self。client height/2;
画布。LineTo(Trunc(x),Trunc(y));
end;
end;


程序首先在窗体的Canvas对象中设置画笔的宽度,并将绘制的起点移动到位置(0,Trunc(self。ClientHeight/2))。然后用a:= (x/self将一个正弦周期内的角度值转换成弧度值。ClientWidth)*2*Pi语句在一个循环中,正弦计算的结果存储在变量y中,最后是画布。LineTo(Trunc(x),Trunc(y))语句在循环中将在窗体上绘制一条连续的正弦曲线。

程序代码如下:

unit Unit1

连接

使用

窗口、消息、系统、变量、类、图形、控件、表单,

对话框、扩展控件、标准控件。

type
t form 1 = class(t form)
过程form paint(Sender:to object);
过程form resize(Sender:to object);
过程FormCreate(发件人:to object);
私有
{私有声明}
公共
{公共声明}
end;

var
form 1:t form 1;
实现
{$R *。dfm}
过程TForm1。FormPaint(发送方:to object);
var
x:Integer;
y,a:Double;
开始
画布。笔宽:= 3;
画布。MoveTo(0,Trunc(self。client height/2));
for x := 0 to self。client width do
begin
a:=(x/self。client width)* 2 * Pi;
y:= Sin(a);
y := (1-y)*self。client height/2;
画布。LineTo(Trunc(x),Trunc(y));
end;
end;

程序TForm1。FormResize(发送方:to object);
开始
刷新;
end;

程序TForm1。FormCreate(发件人:to object);开始
自己。double buffered:= true;
//防止图形闪烁
end;
结束。
保存文件,然后按F9运行程序。在程序运行过程中,正弦曲线会自动绘制在表格上。

通过对该程序的学习,不仅可以绘制正弦曲线,还可以绘制余弦曲线、切线曲线等曲线,方便科学研究。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Delphi实现正弦曲线的绘制

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情