delphi 사인 곡선 도
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.client Height/2)의 위치 로 이동 시 켰 다.그리고 하나의 순환 을 통 해 a:= (x/self.client Width)*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 프로그램 실행 결과
본 프로그램의 학습 을 통 해 정 현 곡선 을 그 릴 수 있 을 뿐만 아니 라 여현 곡선,정절 곡선 등 각양각색의 곡선 을 그 릴 수 있어 과학 연구 에 편리 하 다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Delphi 10.3.3 IDE 글꼴 및 글꼴 크기 수정Delphi는 Windows 플랫폼에서 유명한 빠른 응용 프로그램 개발 도구(Rapid Application Development, 약칭 RAD)입니다.그것의 전신은 바로 DOS 시대에 성행한'Borland Turb...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.