Vektorové křivky (splines) v souborech typu .ai
nebo .eps
jsou často reprezentovány pomocí Bézierových křivek. Každá Bézierova křivka je definována pomocí:
Bodů:
- Počáteční bod: Tam, kde křivka začíná.
- Koncový bod: Tam, kde křivka končí.
- Ovládací body (control points): Body, které určují směr a zakřivení křivky.
Tvarovacích čar: Tyto čáry se nazývají "tangentové úsečky" a spojují ovládací body s odpovídajícím koncovým nebo počátečním bodem. Každá křivka má dvě tangentové úsečky:
- Jednu vycházející z počátečního bodu.
- Druhou vedoucí ke koncovému bodu.
Jak se Bézierovy křivky zapisují v PostScriptu
V souboru typu .ai
jsou Bézierovy křivky často popsány příkazy jako c
(curve to) nebo v
(smooth curve to).
Například řádek:
Význam částí:
1.7827 0.2309
: První ovládací bod (control point 1).1.7306 0.2781
: Koncový bod křivky.Tento příkaz implicitně bere poslední bod předcházející křivky jako počáteční bod a počítá:
- Směr a vzdálenost první tangentové úsečky z předchozího bodu.
- Směr a vzdálenost druhé tangentové úsečky směrem ke koncovému bodu.
Pokud by byl použit příkaz c
místo v
, byly by uvedeny všechny tři body (počáteční bod je uveden samostatně, zatímco u v
je implicitní).
Jak se počítají a vykreslují Bézierovy křivky
Křivky jsou interpolovány na základě matematické rovnice pro Bézierovy křivky. Pro kvadratickou Bézierovu křivku se používá: Pro kubickou Bézierovu křivku:
Kde:
- : Počáteční bod.
- : První ovládací bod.
- : Druhý ovládací bod.
- : Koncový bod.
- : Parametr v intervalu [0, 1].
Vizualizace tvarovacích čar
Pokud chcete vidět polohy ovládacích bodů a tangentových čar v Pythonu, můžete vykreslit graf:
Příklad kódu:
Výstup:
Tento graf ukazuje:
- Bézierovu křivku jako hladkou čáru.
- Ovládací body (červené body).
- Tangentové úsečky, které spojují body P0–P1 a P1–P2.
Tímto způsobem lze vizualizovat nejen samotné křivky, ale také efekt ovládacích bodů na jejich tvar.
Žádné komentáře:
Okomentovat