掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
円グラフの書き方 (ID:36709)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
時計の12時開始で時計回りに円グラフを書くプログラムを作成しています。 一応希望通りの動きにはなったのですが理解していない箇所があります。 時計の12時開始なので、開始角度を90度(π/2) ※① としましたが、 時計の6時開始になってしまいます。 開始角度を-90度?(-π/2) ※②とするときちんと12時開始になるのですが -を付加する意味が理解できていません。 どなたか宜しくお願いします。 procedure TForm1.Button1Click(Sender: TObject); const PAI: Double = 3.1416; DataAry: array[0..5] of Integer = (10,20,30,40,50,60); var i, Total, x1, y1: Integer; Theta, Delta: Double; begin //合計を計算する Total := 0; for i:=0 to High(DataAry) do Total := Total + DataAry[i]; //Theta := PAI / 2.0; //※①90度(π/2) Theta := -PAI / 2.0; //※②-90度(-π/2) //円を描く Image.Canvas.Ellipse(0, 0, 160 ,160); //円グラフを描く for i:=0 to High(DataAry) do begin Delta := 2.0 * PAI * DataAry[i] / Total; x1 := Round(80.0 + 80.0 * Cos(Theta)); y1 := Round(80.0 + 80.0 * Sin(Theta)); Image.Canvas.MoveTo(80, 80); Image.Canvas.LineTo(x1, y1); Theta := Theta + Delta; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.