Samples Mikroprocesory Sbírka her

This is alternative content.

Tikz/PGF - tvorba grafiky v TeXu II. díl

Srpen 10, 2009 od hanka , LaTeX, Seriály, Tikz/PGF

Samples.cz hleda redaktory. Info zde.

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:

\tikz \draw (-1,0)--(0,1)--(1,0)--(0,-1)--(-1,0);
kosoctverec.png
Obr. 1 Kosočtverec - kartézské souřadnice

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:

\tikz \draw (0:1)--(90:1)--(180:1)--(270:1)--(0:1);
kosoctverec.png
Obr. 2 Kosočtverec - polární souřadnice

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.

\tikz \draw +(1,0)--+(0,1)--+(-1,0)--+(0,-1)--++(1,0)
          --+(1,0)--+(0,1)--+(-1,0)--+(0,-1)--+(1,0);
dva_kosoctverce_0.png
Obr. 3 Kosočtverce - relativně zadané souřadnice

Využívání pojmenovaných bodů je vhodné, pokud jsou tyto body využívány často v jednom obrázku. Řádek

\path (60:1) coordinate (b60);

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.

\begin{tikzpicture}
  \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}
trojlistek.png
Obr. 4 Trojlístek - pojmenované body

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ř:

\tikz \draw [thick] (0,0)--(1,0);

vykreslí silnou čáru. Všechny atributy jsou vypsány v následující tabulce.

Název atributu Účinek
ultra thin Opravdu velmi tenká čára.
very thin Velmi tenká čára.
thin Tenká čára, implicitní nastavení
thick Tlustá čára.
very thick Velmi tlustá čára.
ultra thick Opravdu velmi tlustá čára.
loosely dotted Řídce tečkovaná čára.
dotted Tečkovaná čára.
densely dotted Hustě tečkovaná čára.
loosely dashed Řídce čárkovaná čára.
dashed Čárkovaná čára.
densely dashed Hustě čárkovaná čára.
Tabulka 1 Atributy příkazu \draw

Atributy lze kombinovat, pokud chceme nakreslit třeba tlustou tečkovanou čáru dlouhou 3 centimetry, stačí napsat řádek

\tikz \draw[thick, dotted] (0,0)--(3,0);

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.

cary.png
Obr. 5 Druhy čar

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:

\tikz \draw [ultra thick] (-1,0)--(0,1)--(1,0)--(0,-1)--(-1,0);

U pravého kosočtverce je čára uzavřena pomocí cycle:

\tikz \draw [ultra thick] (-1,0)--(0,1)--(1,0)--(0,-1)--(-1,0)--cycle;
cycle.png
Obr. 6 Význam použití 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.

ctverce.png
Obr. 7 Čtverečky
Měřící převodníkNabídka samples.cz: DataLoger - kvalitní měřící převodník. Měřící (nebo také digitalizační) převodníky jsou vhodné pro vizualizaci a záznam časově proměnných dějů. Jsou užitečnou pomůckou v laboratoří. Možnost napsání vlastní měřící aplikace s dobře dokumentovanou knihovnou.


Komentáře

Líbil (či nelíbil) se vám článek? Nezapomeňte nám zde zanechat vzkaz. Každý váš komentář bude pro nás motivací pokračovat v naší práci.

Nco