Takhle lze rozdělit 90° oblouk (čtvrt kruhu) na 5 částí. Omlouvám se, ale výpočet výše je chybný, protože metodě sin je nutné zadat parametr v radiánech.
Arc arc = new Arc(600, 600, 400, 400, 0, 90);
arc.setFill(Color.TRANSPARENT);
arc.setStroke(Color.BLACK);
double a = 400 * Math.sin(Math.toRadians(72));
double b = 400 * Math.sin(Math.toRadians(18));
Line line1 = new Line(600, 600, 600, 200);
Line line2 = new Line(600, 600, 600 + a, 600 - b);
Line line3 = new Line(600, 600, 600 + b, 600 + a);
Line line4 = new Line(600, 600, 600 - a, 600 + b);
Line line5 = new Line(600, 600, 600 - b, 600 - a);
Line line6 = new Line(600, 600, 1000, 600);
Takhle vytvořím čtvrtinu "koláče" rozdělenou na pětiny.
Co se týče tvého pootočení, určuje to pátý parametr a funguje to jak u minutové ručičky. Takže v příkladu výše, je to celé něco jako "část hodin" od 0 do 15.
Pokud to chcete jinak otočené, tak je nutné, v kódu výše, změnit
"15-30"
Arc arc = new Arc(600, 600, 400, 400, 90, 90);
a = 400 * Math.sin(Math.toRadians(54));
b = 400 * Math.sin(Math.toRadians(36));
Line line1 = new Line(600, 600, 1000, 600);
Line line6 = new Line(600, 600, 600, 1000);
"30-45"
Arc arc = new Arc(600, 600, 400, 400, 180, 90);
a = 400 * Math.sin(Math.toRadians(36));
b = 400 * Math.sin(Math.toRadians(54));
Line line1 = new Line(600, 600, 600, 1000);
Line line6 = new Line(600, 600, 200, 600);
"45-60"
Arc arc = new Arc(600, 600, 400, 400, 270, 90);
a = 400 * Math.sin(Math.toRadians(18));
b = 400 * Math.sin(Math.toRadians(72));
Line line1 = new Line(600, 600, 200, 600);
Line line6 = new Line(600, 600, 600, 200);
Doufám, že jsem tam neudělal chybu.
A teď mi, prosím Vás, řekněte, jak bych využil ty vzorce respektive, jestli by to šlo zjednodušit.
Děkuji