Tikz/PGF - tvorba grafiky v TeXu II. díl
Ve druhém dílu si představíme několik základních dovedností v PGF, např. zadávání bodů nebo vykreslování cesty.
Zadávání bodů
Jistě mi dáte za pravdu, že základní dovedností potřebnou pro úspěšné “programování” grafiky je specifikace jednotlivých bodů v obrázku. Pro zadávání souřadnic existuje několik možností:
- absolutně v kartézských i polárních souřadnicích,
- relativně v kartézských i polárních souřadnicích a
- využitím pojmenovaných bodů.
V minulém dílu jsme zkončili příkladem jednoduchého obrázku domečku. Nyní použijeme obdobný příklad, kosočtverec:
V uvedeném příkladě jsou čísly v závorkách postupně definovány body, které jsou propojeny čárou - -. Body jsou zde zadávány absolutně v kartézských souřadnicích (x,y) vzhledem k počátečnímu bodu (0,0). Základní jednotkou v Tikz je centimetr (cm). Mohou se používat i jiné jednotky, jako jsou pixely (pt) nebo palce (in). Jednotky se píší bezprostředně za číslo, např. (10pt,25pt)
Druhou možností je zadávání bodů v polárních souřadnicích ve tvaru (α, r), kde α je úhel a r je vzdálenost od počátku, nebo-li poloměr kružnice. Implicitními jednotkami jsou stupně a centimetry. Stejný výsledek jako v předchozím příkladě dosteneme zapsáním řádku:
Zadávání relativních souřadnic je velmi podobné zadávání souřadnic absolutních, jedinou změnou je přidání znaků + před závorky:
- ++(1,1) nebo ++(45:1) - zadání souřadnice relativně ke vztažnému bodu a současná definice nového vztažného bodu.
- +(1,1) nebo +(45:1) - zadání souřadnic relativně k současnému vztažnému bodu. Na počátku relativně k bodu (0,0), po zadání bodu s ++ se souřadnice vztahují k tomuto bodu.
V následujícím příkladu si všimněte, že jsou dvakrát za sebou zadávány stejné souřadnice jako v předchozím případě. Po uzavření prvního kosočtverce je definován nový vztažný bod ++(1,0). Následně zadávané souřadnice se již vztahují k tomuto bodu.
--+(1,0)--+(0,1)--+(-1,0)--+(0,-1)--+(1,0);
Využívání pojmenovaných bodů je vhodné, pokud jsou tyto body využívány často v jednom obrázku. Řádek
pojmenuje bod (60:1) zadaný v polárních souřadnicích jménem b60. Jména mohou být libovolná, doporučuji krátká a vypovídající, zkrátka taková, která se Vám nebudou plést mezi sebou.
V následujícím kódu jsou nejprve postupně zadány a pojmenovány všechny potřebné body. Po té jsou tyto body propojovány přímkou. Protože si již nevystačíme s jedním příkazem, musí být použito prostředí tikzpicture namísto předchozího \tikz.
\path (0:0) coordinate (p);
\path (0:1) coordinate (b0);
\path (60:1) coordinate (b60);
\path (2*60:1) coordinate (b120);
\path (3*60:1) coordinate (b180);
\path (4*60:1) coordinate (b240);
\path (5*60:1) coordinate (b300);
\draw (p) -- (b0);
\draw (p) -- (b60);
\draw (p) -- (b120);
\draw (p) -- (b180);
\draw (p) -- (b240);
\draw (p) -- (b300);
\draw (b0) -- (b60);
\draw (b120) -- (b180);
\draw (b240) -- (b300);
\end{tikzpicture}
Vykreslení rovných čar
S vykreslováním rovných čar jsme se již setkaly v předchozích příkladech. Pro doplnění je nutno uvést atributy příkazu \draw, které specifikují vzhled. Tyto atributy se píší do hranatých závorek za \draw, např:
vykreslí silnou čáru. Všechny atributy jsou vypsány v následující tabulce.
|
||||||||||||||||||||||||||
| Tabulka 1 Atributy příkazu \draw |
Atributy lze kombinovat, pokud chceme nakreslit třeba tlustou tečkovanou čáru dlouhou 3 centimetry, stačí napsat řádek
Na obrázku 5 jsou zobrazeny jednotlivé druhy čar, čáry jsou ve stejném pořadí jako v tabulce 1. Při vykreslování čar se Vám může zdát, že čára ultra thin je stejná jako very thin. Chyba pravděpodobně nebude ve Vašem kódu, ale je způsobena nedostatečným rozlišením monitoru.
Při kreslení uzavřených objektů je vhodné čáru ukončit klíčovým slovem cycle. Důvod je zřejmý z obrázku 6.
Jsou zde dva kosočtverce kreslené čárou ultra thick. Všimněte si pravých rohů. Levý kosočtverec je nakreslen bez
použití cycle:
U pravého kosočtverce je čára uzavřena pomocí cycle:
Domácí cvičení ;o)
Pokud jste si v průběhu čtení článku jednotlivé příkazy nezkoušeli, je nejvyšší čas. Zkuste si vymyslet a nakreslit obrázek, ve kterém je možné využít některé z uváděných příkazů. A pokud Vás nenapadá nic kloudného, vyzkoušejte čtverečky z obrázku 7.


Nabídka samples.cz: