1. Operator plot y x \begin{tikzpicture} \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$}; \draw[->] (0,-1.2) -- (0,4.2) node[above] {$y$}; \draw (3,4) -- (3,3) plot coordinates{(2,3) (3,0) (4,3)}; \end{tikzpicture} y x \begin{tikzpicture} \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$}; \draw[->] (0,-1.2) -- (0,4.2) node[above] {$y$}; \draw (3,4) -- (3,3) -- plot coordinates{(2,3) (3,0) (4,3)}; \end{tikzpicture} 1
Tu ścieżka została połączona z wcześniejszą. Można też współrzędne punktów przez które ma przechodzić nasza krzywa umieścić w osobnym zbiorze i wczytać go jak poniżej. Współrzędne każdego punktu mają być w osobnej linii, oddzielone spacją, a plik ma się nazywać nazwa.table. y x \begin{tikzpicture} \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$}; \draw[->] (0,-1.2) -- (0,4.2) node[above] {$y$}; \draw plot file{zzz.table}; \end{tikzpicture} 2. Wykresy funkcji y y x x 2
\begin{tikzpicture}[domain=0:2] \draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9); \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$}; \draw[->] (0,-1.2) -- (0,4.2) node[above] {$y$}; \draw[color=red] plot[id=x] function{x*x}; \end{tikzpicture} 3. Funkcja foreach \begin{tikzpicture} \draw (0,0) -- (6,0); \fill (0,0) circle (2pt); \foreach \x in {1,2,3,4,5} \draw (\x,0) circle(2pt); %\fill circle (2pt); \end{tikzpicture} \bt \draw[->] (0,0) -- (0,8); \draw[->] (0,0) -- (8,0); \fill (0,0) circle(2pt); 3
\foreach \x in {1,2,3,4,5,6,7} \draw (\x,0) +(0,.1)-- ++(0,-.1); \foreach \y in {1,2,3,4,5,6,7} \draw (0,\y) +(-.1,0)-- ++(.1,0); \foreach \x in {1,2,3,4,5,6,7} \foreach \y in {1,2,3,4,5,6,7} \draw[fill] (\x,\y) circle(2pt); \foreach \x in {.5,1.5,2.5,3.5,4.5,5.5,6.5} \foreach \y in {.5,1.5,2.5,3.5,4.5,5.5,6.5} \draw (\x,\y) circle(1pt); \draw[line width=2pt] (3,2)-- (5,6); \et 4. Rysowanie krzywych Do rysowania krzywych system PGF wykorzystuje krzywe Béziera trzeciego stopnia. Jeśli mamy dane cztery punkty P (x p, y p ), Q(x q, y q ), R(x r, y r ) i S(x s, y s ) to krzywą możemy opisać równaniami parametrycznymi x(t) = (1 t) 3 x p + 3t(1 t) 2 x q + 3t 2 (1 t)x r + t 3 x s y(t) = (1 t) 3 y p + 3t(1 t) 2 y q + 3t 2 (1 t)y r + t 3 y s gdzie t [0, 1]. Punkty P i Q, zwane węzłami, to początek i koniec krzywej, zaś punkty R i S to punkty kontrolne. Proste P Q i RS są styczne do krzywej w punktach P i Q odpowiednio. Q R P S Krzywą pomiędzy punktami A i B rysujemy następująco: 4
\path A.. controls<c> and <d>.. B 5. Operacja cycle Operacja cycle łączy linią bieżący punkt ścieżki z pierwszym zdefiniowanym w ścieżce. 5
Jeśli nie zastosujemy operacji cycle to przy grubej linii wszystkie wierzchołki są wypełnione. Przy grubej linii wierzchołek ostatni (pierwszy) nie jest wypełniony. 6. Operacja grid Można dodać siatkę do dowolnego rysunku poleceniem grid. \path... grid[<opcje>]<wierzchołek>... Polecenie \draw (1,1) grid (4,4) rysuje siatkę kwadratową której współ- 6
rzędne przekątnej to (1,1) i (4,4). Szerokość oczek to 1cm. Siatkę o innej wielkości oczek otrzymamy gdy jako opcje polecenia grid podamy step=<liczba lub odległość lub współrzędne> dla siatki kwadratowej lub xstep=<liczba lub odległość>, ystep=<liczba lub odległość> dla siatki prostokątnej. Można również skorzystać ze stylu o nazwie help lines w którym domyślnie linie rysowane są kolorem szarym a ich grubość jest równa 0.2pt. 7. Wypełnianie ścieżki kolorem Do wypełniania ścieżki kolorem służy polecenie \fill=<kolor>. Jeśli użyjemy tego polecenia to najpierw ścieżka zostanie domknięta (jeśli będzie to konieczne) a następnie jej wnętrze będzie wypełnione kolorem. Jeżeli wypełniany obszar składa się z kilku innych obszarów zamkniętych, wtedy należy skorzystać z jednej z dwóch istniejących zasad wypełniania: nonzero rule i even odd rule. 7
Opcja wzór i kolor Do wypełniania ścieżki wzorem służy opcja pattern czyli wzór. Po znaku równości podajemy nazwę wzoru. Można też określić kolor kolor wzoru polececniem pattern color. Należy pamiętać o wczytaniu biblioteki patterns \usetikzlibrary{patterns}. 8
Opcja color=<nazwa koloru> służy do rysowania, wypełniania ścieżki oraz pisania konkretnym kolorem. Można również opuścić słowo color= tak jak w poniższym przykładzie: \tikz\fill[color=red] (0,0) rectangle (3,3); \tikz\fill[red] (0,0) rectangle (3,3); Dodanie do rysunku opcji color= spowoduje pokolorowanie wszystkich elementów rysunku (z wyjątkiem cieniowania). Taki efekt nie zawsze jest pożądany. Polecenie \filldraw (lub \path[fill,draw] rysuje i wypełnia ścieżkę w tym samym czasie. Kolejność tych operacji jest następująca: najpierw ścieżka jest wypełniana kolorem a potem rysowana. Każde z poleceń fill i draw może zawierać nazwę koloru. Składnia wtedy jest taka \path[fill=red,draw=green]. Wypełnianie kolorem ścieżek przecinających się lub zbudowanych z kilku obszarów zamkniętych jest bardziej skomplikowane, gdyż trudno jest wyspecyfikować poszczególne części rysunku. Pomocne mogą być operacje nonzero 9
rule i even and odd rule. Zastosowanie ich pozwala stwierdzić czy punkt leży wewnątrz czy na zewnątrz obszaru który chcemy wypełnić. Jeżeli opcja nonzero rule jest aktywna to do stwierdzenia czy dany punkt A leży wewnątrz czy na zewnątrz ścieżki stosowana jest następująca metoda: Z punktu A prowadzimy promień tak by przecinał ścieżkę być może kilkakrotnie. Jeśli w punkcie przecięcia ścieżka biegnie od lewej do prawej (względem promienia) wówczas licznik którego wartość początkowa jest równa zero jest zwiększany o 1, w przeciwnym przypadku jest zmniejszany o 1. Na koniec jest sprawdzana wartość licznika. Jeśli jest równy zero wówczas punkt A leży na zewnątrz ścieżki, jeśli jest różny od zera, punkt A leży wewnątrz. Jeżeli opcja even and odd rule jest aktywna inna metoda jest stosowana. Tak samo jak poprzednio z punktu A prowadzimy promień przecinający ścieżkę. Liczymy ile razy promień ją przetnie i mówimy, że punkt leży wewnątrz ścieżki jeśli liczba jest nieparzysta, w przeciwnym wypadku punkt leży na zewnątrz ścieżki. 10
Kiedy linia jest rysowana wszystko co znajduje się pod nią jest przysłaniane czyli wszystkie ścieżki narysowane wcześniej zostają zakryte przez ścieżki rysowane później, jeśli oczywiście chociaż częściowo się pokrywają. Aby uzyskać efekt przezroczystości najlepiej jest wykorzystać draw opacity=<wartość>. Opcja ta ustala jak bardzo przezroczyste powinny być linie rysowanej ścieżki. Wartość którą przyjmuje musi znajdować się w przedziale [0, 1]. Liczba 1 oznacza pełną nieprzezroczystość, 0 całkowicie przezroczysty lub niewidoczny, a wartość 0.5 to połowa przezroczystości. 11