欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

delphi 正弦曲線圖

 更新時(shí)間:2008年03月15日 18:15:18   作者:  
 在Delphi中沒(méi)有直接正弦曲線的函數(shù)。但是在科學(xué)研究中,正弦曲線的應(yīng)用是非常廣泛的,本實(shí)例介紹如何繪制正弦曲線。
本實(shí)例要在窗體上直接繪制正弦曲線,為了防止窗口切換的過(guò)程中會(huì)輸出不完整的圖形,因此繪制圖形的關(guān)鍵代碼都放在了窗體的OnPaint過(guò)程中,代碼如下:

procedure TForm1.FormPaint(Sender: TObject);
var
 x: Integer;
 y,a: Double;
begin
 Canvas.Pen.Width:=3;
 Canvas.MoveTo(0,Trunc(self.ClientHeight/2));
 for x := 0 to self.ClientWidth do
 begin
  a := (x/self.ClientWidth) * 2 * Pi;
  y := Sin(a);
  y := (1-y)*self.ClientHeight/2;
  Canvas.LineTo(Trunc(x), Trunc(y));
 end;
end; 

  程序首先設(shè)置了窗體的Canvas對(duì)象中畫(huà)筆的寬度,并且把繪圖的起點(diǎn)移動(dòng)到了窗體中(0,Trunc(self.ClientHeight/2))的位置。然后通過(guò)一個(gè)循環(huán)中的a:= (x/self.ClientWidth)*2*Pi語(yǔ)句將一個(gè)正弦周期內(nèi)的角度值轉(zhuǎn)換為弧度值,并且把正弦計(jì)算后的結(jié)果存儲(chǔ)在變量y中。最后,循環(huán)中的Canvas.LineTo(Trunc(x), Trunc(y))語(yǔ)句就會(huì)在窗體上繪制出連續(xù)的正弦曲線。

  程序代碼如下:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
 procedure FormPaint(Sender: TObject);
 procedure FormResize(Sender: TObject);
 procedure FormCreate(Sender: TObject);
private
 { Private declarations }
public
 { Public declarations }
end;

var
 Form1: TForm1;
 implementation
 {$R *.dfm}
 procedure TForm1.FormPaint(Sender: TObject);
var
 x: Integer;
 y,a: Double;
begin
 Canvas.Pen.Width:=3;
 Canvas.MoveTo(0,Trunc(self.ClientHeight/2));
 for x := 0 to self.ClientWidth do
 begin
  a := (x/self.ClientWidth) * 2 * Pi;
  y := Sin(a);
  y := (1-y)*self.ClientHeight/2;
  Canvas.LineTo(Trunc(x), Trunc(y));
 end;
end;

procedure TForm1.FormResize(Sender: TObject);
 begin
  Refresh;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 self.DoubleBuffered:=true;
 //防止圖形閃爍
end;
end. 

  保存文件,然后按F9鍵運(yùn)行程序。在程序運(yùn)行過(guò)程中,會(huì)自動(dòng)在窗體上繪制正弦曲線,運(yùn)行結(jié)果如圖1所示。



圖1 程序運(yùn)行結(jié)果


  通過(guò)本程序的學(xué)習(xí),不但可以繪制正弦曲線,也可以繪制余弦曲線、正切曲線等各式各樣的曲線,方便科學(xué)研 

相關(guān)文章

最新評(píng)論