Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno JavaFX - Jak rozdělit oblouk (Arc) na pětiny?

Tak jsem udělal chybu. Kód výše sice přesně vyznačí část kruhu, ale dělící čáry nakreslí špatně. Tenhle kód je už doufám správný.


Arc arc = new Arc(600, 600, 400, 400, 0, 90);
arc.setFill(Color.TRANSPARENT);
arc.setStroke(Color.BLACK);
Line line1 = new Line(600, 600, 600, 200);
double a = 400 * Math.cos(Math.toRadians(18));
double b = 400 * Math.sin(Math.toRadians(18));
Line line2 = new Line(600, 600, 600 + a, 600 - b);
a = 400 * Math.cos(Math.toRadians(36));
b = 400 * Math.sin(Math.toRadians(36));
Line line3 = new Line(600, 600, 600 + a, 600 - b);
a = 400 * Math.cos(Math.toRadians(54));
b = 400 * Math.sin(Math.toRadians(54));
Line line4 = new Line(600, 600, 600 + a, 600 - b);
a = 400 * Math.cos(Math.toRadians(72));
b = 400 * Math.sin(Math.toRadians(72));
Line line5 = new Line(600, 600, 600 + a, 600 - b);
Line line6 = new Line(600, 600, 1000, 600);

"15-30"

Arc arc = new Arc(600, 600, 400, 400, 90, 90);
Line line1 = new Line(600, 600, 1000, 600);
Line line6 = new Line(600, 600, 600, 1000);
Line line2,3,4,5 = new Line(600, 600, 600 + b, 600 + a);

"30-45"

Arc arc = new Arc(600, 600, 400, 400, 180, 90);
Line line1 = new Line(600, 600, 600, 1000);
Line line6 = new Line(600, 600, 200, 600);
Line line2,3,4,5 = new Line(600, 600, 600 - a, 600 + b);

"45-60"

Arc arc = new Arc(600, 600, 400, 400, 270, 90);
Line line1 = new Line(600, 600, 200, 600);
Line line6 = new Line(600, 600, 600, 200);
Line line2,3,4,5 = new Line(600, 600, 600 - b, 600 - a);

A tímhle bych to konečně uzavřel. Díky všem.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny