

JavaFX - Jak rozdělit oblouk (Arc) na pětiny?
Dobrý den,
Potřebuji rozdělit Arc.
Když např. zadám
...
Arc arc = new Arc(700, 700, 500, 500, 90, 90);
arc.setFill(Color.TRANSPARENT);
arc.setStroke(Color.BLACK);
...
jak ho rozdělím na pětiny? U čáry je to jednoduché, ale tady to nelze pouze vydělit.
Každá část má 18 stupňů, ale jak vypočítám, kde na oblouku jsou odděleny jednotlivé části.
Prosím Vás o radu,
Děkuji
Nebo jsem neco nepochopil?
Asi jsme to nepochopili dva, protože mi to taky přijde naprosto primitivní.
Já jsem to pochopil tak, že přes to chce malovat něco jiného, např. úsečky.
Ale zřejmě to byl ten první případ, protože tazatel se už nevyjadřuje - zřejmě si své vyřešil, a na nás háže bobek.
Omlouvám se, ale dnes jsem nemohl.
Ano, šlo mi o kreslení úseček. Ale proto potřebuji znát dvě souřadnice. První je automaticky střed a druhé je pozice "místa" na oblouku, kde jsou rozděleny jednotlivé části.
Když si nakreslím úsečku pod požadovaným úhlem a v místě, kde se dotýká oblouku, udělám kolmici na spodní hranu, tak mi vyjde pravoúhlý trojúhelník. U něho znám všechny úhly, délku přepony a zbytek dopočítám
Děkuji
Souřadnice bodu na kružnici pro daný střed (x0, y0) úhel (alfa) a poloměr kružnice (r) máš zde:
Stačí dosadit.
edit: maximálně bude třeba "pootočit" úhel, pokud je logika kreslení příkazu Arc jiná, než u goniometrických funkcí (nevím, JavaFX neznám, tak na to raději upozorním)
Prosím tě, jak to mám zadat?
Tohle vůbec nevychází
Co má být za úhel těch 1.617? Je to něco přes 92 stupňů.
Proč je tam teda fí(1.617)?
Když v kódu, co jsem výše napsal, změním sin na cos, tak tam můžu dosadit přímo 18 stupňů.
Nechápu, jak to vzorce použít. Navíc, nepochopil jsem to "pootočení".
Vysvětlím to pootočení: Každý úhel "někde" začíná. U matematických funkcí sin/cos je to jasné, úzus uvádí nejvíce pravý bod na jednotkové kružnici (0° odpovídá ose X). Ovšem kde má 0° funkce, kterou používáš pro vykreslení oblouku, to nevím. Teoreticky by to mělo být totožné, ale nevím to, a právě proto jsem ti to napsal.
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.
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"
"30-45"
"45-60"
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
popsal jsi toho spousty, ale nic jsi vlastně nesdělil, kromě toho, že funkce Arc zřejmě maluje v obráceném směru, než fungují sinus a cosinus.
už chápeš?
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ý.
A tímhle bych to konečně uzavřel. Díky všem.