Úloha 3 – Kreslení kruhů a oblouků metodou arc()
Úvod do úlohy
Kruhy a oblouky patří k základním stavebním prvkům v grafice. Používají se nejen pro dekorace, ale i pro grafy, ukazatele nebo hry. V <canvas> se kruh (nebo část kruhu) kreslí pomocí metody arc(x, y, r,
startAngle, endAngle), která definuje oblouk podle středu, poloměru a rozsahu úhlů. Díky tomu lze nakreslit jak celé kružnice, tak půlkruhy nebo různé výseče. Studenti si tak uvědomí, že canvas pracuje s úhly v radiánech, a že pro zobrazení výsledného tvaru je nutné cestu dokončit voláním stroke() (obrys) nebo fill() (výplň).
Teorie a principy
-
Syntaxe:
ctx.arc(x, y, r, startAngle, endAngle)-
x, y– souřadnice středu kruhu, -
r– poloměr, -
startAngle– počáteční úhel v radiánech, -
endAngle– koncový úhel v radiánech.
-
-
Radiány vs. stupně:
-
0 rad = pravý směr (osa X doprava),
-
Math.PI= 180°, -
2 * Math.PI= 360° (celý kruh).
-
-
Cesta:
-
vždy začínáme
beginPath(), -
definujeme oblouk pomocí
arc(), -
kresbu ukončíme
stroke()nebofill().
-
-
Výseče a půlkruhy:
-
změnou
startAngleaendAnglezískáme část kruhu, -
např.
0ažMath.PI= půlkruh.
-
Praktické příklady kódu
Typické chyby
-
Zapomenuté
beginPath()– oblouky se spojují s předchozími tvary. -
Chybějící
stroke()nebofill()– tvar se nevykreslí, protože cesta nebyla dokončena. -
Použití stupňů místo radiánů – např. zadání 180 místo
Math.PInevytvoří půlkruh, ale obrovský oblouk. -
Neuzavřený sektor – pokud chceme výseč, musíme se vrátit zpět do středu (
moveTo+closePath).
Shrnutí
-
Kruh a oblouky kreslíme metodou
arc(x, y, r, start, end). -
Úhly se zadávají v radiánech – celý kruh je
2 * Math.PI. -
Výsledný tvar se zobrazí až po volání
stroke()nebofill(). -
Půlkruhy a výseče vznikají změnou rozsahu úhlů.
-
Pro sektory nezapomeňte cestu uzavřít pomocí
closePath().