Má tam být jenom radius.
Ten kruh máš rozdělený do 20 části, ne?
double centerX = 500;
double centerY = 500;
MoveTo moveToCenter = new MoveTo(centerX, centerY);
double radius = 500;
double lineX = centerX + radius;
double lineY = centerY;
int steps = 20;
double step = 360.0 / steps;
for (double deg = step; deg <= 360; deg += step) {
Path path = new Path();
path.getElements().addAll(moveToCenter, new LineTo(lineX, lineY));
double rad = Math.toRadians(deg);
lineX = centerX + radius * Math.cos(rad);
lineY = centerY + radius * Math.sin(rad);
path.getElements().addAll(new ArcTo(radius, radius, 0, lineX, lineY, false, true), moveToCenter);
path.setFill(Color.color(Math.random(), Math.random(), Math.random()));
getChildren().add(path);
}
Pak si z toho můžeš udělat jednoduchou znovupoužitelnou metodu:
drawCircle(500, 500, 500, 20);
void drawCircle(double centerX, double centerY, double radius, int steps) {
MoveTo moveToCenter = new MoveTo(centerX, centerY);
double lineX = centerX + radius;
double lineY = centerY;
double step = 360.0 / steps;
for (double deg = step; deg <= 360; deg += step) {
Path path = new Path();
path.getElements().addAll(moveToCenter, new LineTo(lineX, lineY));
double rad = Math.toRadians(deg);
lineX = centerX + radius * Math.cos(rad);
lineY = centerY + radius * Math.sin(rad);
path.getElements().addAll(new ArcTo(radius, radius, 0, lineX, lineY, false, true), moveToCenter);
path.setFill(Color.color(Math.random(), Math.random(), Math.random()));
getChildren().add(path);
}
}