今、円グラフの作成に取り掛かっているのですがいくつかわからないことがでてきました。
以下にまとめます。
1,今のソースでは12等分したいが12等分されない。
2,円周率で生じる誤差をどのように修正したら良いのか?
3,fillOvalをどのように組み込めばよいかわからない。
目指したい円グラフをエクセルで作成して画像で上げておきます。
現段階のソースは以下の通りです。
12個の値は適当にいれてやっているのですが、12等分されない現状です。
import java.applet.Applet;
import java.awt.*;
public class CircleGraph extends Applet {
int pa[/url]=new int[12];
public void init() {
setBackground(new Color(255,255,255));
pa[0]=;pa[1]=;pa[2]=;pa[3]=;pa[4]=;pa[5]=;
pa[6]=;pa[7]=;pa[8]=;pa[9]=;pa[10]=;pa[11]=;
}
public void paint(Graphics g) {
g.drawOval(50,50,300,300);
int i,x1,y1,sum,deg,r=150;
sum=0;
for(i=0;i<12;i++){
sum=sum+pa;
}
for(i=0;i<12;i++){
deg=pa*360/sum ;
if(i>=1){
deg=pa*360/sum+pa[i-1]*360/sum ;
double rad=150*Math.PI*deg/360;
x1=(int)(200+r*Math.cos(rad));
y1=(int)(200-r*Math.sin(rad));
g.drawLine(200,200,x1,y1);
}
}
}
}