掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
正5角形の作成について (ID:8862)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
すでに回答がありますが、正多角形を描く関数をつくってみました。 type TVexArray = array of TPoint; function GetRegularPolygonVertexes(NumVertex:integer;Radius:Single;Center:TPoint; var VexArray:TVexArray):Boolean; var i:integer; begin result := false; if NumVertex < 3 then exit; SetLength(VexArray,NumVertex); for i := 0 to NumVertex-1 do begin VexArray[i].x := Round(Radius * cos((pi/2)-(2*pi*i/NumVertex))+Center.x); VexArray[i].y := Round(-Radius * sin((pi/2)-(2*pi*i/NumVertex))+Center.y); end; result := true; end; procedure TForm1.Button1Click(Sender: TObject); var va:TVexArray; Center:TPoint; Radius:Single; NumVertex:integer; begin NumVertex := 5; // 正五角形 Center := Point(150,150); Radius := 100; GetRegularPolygonVertexes(NumVertex,Radius,Center,va); with Canvas do begin Pen.Width := 3; Pen.Color := clNavy; Brush.Color := clAqua; Polygon(va); end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.