Circle 如何画圆,并利用它等分圆,(20分)

  • 主题发起人 milesmaqi
  • 开始时间
M

milesmaqi

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个问题,是想来画一个圆并等于它,从而得到多边形如五边形,
进而得到五角形,等THANK YOU
 
五边形例子如下:
procedure TForm1.Button1Click(Sender: TObject);
var
x,y,i,r:Integer;
Sida:Double;
p:Array of TPoint;
N:Integer;
AddSida:Double;
begin
N:=5; //5边形
AddSida:=18; //保持水平
SetLength(P,N);
r:=100; //外接圆半径
x:=100; y:=100;
for i:=0 to N-1 do begin
Sida:=(AddSida+(360/N)*i)*PI/180;
p.X:=Round(x+r*cos(sida));
p.Y:=Round(y-r*sin(sida));
end;
with canvas do begin
MoveTo(p[0].X,p[0].Y);
for i:=1 to N-1 do
LineTo(p.X,p.Y);
LineTo(p[0].X,p[0].Y);
end;
SetLength(P,0);
end;
不难改写成五角星或其它多边形和圆形.
 
接受答案了.
 
顶部