Java 2d爆炸饼图段

时间:2016-07-01 13:57:35

标签: java geometry 2d pie-chart

我试图在饼图的一个段(圆弧)和它的中心之间添加一些距离(例如10px)而没有成功,这是我到目前为止所尝试的:

enter image description here

int value = 20; // example
double arcAngle = (value * 360 / 100);
double angle = 360 - (arcAngle / 2); // direction to add the distance to (center of arc)
double newX = pieCenterX + Math.cos(angle * Math.PI / 180.0) * 10;
double newY = pieCenterY + Math.sin(angle * Math.PI / 180.0) * 10;

// then drawing the arc with new x and y
g.fill(new Arc2D.Double(newX, newY, bounds.getWidth(), bounds.getHeight(), startAngle, arcAngle, Arc2D.PIE));

理想情况下,我最终会得到类似的东西:

enter image description here

我对如何处理这个问题知之甚少,所以我的代码取自我在别处找到的例子。

1 个答案:

答案 0 :(得分:1)

通常零角度是OX方向(右)。因此,您必须进行90度校正(如果您的坐标系是逆时针方向)

double angle = 90 + 360 - (arcAngle / 2);