国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

delphi 正弦曲線圖

2020-01-31 20:52:27
字體:
來源:轉載
供稿:網友
本實例要在窗體上直接繪制正弦曲線,為了防止窗口切換的過程中會輸出不完整的圖形,因此繪制圖形的關鍵代碼都放在了窗體的OnPaint過程中,代碼如下:

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; 

  程序首先設置了窗體的Canvas對象中畫筆的寬度,并且把繪圖的起點移動到了窗體中(0,Trunc(self.ClientHeight/2))的位置。然后通過一個循環中的a:= (x/self.ClientWidth)*2*Pi語句將一個正弦周期內的角度值轉換為弧度值,并且把正弦計算后的結果存儲在變量y中。最后,循環中的Canvas.LineTo(Trunc(x), Trunc(y))語句就會在窗體上繪制出連續的正弦曲線。

  程序代碼如下:

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鍵運行程序。在程序運行過程中,會自動在窗體上繪制正弦曲線,運行結果如圖1所示。



圖1 程序運行結果


  通過本程序的學習,不但可以繪制正弦曲線,也可以繪制余弦曲線、正切曲線等各式各樣的曲線,方便科學研 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 永州市| 聊城市| 甘德县| 洪雅县| 乐东| 龙里县| 尼玛县| 仙居县| 肃北| 丰镇市| 泸西县| 巨鹿县| 彩票| 都兰县| 瓮安县| 永登县| 灵川县| 蓬安县| 曲阜市| 文成县| 台东市| 资讯 | 诏安县| 湟中县| 江阴市| 雅江县| 白山市| 平远县| 汽车| 正宁县| 分宜县| 沂水县| 余江县| 利辛县| 泗阳县| 静乐县| 汕尾市| 牙克石市| 郑州市| 东方市| 沧州市|