]> mj.ucw.cz Git - ads2.git/commitdiff
Prvni verze konvexnich obalu.
authorMartin Mares <mj@ucw.cz>
Sun, 15 Nov 2009 11:22:15 +0000 (12:22 +0100)
committerMartin Mares <mj@ucw.cz>
Sun, 15 Nov 2009 11:22:15 +0000 (12:22 +0100)
7-geom/7-geom.mp [new file with mode: 0644]
7-geom/7-geom.tex [new file with mode: 0644]
7-geom/7-geom1_male_obaly.eps [new file with mode: 0644]
7-geom/7-geom2_pridani_bodu.eps [new file with mode: 0644]
7-geom/7-geom3_obalky.eps [new file with mode: 0644]
7-geom/7-geom4_determinant.eps [new file with mode: 0644]
7-geom/7-geom5_rybi_motivace.eps [new file with mode: 0644]
7-geom/Makefile [new file with mode: 0644]
7-geom/lib.mp [new file with mode: 0644]

diff --git a/7-geom/7-geom.mp b/7-geom/7-geom.mp
new file mode 100644 (file)
index 0000000..4337fd0
--- /dev/null
@@ -0,0 +1,225 @@
+input lib
+
+figname("7-geom");
+
+figtag("male_obaly");
+beginfig(1);
+       pickup boldpen;
+       labeloffset:=1cm;
+       pair c,pos; c := (0,0); pos := c;
+       drawemptyvertex(c);
+       label.bot(btex $n=1$ etex, pos);
+       c := (2cm,0);
+       pos := pos + c;
+       pair A[];
+       A[0] := (-0.3cm, -0.2cm)+c; A[1] := (0.2cm, 0.3cm)+c;
+       draw A[0]--A[1];
+       drawemptyvertex(A[0]); drawemptyvertex(A[1]);
+       label.bot(btex $n=2$ etex, pos);
+
+       pos := pos + c;
+       A[2] := (+0.3cm, -0.4cm)+c;
+       for i := 0 upto 2: A[i] := A[i] shifted c; endfor
+       draw A[0]--A[1]--A[2]--cycle;
+       for i := 0 upto 2: drawemptyvertex(A[i]); endfor
+       label.bot(btex $n=3$ etex, pos);
+
+       pos := pos + c;
+       A[3] := (A[0]+A[1]+A[2])/3;
+       for i := 0 upto 3: A[i] := A[i] shifted c; endfor
+       draw A[0]--A[1]--A[2]--cycle;
+       for i := 0 upto 2: drawemptyvertex(A[i]); endfor
+       draw vertex(A[3]);
+       
+       c := (1cm,0);
+       pos := pos + c/2;
+       A[3] := A[1]+(0.3cm,-0.2cm);
+       for i := 0 upto 3: A[i] := A[i] shifted c; endfor
+       draw A[0]--A[1]--A[3]--A[2]--cycle;
+       for i := 0 upto 3: drawemptyvertex(A[i]); endfor
+       label.bot(btex $n=4$ etex, pos);
+endfig;
+
+figtag("pridani_bodu");
+beginfig(2);
+       pair A[],B[],C,shift; shift := (4.5cm,0);
+       A[0] := (-1.7cm,1.1cm);
+       A[1] := (-1.2cm,1.2cm);
+       A[2] := (-0.4cm,1cm);
+       A[3] := (0.2cm,0.2cm);
+       A[4] := (0.4cm,-0.7cm);
+       A[5] := (-0.8cm,-1.3cm);
+       A[6] := (-1.4cm,-1.4cm);
+       B[0] := (-1.1cm, 0.7cm);
+       B[1] := (-0.6cm, 0.1cm);
+       B[2] := (-1.3cm, -0.6cm);
+       C := (1cm, 0.1cm);
+
+       % krok 1
+       pickup boldpen;
+       draw A[0] for i := 1 upto 6: --A[i] endfor;
+       for i := 1 upto 5: drawemptyvertex(A[i]); endfor
+       for i := 0 upto 2: draw vertex(B[i]); endfor
+       draw vertex(C);
+       drawarrow (C+(0.5cm,0)--C+(1.5cm,0)) shifted (0, -0.1cm) withpen normalpen;
+       for i:=0 upto 6: A[i] := A[i] shifted shift; endfor
+       for i:=0 upto 2: B[i] := B[i] shifted shift; endfor
+       C := C shifted shift;
+
+       % krok 2
+       draw for i := 0 upto 3: A[i]-- endfor C for i := 4 upto 6: --A[i] endfor;
+       draw C--A[2] dashed evenly withpen normalpen;
+       for i := 1 upto 5: drawemptyvertex(A[i]); endfor
+       for i := 0 upto 2: draw vertex(B[i]); endfor
+       drawemptyvertex(C);
+       drawarrow (C+(0.5cm,0)--C+(1.5cm,0)) shifted (0,-0.1cm) withpen normalpen;
+       for i:=0 upto 6: A[i] := A[i] shifted shift; endfor
+       for i:=0 upto 2: B[i] := B[i] shifted shift; endfor
+       C := C shifted shift;
+
+       % krok 3
+       draw for i := 0 upto 2: A[i]-- endfor C for i := 4 upto 6: --A[i] endfor;
+       for i := 1 upto 2: drawemptyvertex(A[i]); endfor
+       for i := 4 upto 5: drawemptyvertex(A[i]); endfor
+       for i := 0 upto 2: draw vertex(B[i]); endfor
+       draw vertex(A[3]);
+       drawemptyvertex(C);
+endfig;
+
+figtag("obalky");
+beginfig(3);
+       labeloffset := 0.2cm;
+       pickup boldpen;
+       pair A[],B[];
+       A[0] := (-7cm, 0cm);
+       A[1] := (-6.2cm, 0.9cm);
+       A[2] := (-4.6cm,1.5cm);
+       A[3] := (-2.4cm,1.8cm);
+       A[4] := (-0.8cm,1.5cm);
+       A[5] := (0.4cm,0.6cm);
+       A[6] := (0.8cm,-0.10cm);
+       A[7] := (-1.6cm,-1.9cm);
+       A[8] := (-4cm,-2.1cm);
+       A[9] := (-6cm, -1.5cm);
+       A[10] := (-7cm, 0cm);
+       
+       B[0] := (-2.2cm, 0.7cm);
+       B[1] := (-1.2cm, 0.1cm);
+       B[2] := (-2.6cm, -0.6cm);
+       B[3] := (-3.6cm, -0.4cm);
+       B[4] := (-3cm, 0.6cm);
+       B[5] := (-2.6cm, 1cm);
+       B[6] := (-1cm, -1.2cm);
+       B[7] := (-6.5cm, 0.2cm);
+       B[8] := (-5cm, 0.8cm);
+       B[9] := (-6cm, -0.6cm);
+       B[10] := (-5cm, -1.2cm);
+       
+       draw createpath(for i := 0 upto 5: A[i]-- endfor A[6]);
+       draw (for i := 6 upto 9: A[i]-- endfor A[10]) dashed evenly;
+       for i := 0 upto 9: drawemptyvertex(A[i]); endfor
+       for i := 0 upto 10: draw vertex(B[i]); endfor
+
+       label(btex \font\myfont=csr10 \myfont horní obálka etex, ((-7cm+0.8cm)/2,2.2cm));
+       label(btex \font\myfont=csr10 \myfont dolní obálka etex, ((-7cm+0.8cm)/2,-2.5cm));
+       label.lft(btex $L$ etex, A[0]);
+       label.rt(btex $P$ etex, A[6]);
+endfig;
+
+figtag("determinant");
+beginfig(4);
+       labeloffset := 0.1cm;
+       pair A[], shift; shift := (4cm,1cm);
+
+       % det(M) > 0
+       A[0] := (-2cm, 0);
+       A[1] := (0,-1cm);
+       A[2] := (1.5cm, 0cm);
+       A[3] := A[0] + A[2] - A[1];
+       
+       fill A[0]--A[1]--A[2]--A[3]--cycle withcolor 0.8white;
+       draw A[0]--A[1]--A[2]--A[3]--cycle dashed evenly;
+       drawarrow A[0]--0.96[A[0],A[1]] withpen boldpen;
+       drawarrow A[1]--0.96[A[1],A[2]] withpen boldpen;
+       for i:=0 upto 2: draw vertex(A[i]); endfor
+       label.lft(btex $h_{k-1}$ etex, A[0]);
+       label.bot(btex $h_k$ etex, A[1]);
+       label.llft(btex $\vec u$ etex, 0.5[A[0],A[1]]);
+       label.lrt(btex $\vec v$ etex, 0.5[A[1],A[2]]);
+       label.rt(btex $b$ etex, A[2]);
+       label(btex $\det(M) > 0$ etex, 0.5[A[0],A[2]]);
+
+       % det(M) = 0
+       A[0] := (-1cm, -0.5cm) + shift;
+       A[1] := (0, -1cm) + shift;
+       A[2] := (1cm, -1.5cm) + shift;
+       drawarrow A[0]--0.96[A[0],A[1]] withpen boldpen;
+       drawarrow A[1]--0.96[A[1],A[2]] withpen boldpen;
+       for i:=0 upto 2: draw vertex(A[i]); endfor
+       label.lft(btex $h_{k-1}$ etex, A[0]);
+       label.llft(btex $h_k$ etex, A[1]);
+       label.llft(btex $\vec u$ etex, 0.5[A[0],A[1]]);
+       label.llft(btex $\vec v$ etex, 0.5[A[1],A[2]]);
+       label.bot(btex $b$ etex, A[2]);
+       label(btex $\det(M) = 0$ etex, origin) shifted (0,0.3cm) rotated -28 shifted 0.5[A[0], A[2]];
+
+       % det(M) < 0
+       shift := (7.5cm, 1.25cm);
+       A[0] := (-1cm, -0.5cm) + shift;
+       A[1] := (1.5cm, -1cm) + shift;
+       A[2] := (2cm, -2.5cm) + shift;
+       A[3] := A[0] + A[2] - A[1];
+       fill A[0]--A[1]--A[2]--A[3]--cycle withcolor 0.8white;
+       draw A[0]--A[1]--A[2]--A[3]--cycle dashed evenly;
+       drawarrow A[0]--0.96[A[0],A[1]] withpen boldpen;
+       drawarrow A[1]--0.96[A[1],A[2]] withpen boldpen;
+       for i:=0 upto 2: draw vertex(A[i]); endfor
+       label.lft(btex $h_{k-1}$ etex, A[0]);
+       label.urt(btex $h_k$ etex, A[1]);
+       label.top(btex $\vec u$ etex, 0.5[A[0],A[1]]);
+       label.rt(btex $\vec v$ etex, 0.5[A[1],A[2]]);
+       label.rt(btex $b$ etex, A[2]);
+       label(btex $\det(M) < 0$ etex, 0.5[A[0],A[2]]);
+endfig;
+
+figtag("rybi_motivace");
+beginfig(5);
+       u := 0.3cm;
+       def draw_fish(expr pos,size,rot) =
+               draw ((-1.3u*size,0){dir 60}..{right}(u*size,-u*size/4)) rotated rot shifted pos;
+               draw ((-1.3u*size,0){dir -50}..{right}(u*size,u*size/4)) rotated rot shifted pos;
+               draw ((u*size,-u*size/4)--(u*size,u*size/4)) rotated rot shifted pos;
+               draw (-1u*size,u*size/15) rotated rot shifted pos withpen pencircle scaled (u/8);
+               for i:=1 upto 3: draw (dirs((u*size,-u*size/4+i*u*size/8), 180, u*size/6)) rotated rot shifted pos; endfor
+       enddef;
+       
+       pair A[],B[];
+       A[0] := (-7cm, 0cm);
+       A[1] := (-6.2cm, 0.9cm);
+       A[2] := (-4.6cm,1.5cm);
+       A[3] := (-2.4cm,1.8cm);
+       A[4] := (-0.8cm,1.5cm);
+       A[5] := (0.4cm,0.6cm);
+       A[6] := (0.8cm,-0.10cm);
+       A[7] := (-1.6cm,-1.9cm);
+       A[8] := (-4cm,-2.1cm);
+       A[9] := (-6cm, -1.5cm);
+       A[10] := (-7cm, 0cm);
+       
+       B[0] := (-2.2cm, 0.7cm);
+       B[1] := (-1.2cm, 0.1cm);
+       B[2] := (-2.6cm, -0.6cm);
+       B[3] := (-3.6cm, -0.4cm);
+       B[4] := (-3cm, 0.6cm);
+       B[5] := (-2.6cm, 1cm);
+       B[6] := (-1cm, -1.2cm);
+       B[7] := (-6.5cm, 0.2cm);
+       B[8] := (-5cm, 0.8cm);
+       B[9] := (-6cm, -0.6cm);
+       B[10] := (-5cm, -1.2cm);
+
+       for i:=0 upto 9: draw_fish(A[i], 1, 0); endfor;
+       for i:=0 upto 10: draw_fish(B[i], 1, 0); endfor;
+       draw createpath(for i:=0 upto 9: A[i]-- endfor cycle) scaled 1.13 shifted (0.4cm,0) withpen boldpen;
+endfig;
+end
diff --git a/7-geom/7-geom.tex b/7-geom/7-geom.tex
new file mode 100644 (file)
index 0000000..f294889
--- /dev/null
@@ -0,0 +1,113 @@
+\input lecnotes.tex
+
+\prednaska{7}{Geometrické algoritmy}{(P. Klavík)}
+
+\>Uká¾eme si nìkolik základních algoritmù na øe¹ení geometrický problémù v~rovinì. Proè zrovna v~rovinì? Inu, jednorozmìrné problémy bývají triviální
+a naopak pro vy¹¹í dimenze jsou velice komplikované. Rovina je proto rozumným kompromisem mezi obtí¾ností a zajímavostí.
+
+Celou kapitolou nás bude provázet pohádka ze ¾ivota letních medvìdù. Pokusíme se vyøe¹it jejich \uv{ka¾dodenní} problémy~\dots
+
+\h{Hledání konvexního obalu}
+
+{\I Daleko na severu ¾ili lední medvìdi. Ve vodách tamního moøe byla hojnost ryb a jak je známo, ryby jsou oblíbenou pochoutkou ledních medvìdù.
+Proto¾e medvìdi z~na¹í pohádky rozhodnì nejsou ledajací a ani chytrost jim neschází, rozhodli se v¹echny ryby pochytat. Znají pøesná místa výskytu
+ryb a rádi by vyrobili obrovskou sí», do které by je v¹echny chytili. Pomozte medvìdùm zjistit, jaký nejmen¹í obvod taková sí» mù¾e mít.}
+
+\figure{7-geom5_rybi_motivace.eps}{Problém ledních mìdvìdù: Jaký je nejmen¹í obvod sítì?}{2.5in}
+
+Neboli v~øeèi matematické, chceme pro zadanou mno¾inu bodù v~rovinì nalézt její konvexní obal. Co je to konvexní obal? Mno¾ina bodù je {\I konvexní},
+pokud pro ka¾dé dva body obsahuje i celou úseèku mezi nimi. {\I Konvexní obal} je nejmen¹í konvexní podmno¾ina roviny, která obsahuje v¹echny zadané
+body.\foot{Pamatujete si na lineární obaly ve vektorových prostorech? Lineární obal mno¾iny vektorù je nejmen¹í vektorový podprostor, který tyto
+vektory obsahuje. Není náhoda, ¾e tato definice pøipomíná definici konvexního obalu. Na druhou stranu ka¾dý vektor z~lineárního obalu lze vyjádøit
+jako lineární kombinaci daných vektorù. Podobnì platí i pro konvexní obaly, ¾e ka¾dý bod z~obalu je konvexní kombinací daných bodù. Ta se li¹í od
+lineární v~tom, ¾e v¹echny koeficienty jsou v~intervalu $[0,1]$ a navíc souèet v¹ech koeficientù je $1$. Tento algebraický pohled mù¾e mnohé vìci
+zjednodu¹it. Zkuste si dokázat, ¾e obì definice konvexního obalu jsou ekvivalentní.} Z~algoritmického hlediska nás v¹ak bude zajímat jenom jeho
+hranice, kterou budeme dále oznaèovat jako konvexní obal.
+
+Na¹ím úkolem je nalézt konvexní obal koneèné mno¾iny bodù. To je v¾dy konvexní mnohoúhelník, navíc s~vrcholy v~zadaných bodech. Øe¹ením problému tedy
+bude posloupnost bodù, které tvoøí konvexní obal. Pro malé mno¾iny je konvexní obal nakreslen na obrázku, pro více bodù je v¹ak situace mnohem
+slo¾itìj¹í.
+
+\figure{7-geom1_male_obaly.eps}{Konvexní obaly malých mno¾in.}{3in}
+
+Pro jednoduchost budeme pøedpokládat, ¾e v¹echny body mají rùzné $x$-ové souøadnice. Tedy utøídìní bodù zleva doprava je urèené jednoznaènì.\foot{To si
+mù¾eme dovolit pøedpokládat, nebo» se v¹emi body staèí nepatrnì pootoèit. Tím konvexní obal urèitì nezmìníme. Av¹ak jednodu¹¹í øe¹ení je naprogramovat
+tøídìní lexikograficky (druhotnì podle souøadnice $y$) a vyøadit identické body.} Tím máme zaji¹tìné, ¾e existují dva body, nejlevìj¹í a
+nejpravìj¹í, pro které platí následující invariant:
+
+\s{Invariant:} Nejlevìj¹í a nejpravìj¹í body jsou v¾dy v~konvexním obalu.
+
+Algoritmus na nalezení konvexního obalu funguje na následujícím jednoduchém principu, kterému se nìkdy øíká {\I zametání roviny}. Procházíme body
+zleva doprava a postupnì roz¹iøujeme doposud nalezený konvexní obal o~dal¹í body. Na zaèátku bude konvexní obal jediného bodu samotný bod. Na konci
+$k$-tého kroku algoritmu známe konvexní obal prvních $k$ bodù. Kdy¾ algoritmus skonèí, známe hledaný konvexní obal. Podle invariantu musíme v~$k$-tém
+kroku pøidat do obalu $k$-tý nejlevìj¹í bod. Zbývá si jen rozmyslet, jak pøesnì tento bod pøidat.
+
+Poslední bod napojíme na nejbli¾¹í bod konvexního obalu, který je nad ním a pod ním. Èasto se v¹ak stane, ¾e obal pøestane být konvexní. To se dá v¹ak
+snadno napravit, staèí odebírat pøedcházející body tak dlouho, dokud nezískáme konvexní obal. Pøíklad pøidání bodu je na obrázku ní¾e. Mnohdy je
+potøeba odebrat i více ne¾ jeden bod.
+
+\figure{7-geom2_pridani_bodu.eps}{Pøidání bodu do konvexního obalu.}{4.5in}
+
+Pro pøípadnou implementaci a rozbor slo¾itosti si nyní popí¹eme algoritmus detailnìji. Aby se lépe popisoval, rozdìlíme si konvexní obal na dvì èásti
+spojující nejlevìj¹í a nejpravìj¹í bod obalu. Budeme jim øíkat {\I horní obálka} a {\I dolní obálka}.
+
+\figure{7-geom3_obalky.eps}{Horní a dolní obálka konvexního obalu.}{3.4in}
+
+Obì obálky jsou lomené èáry, navíc horní obálka poøád zatáèí doprava a dolní naopak doleva. Pro udr¾ování bodù v~obálkách staèí dva zásobníky.
+V~$k$-tém kroku algoritmu pøidáme zvlá¹» $k$-tý bod do horní i dolní obálky. Pøidáním $k$-tého bodu se v¹ak mù¾e poru¹it smìr, ve kterém obálka
+zatáèí. Proto budeme nejprve body z~obálky odebírat a $k$-tý bod pøidáme a¾ ve chvíli, kdy jeho pøidání smìr zatáèení neporu¹í.
+
+\s{Algoritmus:}
+
+\algo
+
+\:Setøídíme body podle $x$-ové souøadnice, oznaème body $b_1, \ldots, b_n$.
+\:Vlo¾íme do horní a dolní obálky bod $b_1$: $H = D = (b_1)$.
+\:Pro ka¾dý dal¹í bod $b = b_2,\ldots,b_n$:
+\::Pøepoèítáme horní obálku:
+\:::Dokud $\vert H\vert \ge 2$, $H = (\ldots, h_{k-1}, h_k)$ a úhel $h_{k-1} h_k b$ je orientovaný doleva:
+\::::Odebereme poslední bod $h_k$ z~obálky $H$.
+\:::Pøidáme bod $b$ do obálky $H$.
+\::Symetricky pøepoèteme dolní obálku (s orientací doprava).
+\: Výsledný obal je tvoøen body v~obálkách $H$ a $D$.
+
+\endalgo
+
+Rozebereme si èasovou slo¾itost algoritmu. Setøídit body podle $x$-ové souøadnice doká¾eme v~èase $\O(n \log n)$. Pøidání dal¹ího bodu do obálek
+trvá lineárnì vzhledem k~poètu odebraných bodù. Zde vyu¾ijeme obvyklý postup: Ka¾dý bod je odebrán nejvý¹e jednou, a tedy v¹echna odebrání trvají
+dohromady $\O(n)$. Konvexní obal doká¾eme sestrojit v~èase $\O(n \log n)$, a pokud bychom mìli seznam bodù ji¾ utøídený, doká¾eme to dokonce $\O(n)$.
+
+\s{Algebraický dodatek:} Existuje jednoduchý postup, jak zjistit orientaci úhlu? Uká¾eme si jeden zalo¾ený na lineární algebøe. Budou se hodit
+vlastnosti determinantu. Absolutní hodnota determinantu je objem pøíslu¹ného rovnobì¾nostìnu tvoøeného øádkovými vektory matice. Dùle¾itìj¹í v¹ak je,
+¾e znaménko determinantu urèuje \uv{orientaci} vektorù, zda je levotoèivá èi pravotoèivá. Proto¾e ná¹ problém je rovinný, budeme uva¾ovat determinanty
+matic $2 \times 2$.
+
+Uva¾me souøadnicový systém v~rovinì, kde $x$-ová souøadnice roste smìrem doprava a~$y$-ová smìrem nahoru. Chceme zjistit orientaci úhlu $h_{k-1} h_k
+b$. Polo¾me $\vec u = (x_1, y_1)$ jako rozdíl souøadnic $h_k$ a~$h_{k-1}$ a podobnì $\vec v = (x_2, y_2)$ je rozdíl souøadnic $b$ a~$h_k$. Matice $M$
+je definována následovnì:
+$$M = \pmatrix{\vec u \cr \vec v} = \pmatrix {x_1&y_1\cr x_2&y_2}.$$
+Úhel $h_{k-1} h_k b$ je orientován doleva, právì kdy¾ $\det M = x_1y_2 - x_2y_1$ je nezáporný,\foot{Neboli vektory $\vec u$ a $\vec v$ odpovídají
+rozta¾ení a zkosení vektorù báze $\vec x = (1,0)$ a $\vec y = (0,1)$, pro nì¾ je determinant nezáporný.} a spoèítat hodnotu determinantu je jednoduché.
+Mo¾né situace jsou nakresleny na obrázku. Poznamenejme, ¾e k~podobnému vzorci se lze také dostat pøes vektorový souèin vektorù $\vec u$ a $\vec v$.
+
+\figure{7-geom4_determinant.eps}{Jak vypadají determinanty rùzných znamének v~rovinì.}{4.6in}
+
+\s{©lo by to vyøe¹it rychleji?} Také vám vrtá hlavou, zda existují rychlej¹í algoritmy? Nejrychlej¹í známý algoritmus, jeho¾ autorem je T.~Chan,
+funguje v~èase $\O(n \log h)$, kde $h$ je poèet bodù le¾ících v~konvexním obalu, a pøitom je pøekvapivì jednoduchý. Zde si naznaèíme, jak tento
+algoritmus funguje.
+
+Algoritmus pøichází s~následující my¹lenkou. Pøedpokládejme, ¾e bychom znali velikost konvexního obalu $h$. Rozdìlíme body libovolnì do $\lceil {n
+\over h} \rceil$ mno¾in $Q_1, \ldots, Q_k$ tak, ¾e $\vert Q_i \vert \le h$. Pro ka¾dou z~tìchto mno¾in nalezneme konvexní obal pomocí vý¹e popsaného
+algoritmu. To doká¾eme pro jednu v~èase $\O(h \log h)$ a pro v¹echny v~èase $\O(n \log h)$. Nakonec vezmeme tyto konvexní obaly a pomocí jiného
+algoritmu je v~èase $\O(n \log h)$ spojíme do konvexního obalu celé mno¾iny.
+
+Popsanému algoritmu schází jedna dùle¾itá vìc: Ve skuteènosti vìt¹inou neznáme velikost $h$. Budeme proto algoritmus iterovat s~rostoucí hodnotou $h$,
+dokud konvexní obal nesestrojíme. Pokud pøi slepování konvexních obalù zjistíme, ¾e konvexní obal je vìt¹í ne¾ $h$, výpoèet ukonèíme. Zbývá je¹tì
+zvolit, jak rychle má $h$ rùst. Pokud by rostlo moc pomalu, budeme poèítat zbyteènì mnoho fází, naopak pøi rychlém rùstu by nás poslední fáze mohla
+stát pøíli¹ mnoho.
+
+V~$k$-té iteraci polo¾íme $h = 2^{2^k}$. Dostáváme celkovou slo¾itost algoritmu:
+$$\sum_{m=0}^{\O(\log \log h)} \O(n \log 2^{2^m}) = \sum_{m=0}^{\O(\log \log h)} \O(n \cdot 2^m) = \O(n \log h),$$
+kde poslední rovnost dostaneme jako souèet prvních $\O(\log \log h)$ èlenù geometrické øady $\sum 2^m$.
+
+\bye
diff --git a/7-geom/7-geom1_male_obaly.eps b/7-geom/7-geom1_male_obaly.eps
new file mode 100644 (file)
index 0000000..f156331
--- /dev/null
@@ -0,0 +1,324 @@
+%!PS
+%%BoundingBox: -13 -35 216 12 
+%%HiResBoundingBox: -12.12236 -34.76685 215.33812 11.24376 
+%%Creator: MetaPost 0.993
+%%CreationDate: 2009.11.14:2207
+%%Pages: 1
+%*Font: cmmi10 9.96265 9.96265 6e:8
+%*Font: cmr10 9.96265 9.96265 31:f008
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 1 1 1 setrgbcolor
+newpath 1.99252 0 moveto
+1.99252 0.52847 1.78256 1.03523 1.4089 1.4089 curveto
+1.03523 1.78256 0.52847 1.99252 0 1.99252 curveto
+-0.52847 1.99252 -1.03523 1.78256 -1.4089 1.4089 curveto
+-1.78256 1.03523 -1.99252 0.52847 -1.99252 0 curveto
+-1.99252 -0.52847 -1.78256 -1.03523 -1.4089 -1.4089 curveto
+-1.03523 -1.78256 -0.52847 -1.99252 0 -1.99252 curveto
+0.52847 -1.99252 1.03523 -1.78256 1.4089 -1.4089 curveto
+1.78256 -1.03523 1.99252 -0.52847 1.99252 0 curveto closepath fill
+ 0 0 0 setrgbcolor 0 1.4944 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinejoin 10 setmiterlimit
+newpath 1.99252 0 moveto
+1.99252 0.52847 1.78256 1.03523 1.4089 1.4089 curveto
+1.03523 1.78256 0.52847 1.99252 0 1.99252 curveto
+-0.52847 1.99252 -1.03523 1.78256 -1.4089 1.4089 curveto
+-1.78256 1.03523 -1.99252 0.52847 -1.99252 0 curveto
+-1.99252 -0.52847 -1.78256 -1.03523 -1.4089 -1.4089 curveto
+-1.03523 -1.78256 -0.52847 -1.99252 0 -1.99252 curveto
+0.52847 -1.99252 1.03523 -1.78256 1.4089 -1.4089 curveto
+1.78256 -1.03523 1.99252 -0.52847 1.99252 0 curveto closepath stroke
+-12.12236 -34.76685 moveto
+(n) cmmi10 9.96265 fshow
+-3.37506 -34.76685 moveto
+(=) cmr10 9.96265 fshow
+7.14095 -34.76685 moveto
+(1) cmr10 9.96265 fshow
+ 1 setlinecap
+newpath 48.18887 -5.6692 moveto
+62.3621 8.50403 lineto stroke
+ 1 1 1 setrgbcolor
+newpath 50.1814 -5.6692 moveto
+50.1814 -5.14073 49.97144 -4.63397 49.59778 -4.2603 curveto
+49.2241 -3.88664 48.71735 -3.67668 48.18887 -3.67668 curveto
+47.6604 -3.67668 47.15364 -3.88664 46.77997 -4.2603 curveto
+46.40631 -4.63397 46.19635 -5.14073 46.19635 -5.6692 curveto
+46.19635 -6.19768 46.40631 -6.70444 46.77997 -7.07811 curveto
+47.15364 -7.45177 47.6604 -7.66173 48.18887 -7.66173 curveto
+48.71735 -7.66173 49.2241 -7.45177 49.59778 -7.07811 curveto
+49.97144 -6.70444 50.1814 -6.19768 50.1814 -5.6692 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 50.1814 -5.6692 moveto
+50.1814 -5.14073 49.97144 -4.63397 49.59778 -4.2603 curveto
+49.2241 -3.88664 48.71735 -3.67668 48.18887 -3.67668 curveto
+47.6604 -3.67668 47.15364 -3.88664 46.77997 -4.2603 curveto
+46.40631 -4.63397 46.19635 -5.14073 46.19635 -5.6692 curveto
+46.19635 -6.19768 46.40631 -6.70444 46.77997 -7.07811 curveto
+47.15364 -7.45177 47.6604 -7.66173 48.18887 -7.66173 curveto
+48.71735 -7.66173 49.2241 -7.45177 49.59778 -7.07811 curveto
+49.97144 -6.70444 50.1814 -6.19768 50.1814 -5.6692 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 64.35463 8.50403 moveto
+64.35463 9.0325 64.14467 9.53926 63.77101 9.91293 curveto
+63.39734 10.28659 62.89058 10.49655 62.3621 10.49655 curveto
+61.83363 10.49655 61.32687 10.28659 60.9532 9.91293 curveto
+60.57954 9.53926 60.36958 9.0325 60.36958 8.50403 curveto
+60.36958 7.97556 60.57954 7.4688 60.9532 7.09512 curveto
+61.32687 6.72147 61.83363 6.5115 62.3621 6.5115 curveto
+62.89058 6.5115 63.39734 6.72147 63.77101 7.09512 curveto
+64.14467 7.4688 64.35463 7.97556 64.35463 8.50403 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 64.35463 8.50403 moveto
+64.35463 9.0325 64.14467 9.53926 63.77101 9.91293 curveto
+63.39734 10.28659 62.89058 10.49655 62.3621 10.49655 curveto
+61.83363 10.49655 61.32687 10.28659 60.9532 9.91293 curveto
+60.57954 9.53926 60.36958 9.0325 60.36958 8.50403 curveto
+60.36958 7.97556 60.57954 7.4688 60.9532 7.09512 curveto
+61.32687 6.72147 61.83363 6.5115 62.3621 6.5115 curveto
+62.89058 6.5115 63.39734 6.72147 63.77101 7.09512 curveto
+64.14467 7.4688 64.35463 7.97556 64.35463 8.50403 curveto closepath stroke
+44.57054 -34.76685 moveto
+(n) cmmi10 9.96265 fshow
+53.31784 -34.76685 moveto
+(=) cmr10 9.96265 fshow
+63.83385 -34.76685 moveto
+(2) cmr10 9.96265 fshow
+newpath 104.88177 -5.6692 moveto
+119.05501 8.50403 lineto
+121.88983 -11.33841 lineto
+ closepath stroke
+ 1 1 1 setrgbcolor
+newpath 106.8743 -5.6692 moveto
+106.8743 -5.14073 106.66434 -4.63397 106.29068 -4.2603 curveto
+105.917 -3.88664 105.41025 -3.67668 104.88177 -3.67668 curveto
+104.3533 -3.67668 103.84654 -3.88664 103.47287 -4.2603 curveto
+103.09921 -4.63397 102.88925 -5.14073 102.88925 -5.6692 curveto
+102.88925 -6.19768 103.09921 -6.70444 103.47287 -7.07811 curveto
+103.84654 -7.45177 104.3533 -7.66173 104.88177 -7.66173 curveto
+105.41025 -7.66173 105.917 -7.45177 106.29068 -7.07811 curveto
+106.66434 -6.70444 106.8743 -6.19768 106.8743 -5.6692 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 106.8743 -5.6692 moveto
+106.8743 -5.14073 106.66434 -4.63397 106.29068 -4.2603 curveto
+105.917 -3.88664 105.41025 -3.67668 104.88177 -3.67668 curveto
+104.3533 -3.67668 103.84654 -3.88664 103.47287 -4.2603 curveto
+103.09921 -4.63397 102.88925 -5.14073 102.88925 -5.6692 curveto
+102.88925 -6.19768 103.09921 -6.70444 103.47287 -7.07811 curveto
+103.84654 -7.45177 104.3533 -7.66173 104.88177 -7.66173 curveto
+105.41025 -7.66173 105.917 -7.45177 106.29068 -7.07811 curveto
+106.66434 -6.70444 106.8743 -6.19768 106.8743 -5.6692 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 121.04753 8.50403 moveto
+121.04753 9.0325 120.83757 9.53926 120.46391 9.91293 curveto
+120.09024 10.28659 119.58348 10.49655 119.05501 10.49655 curveto
+118.52654 10.49655 118.01978 10.28659 117.6461 9.91293 curveto
+117.27245 9.53926 117.06248 9.0325 117.06248 8.50403 curveto
+117.06248 7.97556 117.27245 7.4688 117.6461 7.09512 curveto
+118.01978 6.72147 118.52654 6.5115 119.05501 6.5115 curveto
+119.58348 6.5115 120.09024 6.72147 120.46391 7.09512 curveto
+120.83757 7.4688 121.04753 7.97556 121.04753 8.50403 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 121.04753 8.50403 moveto
+121.04753 9.0325 120.83757 9.53926 120.46391 9.91293 curveto
+120.09024 10.28659 119.58348 10.49655 119.05501 10.49655 curveto
+118.52654 10.49655 118.01978 10.28659 117.6461 9.91293 curveto
+117.27245 9.53926 117.06248 9.0325 117.06248 8.50403 curveto
+117.06248 7.97556 117.27245 7.4688 117.6461 7.09512 curveto
+118.01978 6.72147 118.52654 6.5115 119.05501 6.5115 curveto
+119.58348 6.5115 120.09024 6.72147 120.46391 7.09512 curveto
+120.83757 7.4688 121.04753 7.97556 121.04753 8.50403 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 123.88235 -11.33841 moveto
+123.88235 -10.80994 123.6724 -10.30318 123.29874 -9.9295 curveto
+122.92506 -9.55585 122.4183 -9.34589 121.88983 -9.34589 curveto
+121.36136 -9.34589 120.8546 -9.55585 120.48093 -9.9295 curveto
+120.10727 -10.30318 119.89731 -10.80994 119.89731 -11.33841 curveto
+119.89731 -11.86688 120.10727 -12.37364 120.48093 -12.74731 curveto
+120.8546 -13.12097 121.36136 -13.33093 121.88983 -13.33093 curveto
+122.4183 -13.33093 122.92506 -13.12097 123.29874 -12.74731 curveto
+123.6724 -12.37364 123.88235 -11.86688 123.88235 -11.33841 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath 123.88235 -11.33841 moveto
+123.88235 -10.80994 123.6724 -10.30318 123.29874 -9.9295 curveto
+122.92506 -9.55585 122.4183 -9.34589 121.88983 -9.34589 curveto
+121.36136 -9.34589 120.8546 -9.55585 120.48093 -9.9295 curveto
+120.10727 -10.30318 119.89731 -10.80994 119.89731 -11.33841 curveto
+119.89731 -11.86688 120.10727 -12.37364 120.48093 -12.74731 curveto
+120.8546 -13.12097 121.36136 -13.33093 121.88983 -13.33093 curveto
+122.4183 -13.33093 122.92506 -13.12097 123.29874 -12.74731 curveto
+123.6724 -12.37364 123.88235 -11.86688 123.88235 -11.33841 curveto closepath
+ stroke
+101.26344 -34.76685 moveto
+(n) cmmi10 9.96265 fshow
+110.01074 -34.76685 moveto
+(=) cmr10 9.96265 fshow
+120.52675 -34.76685 moveto
+(3) cmr10 9.96265 fshow
+newpath 161.57468 -5.6692 moveto
+175.74791 8.50403 lineto
+178.58273 -11.33841 lineto
+ closepath stroke
+ 1 1 1 setrgbcolor
+newpath 163.5672 -5.6692 moveto
+163.5672 -5.14073 163.35724 -4.63397 162.98358 -4.2603 curveto
+162.60991 -3.88664 162.10315 -3.67668 161.57468 -3.67668 curveto
+161.0462 -3.67668 160.53944 -3.88664 160.16577 -4.2603 curveto
+159.79211 -4.63397 159.58215 -5.14073 159.58215 -5.6692 curveto
+159.58215 -6.19768 159.79211 -6.70444 160.16577 -7.07811 curveto
+160.53944 -7.45177 161.0462 -7.66173 161.57468 -7.66173 curveto
+162.10315 -7.66173 162.60991 -7.45177 162.98358 -7.07811 curveto
+163.35724 -6.70444 163.5672 -6.19768 163.5672 -5.6692 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 163.5672 -5.6692 moveto
+163.5672 -5.14073 163.35724 -4.63397 162.98358 -4.2603 curveto
+162.60991 -3.88664 162.10315 -3.67668 161.57468 -3.67668 curveto
+161.0462 -3.67668 160.53944 -3.88664 160.16577 -4.2603 curveto
+159.79211 -4.63397 159.58215 -5.14073 159.58215 -5.6692 curveto
+159.58215 -6.19768 159.79211 -6.70444 160.16577 -7.07811 curveto
+160.53944 -7.45177 161.0462 -7.66173 161.57468 -7.66173 curveto
+162.10315 -7.66173 162.60991 -7.45177 162.98358 -7.07811 curveto
+163.35724 -6.70444 163.5672 -6.19768 163.5672 -5.6692 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 177.74043 8.50403 moveto
+177.74043 9.0325 177.53047 9.53926 177.15681 9.91293 curveto
+176.78314 10.28659 176.27638 10.49655 175.74791 10.49655 curveto
+175.21944 10.49655 174.71268 10.28659 174.339 9.91293 curveto
+173.96535 9.53926 173.75539 9.0325 173.75539 8.50403 curveto
+173.75539 7.97556 173.96535 7.4688 174.339 7.09512 curveto
+174.71268 6.72147 175.21944 6.5115 175.74791 6.5115 curveto
+176.27638 6.5115 176.78314 6.72147 177.15681 7.09512 curveto
+177.53047 7.4688 177.74043 7.97556 177.74043 8.50403 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 177.74043 8.50403 moveto
+177.74043 9.0325 177.53047 9.53926 177.15681 9.91293 curveto
+176.78314 10.28659 176.27638 10.49655 175.74791 10.49655 curveto
+175.21944 10.49655 174.71268 10.28659 174.339 9.91293 curveto
+173.96535 9.53926 173.75539 9.0325 173.75539 8.50403 curveto
+173.75539 7.97556 173.96535 7.4688 174.339 7.09512 curveto
+174.71268 6.72147 175.21944 6.5115 175.74791 6.5115 curveto
+176.27638 6.5115 176.78314 6.72147 177.15681 7.09512 curveto
+177.53047 7.4688 177.74043 7.97556 177.74043 8.50403 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 180.57526 -11.33841 moveto
+180.57526 -10.80994 180.3653 -10.30318 179.99164 -9.9295 curveto
+179.61797 -9.55585 179.1112 -9.34589 178.58273 -9.34589 curveto
+178.05426 -9.34589 177.5475 -9.55585 177.17383 -9.9295 curveto
+176.80017 -10.30318 176.59021 -10.80994 176.59021 -11.33841 curveto
+176.59021 -11.86688 176.80017 -12.37364 177.17383 -12.74731 curveto
+177.5475 -13.12097 178.05426 -13.33093 178.58273 -13.33093 curveto
+179.1112 -13.33093 179.61797 -13.12097 179.99164 -12.74731 curveto
+180.3653 -12.37364 180.57526 -11.86688 180.57526 -11.33841 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath 180.57526 -11.33841 moveto
+180.57526 -10.80994 180.3653 -10.30318 179.99164 -9.9295 curveto
+179.61797 -9.55585 179.1112 -9.34589 178.58273 -9.34589 curveto
+178.05426 -9.34589 177.5475 -9.55585 177.17383 -9.9295 curveto
+176.80017 -10.30318 176.59021 -10.80994 176.59021 -11.33841 curveto
+176.59021 -11.86688 176.80017 -12.37364 177.17383 -12.74731 curveto
+177.5475 -13.12097 178.05426 -13.33093 178.58273 -13.33093 curveto
+179.1112 -13.33093 179.61797 -13.12097 179.99164 -12.74731 curveto
+180.3653 -12.37364 180.57526 -11.86688 180.57526 -11.33841 curveto closepath
+ stroke
+ 0 3.98505 dtransform truncate idtransform setlinewidth pop
+newpath 171.96844 -2.83453 moveto 0 0 rlineto stroke
+ 0 1.4944 dtransform truncate idtransform setlinewidth pop
+newpath 189.92113 -5.6692 moveto
+204.09436 8.50403 lineto
+212.59839 2.83482 lineto
+206.92918 -11.33841 lineto
+ closepath stroke
+ 1 1 1 setrgbcolor
+newpath 191.91365 -5.6692 moveto
+191.91365 -5.14073 191.70369 -4.63397 191.33003 -4.2603 curveto
+190.95636 -3.88664 190.4496 -3.67668 189.92113 -3.67668 curveto
+189.39265 -3.67668 188.8859 -3.88664 188.51222 -4.2603 curveto
+188.13857 -4.63397 187.9286 -5.14073 187.9286 -5.6692 curveto
+187.9286 -6.19768 188.13857 -6.70444 188.51222 -7.07811 curveto
+188.8859 -7.45177 189.39265 -7.66173 189.92113 -7.66173 curveto
+190.4496 -7.66173 190.95636 -7.45177 191.33003 -7.07811 curveto
+191.70369 -6.70444 191.91365 -6.19768 191.91365 -5.6692 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 191.91365 -5.6692 moveto
+191.91365 -5.14073 191.70369 -4.63397 191.33003 -4.2603 curveto
+190.95636 -3.88664 190.4496 -3.67668 189.92113 -3.67668 curveto
+189.39265 -3.67668 188.8859 -3.88664 188.51222 -4.2603 curveto
+188.13857 -4.63397 187.9286 -5.14073 187.9286 -5.6692 curveto
+187.9286 -6.19768 188.13857 -6.70444 188.51222 -7.07811 curveto
+188.8859 -7.45177 189.39265 -7.66173 189.92113 -7.66173 curveto
+190.4496 -7.66173 190.95636 -7.45177 191.33003 -7.07811 curveto
+191.70369 -6.70444 191.91365 -6.19768 191.91365 -5.6692 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath 206.08688 8.50403 moveto
+206.08688 9.0325 205.87692 9.53926 205.50327 9.91293 curveto
+205.1296 10.28659 204.62283 10.49655 204.09436 10.49655 curveto
+203.56589 10.49655 203.05913 10.28659 202.68546 9.91293 curveto
+202.3118 9.53926 202.10184 9.0325 202.10184 8.50403 curveto
+202.10184 7.97556 202.3118 7.4688 202.68546 7.09512 curveto
+203.05913 6.72147 203.56589 6.5115 204.09436 6.5115 curveto
+204.62283 6.5115 205.1296 6.72147 205.50327 7.09512 curveto
+205.87692 7.4688 206.08688 7.97556 206.08688 8.50403 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 206.08688 8.50403 moveto
+206.08688 9.0325 205.87692 9.53926 205.50327 9.91293 curveto
+205.1296 10.28659 204.62283 10.49655 204.09436 10.49655 curveto
+203.56589 10.49655 203.05913 10.28659 202.68546 9.91293 curveto
+202.3118 9.53926 202.10184 9.0325 202.10184 8.50403 curveto
+202.10184 7.97556 202.3118 7.4688 202.68546 7.09512 curveto
+203.05913 6.72147 203.56589 6.5115 204.09436 6.5115 curveto
+204.62283 6.5115 205.1296 6.72147 205.50327 7.09512 curveto
+205.87692 7.4688 206.08688 7.97556 206.08688 8.50403 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 208.9217 -11.33841 moveto
+208.9217 -10.80994 208.71175 -10.30318 208.33809 -9.9295 curveto
+207.96442 -9.55585 207.45766 -9.34589 206.92918 -9.34589 curveto
+206.40071 -9.34589 205.89395 -9.55585 205.52028 -9.9295 curveto
+205.14662 -10.30318 204.93666 -10.80994 204.93666 -11.33841 curveto
+204.93666 -11.86688 205.14662 -12.37364 205.52028 -12.74731 curveto
+205.89395 -13.12097 206.40071 -13.33093 206.92918 -13.33093 curveto
+207.45766 -13.33093 207.96442 -13.12097 208.33809 -12.74731 curveto
+208.71175 -12.37364 208.9217 -11.86688 208.9217 -11.33841 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath 208.9217 -11.33841 moveto
+208.9217 -10.80994 208.71175 -10.30318 208.33809 -9.9295 curveto
+207.96442 -9.55585 207.45766 -9.34589 206.92918 -9.34589 curveto
+206.40071 -9.34589 205.89395 -9.55585 205.52028 -9.9295 curveto
+205.14662 -10.30318 204.93666 -10.80994 204.93666 -11.33841 curveto
+204.93666 -11.86688 205.14662 -12.37364 205.52028 -12.74731 curveto
+205.89395 -13.12097 206.40071 -13.33093 206.92918 -13.33093 curveto
+207.45766 -13.33093 207.96442 -13.12097 208.33809 -12.74731 curveto
+208.71175 -12.37364 208.9217 -11.86688 208.9217 -11.33841 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath 214.59091 2.83482 moveto
+214.59091 3.3633 214.38095 3.87006 214.0073 4.24373 curveto
+213.63362 4.61739 213.12686 4.82735 212.59839 4.82735 curveto
+212.06992 4.82735 211.56316 4.61739 211.18948 4.24373 curveto
+210.81583 3.87006 210.60587 3.3633 210.60587 2.83482 curveto
+210.60587 2.30635 210.81583 1.79959 211.18948 1.42592 curveto
+211.56316 1.05226 212.06992 0.8423 212.59839 0.8423 curveto
+213.12686 0.8423 213.63362 1.05226 214.0073 1.42592 curveto
+214.38095 1.79959 214.59091 2.30635 214.59091 2.83482 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 214.59091 2.83482 moveto
+214.59091 3.3633 214.38095 3.87006 214.0073 4.24373 curveto
+213.63362 4.61739 213.12686 4.82735 212.59839 4.82735 curveto
+212.06992 4.82735 211.56316 4.61739 211.18948 4.24373 curveto
+210.81583 3.87006 210.60587 3.3633 210.60587 2.83482 curveto
+210.60587 2.30635 210.81583 1.79959 211.18948 1.42592 curveto
+211.56316 1.05226 212.06992 0.8423 212.59839 0.8423 curveto
+213.12686 0.8423 213.63362 1.05226 214.0073 1.42592 curveto
+214.38095 1.79959 214.59091 2.30635 214.59091 2.83482 curveto closepath stroke
+172.12958 -34.76685 moveto
+(n) cmmi10 9.96265 fshow
+180.87688 -34.76685 moveto
+(=) cmr10 9.96265 fshow
+191.39288 -34.76685 moveto
+(4) cmr10 9.96265 fshow
+showpage
+%%EOF
diff --git a/7-geom/7-geom2_pridani_bodu.eps b/7-geom/7-geom2_pridani_bodu.eps
new file mode 100644 (file)
index 0000000..e1eaa42
--- /dev/null
@@ -0,0 +1,405 @@
+%!PS
+%%BoundingBox: -49 -41 287 37 
+%%HiResBoundingBox: -48.93608 -40.43207 286.20425 36.75539 
+%%Creator: MetaPost 0.993
+%%CreationDate: 2009.11.14:2207
+%%Pages: 1
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 1.4944 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath -48.18887 31.18127 moveto
+-34.01566 34.01566 lineto
+-11.33841 28.34645 lineto
+5.6692 5.6692 lineto
+11.33841 -19.84242 lineto
+-22.67725 -36.85048 lineto
+-39.68486 -39.68486 lineto stroke
+ 1 1 1 setrgbcolor
+newpath -32.02313 34.01566 moveto
+-32.02313 34.54413 -32.2331 35.05089 -32.60675 35.42456 curveto
+-32.98042 35.79822 -33.48718 36.00818 -34.01566 36.00818 curveto
+-34.54413 36.00818 -35.05089 35.79822 -35.42456 35.42456 curveto
+-35.79822 35.05089 -36.00818 34.54413 -36.00818 34.01566 curveto
+-36.00818 33.48718 -35.79822 32.98042 -35.42456 32.60675 curveto
+-35.05089 32.2331 -34.54413 32.02313 -34.01566 32.02313 curveto
+-33.48718 32.02313 -32.98042 32.2331 -32.60675 32.60675 curveto
+-32.2331 32.98042 -32.02313 33.48718 -32.02313 34.01566 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath -32.02313 34.01566 moveto
+-32.02313 34.54413 -32.2331 35.05089 -32.60675 35.42456 curveto
+-32.98042 35.79822 -33.48718 36.00818 -34.01566 36.00818 curveto
+-34.54413 36.00818 -35.05089 35.79822 -35.42456 35.42456 curveto
+-35.79822 35.05089 -36.00818 34.54413 -36.00818 34.01566 curveto
+-36.00818 33.48718 -35.79822 32.98042 -35.42456 32.60675 curveto
+-35.05089 32.2331 -34.54413 32.02313 -34.01566 32.02313 curveto
+-33.48718 32.02313 -32.98042 32.2331 -32.60675 32.60675 curveto
+-32.2331 32.98042 -32.02313 33.48718 -32.02313 34.01566 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath -9.34589 28.34645 moveto
+-9.34589 28.87492 -9.55585 29.38168 -9.9295 29.75536 curveto
+-10.30318 30.12901 -10.80994 30.33897 -11.33841 30.33897 curveto
+-11.86688 30.33897 -12.37364 30.12901 -12.74731 29.75536 curveto
+-13.12097 29.38168 -13.33093 28.87492 -13.33093 28.34645 curveto
+-13.33093 27.81798 -13.12097 27.31122 -12.74731 26.93755 curveto
+-12.37364 26.56389 -11.86688 26.35393 -11.33841 26.35393 curveto
+-10.80994 26.35393 -10.30318 26.56389 -9.9295 26.93755 curveto
+-9.55585 27.31122 -9.34589 27.81798 -9.34589 28.34645 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath -9.34589 28.34645 moveto
+-9.34589 28.87492 -9.55585 29.38168 -9.9295 29.75536 curveto
+-10.30318 30.12901 -10.80994 30.33897 -11.33841 30.33897 curveto
+-11.86688 30.33897 -12.37364 30.12901 -12.74731 29.75536 curveto
+-13.12097 29.38168 -13.33093 28.87492 -13.33093 28.34645 curveto
+-13.33093 27.81798 -13.12097 27.31122 -12.74731 26.93755 curveto
+-12.37364 26.56389 -11.86688 26.35393 -11.33841 26.35393 curveto
+-10.80994 26.35393 -10.30318 26.56389 -9.9295 26.93755 curveto
+-9.55585 27.31122 -9.34589 27.81798 -9.34589 28.34645 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 7.66173 5.6692 moveto
+7.66173 6.19768 7.45177 6.70444 7.07811 7.07811 curveto
+6.70444 7.45177 6.19768 7.66173 5.6692 7.66173 curveto
+5.14073 7.66173 4.63397 7.45177 4.2603 7.07811 curveto
+3.88664 6.70444 3.67668 6.19768 3.67668 5.6692 curveto
+3.67668 5.14073 3.88664 4.63397 4.2603 4.2603 curveto
+4.63397 3.88664 5.14073 3.67668 5.6692 3.67668 curveto
+6.19768 3.67668 6.70444 3.88664 7.07811 4.2603 curveto
+7.45177 4.63397 7.66173 5.14073 7.66173 5.6692 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 7.66173 5.6692 moveto
+7.66173 6.19768 7.45177 6.70444 7.07811 7.07811 curveto
+6.70444 7.45177 6.19768 7.66173 5.6692 7.66173 curveto
+5.14073 7.66173 4.63397 7.45177 4.2603 7.07811 curveto
+3.88664 6.70444 3.67668 6.19768 3.67668 5.6692 curveto
+3.67668 5.14073 3.88664 4.63397 4.2603 4.2603 curveto
+4.63397 3.88664 5.14073 3.67668 5.6692 3.67668 curveto
+6.19768 3.67668 6.70444 3.88664 7.07811 4.2603 curveto
+7.45177 4.63397 7.66173 5.14073 7.66173 5.6692 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 13.33093 -19.84242 moveto
+13.33093 -19.31395 13.12097 -18.80719 12.74731 -18.43352 curveto
+12.37364 -18.05986 11.86688 -17.8499 11.33841 -17.8499 curveto
+10.80994 -17.8499 10.30318 -18.05986 9.9295 -18.43352 curveto
+9.55585 -18.80719 9.34589 -19.31395 9.34589 -19.84242 curveto
+9.34589 -20.3709 9.55585 -20.87766 9.9295 -21.25133 curveto
+10.30318 -21.62498 10.80994 -21.83495 11.33841 -21.83495 curveto
+11.86688 -21.83495 12.37364 -21.62498 12.74731 -21.25133 curveto
+13.12097 -20.87766 13.33093 -20.3709 13.33093 -19.84242 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 13.33093 -19.84242 moveto
+13.33093 -19.31395 13.12097 -18.80719 12.74731 -18.43352 curveto
+12.37364 -18.05986 11.86688 -17.8499 11.33841 -17.8499 curveto
+10.80994 -17.8499 10.30318 -18.05986 9.9295 -18.43352 curveto
+9.55585 -18.80719 9.34589 -19.31395 9.34589 -19.84242 curveto
+9.34589 -20.3709 9.55585 -20.87766 9.9295 -21.25133 curveto
+10.30318 -21.62498 10.80994 -21.83495 11.33841 -21.83495 curveto
+11.86688 -21.83495 12.37364 -21.62498 12.74731 -21.25133 curveto
+13.12097 -20.87766 13.33093 -20.3709 13.33093 -19.84242 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath -20.68472 -36.85048 moveto
+-20.68472 -36.322 -20.89468 -35.81525 -21.26834 -35.44157 curveto
+-21.64201 -35.06792 -22.14877 -34.85796 -22.67725 -34.85796 curveto
+-23.20572 -34.85796 -23.71248 -35.06792 -24.08615 -35.44157 curveto
+-24.45981 -35.81525 -24.66977 -36.322 -24.66977 -36.85048 curveto
+-24.66977 -37.37895 -24.45981 -37.88571 -24.08615 -38.25938 curveto
+-23.71248 -38.63304 -23.20572 -38.843 -22.67725 -38.843 curveto
+-22.14877 -38.843 -21.64201 -38.63304 -21.26834 -38.25938 curveto
+-20.89468 -37.88571 -20.68472 -37.37895 -20.68472 -36.85048 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath -20.68472 -36.85048 moveto
+-20.68472 -36.322 -20.89468 -35.81525 -21.26834 -35.44157 curveto
+-21.64201 -35.06792 -22.14877 -34.85796 -22.67725 -34.85796 curveto
+-23.20572 -34.85796 -23.71248 -35.06792 -24.08615 -35.44157 curveto
+-24.45981 -35.81525 -24.66977 -36.322 -24.66977 -36.85048 curveto
+-24.66977 -37.37895 -24.45981 -37.88571 -24.08615 -38.25938 curveto
+-23.71248 -38.63304 -23.20572 -38.843 -22.67725 -38.843 curveto
+-22.14877 -38.843 -21.64201 -38.63304 -21.26834 -38.25938 curveto
+-20.89468 -37.88571 -20.68472 -37.37895 -20.68472 -36.85048 curveto closepath
+ stroke
+ 0 3.98505 dtransform truncate idtransform setlinewidth pop
+newpath -31.18127 19.84242 moveto 0 0 rlineto stroke
+newpath -17.00804 2.83482 moveto 0 0 rlineto stroke
+newpath -36.85048 -17.00804 moveto 0 0 rlineto stroke
+newpath 28.34645 2.83482 moveto 0 0 rlineto stroke
+ 0 0.59776 dtransform truncate idtransform setlinewidth pop
+newpath 42.51968 0 moveto
+70.86613 0 lineto stroke
+newpath 67.17056 -1.53079 moveto
+70.86613 0 lineto
+67.17056 1.53079 lineto
+ closepath
+gsave fill grestore stroke
+ 0 1.4944 dtransform truncate idtransform setlinewidth pop
+newpath 79.37016 31.18127 moveto
+93.54338 34.01566 lineto
+116.22063 28.34645 lineto
+133.22824 5.6692 lineto
+155.90549 2.83482 lineto
+138.89745 -19.84242 lineto
+104.88179 -36.85048 lineto
+87.87418 -39.68486 lineto stroke
+ 0 0.59776 dtransform truncate idtransform setlinewidth pop
+ [3 3 ] 0 setdash
+newpath 155.90549 2.83482 moveto
+116.22063 28.34645 lineto stroke
+ 1 1 1 setrgbcolor
+newpath 95.5359 34.01566 moveto
+95.5359 34.54413 95.32594 35.05089 94.95229 35.42456 curveto
+94.57861 35.79822 94.07185 36.00818 93.54338 36.00818 curveto
+93.01491 36.00818 92.50815 35.79822 92.13448 35.42456 curveto
+91.76082 35.05089 91.55086 34.54413 91.55086 34.01566 curveto
+91.55086 33.48718 91.76082 32.98042 92.13448 32.60675 curveto
+92.50815 32.2331 93.01491 32.02313 93.54338 32.02313 curveto
+94.07185 32.02313 94.57861 32.2331 94.95229 32.60675 curveto
+95.32594 32.98042 95.5359 33.48718 95.5359 34.01566 curveto closepath fill
+ 0 0 0 setrgbcolor 0 1.4944 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash
+newpath 95.5359 34.01566 moveto
+95.5359 34.54413 95.32594 35.05089 94.95229 35.42456 curveto
+94.57861 35.79822 94.07185 36.00818 93.54338 36.00818 curveto
+93.01491 36.00818 92.50815 35.79822 92.13448 35.42456 curveto
+91.76082 35.05089 91.55086 34.54413 91.55086 34.01566 curveto
+91.55086 33.48718 91.76082 32.98042 92.13448 32.60675 curveto
+92.50815 32.2331 93.01491 32.02313 93.54338 32.02313 curveto
+94.07185 32.02313 94.57861 32.2331 94.95229 32.60675 curveto
+95.32594 32.98042 95.5359 33.48718 95.5359 34.01566 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 118.21315 28.34645 moveto
+118.21315 28.87492 118.00319 29.38168 117.62953 29.75536 curveto
+117.25586 30.12901 116.7491 30.33897 116.22063 30.33897 curveto
+115.69215 30.33897 115.1854 30.12901 114.81172 29.75536 curveto
+114.43806 29.38168 114.2281 28.87492 114.2281 28.34645 curveto
+114.2281 27.81798 114.43806 27.31122 114.81172 26.93755 curveto
+115.1854 26.56389 115.69215 26.35393 116.22063 26.35393 curveto
+116.7491 26.35393 117.25586 26.56389 117.62953 26.93755 curveto
+118.00319 27.31122 118.21315 27.81798 118.21315 28.34645 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 118.21315 28.34645 moveto
+118.21315 28.87492 118.00319 29.38168 117.62953 29.75536 curveto
+117.25586 30.12901 116.7491 30.33897 116.22063 30.33897 curveto
+115.69215 30.33897 115.1854 30.12901 114.81172 29.75536 curveto
+114.43806 29.38168 114.2281 28.87492 114.2281 28.34645 curveto
+114.2281 27.81798 114.43806 27.31122 114.81172 26.93755 curveto
+115.1854 26.56389 115.69215 26.35393 116.22063 26.35393 curveto
+116.7491 26.35393 117.25586 26.56389 117.62953 26.93755 curveto
+118.00319 27.31122 118.21315 27.81798 118.21315 28.34645 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath 135.22076 5.6692 moveto
+135.22076 6.19768 135.0108 6.70444 134.63715 7.07811 curveto
+134.26347 7.45177 133.75671 7.66173 133.22824 7.66173 curveto
+132.69977 7.66173 132.19301 7.45177 131.81934 7.07811 curveto
+131.44568 6.70444 131.23572 6.19768 131.23572 5.6692 curveto
+131.23572 5.14073 131.44568 4.63397 131.81934 4.2603 curveto
+132.19301 3.88664 132.69977 3.67668 133.22824 3.67668 curveto
+133.75671 3.67668 134.26347 3.88664 134.63715 4.2603 curveto
+135.0108 4.63397 135.22076 5.14073 135.22076 5.6692 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 135.22076 5.6692 moveto
+135.22076 6.19768 135.0108 6.70444 134.63715 7.07811 curveto
+134.26347 7.45177 133.75671 7.66173 133.22824 7.66173 curveto
+132.69977 7.66173 132.19301 7.45177 131.81934 7.07811 curveto
+131.44568 6.70444 131.23572 6.19768 131.23572 5.6692 curveto
+131.23572 5.14073 131.44568 4.63397 131.81934 4.2603 curveto
+132.19301 3.88664 132.69977 3.67668 133.22824 3.67668 curveto
+133.75671 3.67668 134.26347 3.88664 134.63715 4.2603 curveto
+135.0108 4.63397 135.22076 5.14073 135.22076 5.6692 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 140.88997 -19.84242 moveto
+140.88997 -19.31395 140.68001 -18.80719 140.30635 -18.43352 curveto
+139.93268 -18.05986 139.42592 -17.8499 138.89745 -17.8499 curveto
+138.36897 -17.8499 137.86221 -18.05986 137.48854 -18.43352 curveto
+137.11488 -18.80719 136.90492 -19.31395 136.90492 -19.84242 curveto
+136.90492 -20.3709 137.11488 -20.87766 137.48854 -21.25133 curveto
+137.86221 -21.62498 138.36897 -21.83495 138.89745 -21.83495 curveto
+139.42592 -21.83495 139.93268 -21.62498 140.30635 -21.25133 curveto
+140.68001 -20.87766 140.88997 -20.3709 140.88997 -19.84242 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath 140.88997 -19.84242 moveto
+140.88997 -19.31395 140.68001 -18.80719 140.30635 -18.43352 curveto
+139.93268 -18.05986 139.42592 -17.8499 138.89745 -17.8499 curveto
+138.36897 -17.8499 137.86221 -18.05986 137.48854 -18.43352 curveto
+137.11488 -18.80719 136.90492 -19.31395 136.90492 -19.84242 curveto
+136.90492 -20.3709 137.11488 -20.87766 137.48854 -21.25133 curveto
+137.86221 -21.62498 138.36897 -21.83495 138.89745 -21.83495 curveto
+139.42592 -21.83495 139.93268 -21.62498 140.30635 -21.25133 curveto
+140.68001 -20.87766 140.88997 -20.3709 140.88997 -19.84242 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath 106.87431 -36.85048 moveto
+106.87431 -36.322 106.66435 -35.81525 106.2907 -35.44157 curveto
+105.91702 -35.06792 105.41026 -34.85796 104.88179 -34.85796 curveto
+104.35332 -34.85796 103.84656 -35.06792 103.47289 -35.44157 curveto
+103.09923 -35.81525 102.88927 -36.322 102.88927 -36.85048 curveto
+102.88927 -37.37895 103.09923 -37.88571 103.47289 -38.25938 curveto
+103.84656 -38.63304 104.35332 -38.843 104.88179 -38.843 curveto
+105.41026 -38.843 105.91702 -38.63304 106.2907 -38.25938 curveto
+106.66435 -37.88571 106.87431 -37.37895 106.87431 -36.85048 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath 106.87431 -36.85048 moveto
+106.87431 -36.322 106.66435 -35.81525 106.2907 -35.44157 curveto
+105.91702 -35.06792 105.41026 -34.85796 104.88179 -34.85796 curveto
+104.35332 -34.85796 103.84656 -35.06792 103.47289 -35.44157 curveto
+103.09923 -35.81525 102.88927 -36.322 102.88927 -36.85048 curveto
+102.88927 -37.37895 103.09923 -37.88571 103.47289 -38.25938 curveto
+103.84656 -38.63304 104.35332 -38.843 104.88179 -38.843 curveto
+105.41026 -38.843 105.91702 -38.63304 106.2907 -38.25938 curveto
+106.66435 -37.88571 106.87431 -37.37895 106.87431 -36.85048 curveto closepath
+ stroke
+ 0 3.98505 dtransform truncate idtransform setlinewidth pop
+newpath 96.37776 19.84242 moveto 0 0 rlineto stroke
+newpath 110.551 2.83482 moveto 0 0 rlineto stroke
+newpath 90.70856 -17.00804 moveto 0 0 rlineto stroke
+ 1 1 1 setrgbcolor
+newpath 157.89801 2.83482 moveto
+157.89801 3.3633 157.68805 3.87006 157.31439 4.24373 curveto
+156.94072 4.61739 156.43396 4.82735 155.90549 4.82735 curveto
+155.37701 4.82735 154.87025 4.61739 154.49658 4.24373 curveto
+154.12292 3.87006 153.91296 3.3633 153.91296 2.83482 curveto
+153.91296 2.30635 154.12292 1.79959 154.49658 1.42592 curveto
+154.87025 1.05226 155.37701 0.8423 155.90549 0.8423 curveto
+156.43396 0.8423 156.94072 1.05226 157.31439 1.42592 curveto
+157.68805 1.79959 157.89801 2.30635 157.89801 2.83482 curveto closepath fill
+ 0 0 0 setrgbcolor 0 1.4944 dtransform truncate idtransform setlinewidth pop
+newpath 157.89801 2.83482 moveto
+157.89801 3.3633 157.68805 3.87006 157.31439 4.24373 curveto
+156.94072 4.61739 156.43396 4.82735 155.90549 4.82735 curveto
+155.37701 4.82735 154.87025 4.61739 154.49658 4.24373 curveto
+154.12292 3.87006 153.91296 3.3633 153.91296 2.83482 curveto
+153.91296 2.30635 154.12292 1.79959 154.49658 1.42592 curveto
+154.87025 1.05226 155.37701 0.8423 155.90549 0.8423 curveto
+156.43396 0.8423 156.94072 1.05226 157.31439 1.42592 curveto
+157.68805 1.79959 157.89801 2.30635 157.89801 2.83482 curveto closepath stroke
+ 0 0.59776 dtransform truncate idtransform setlinewidth pop
+newpath 170.07872 0 moveto
+198.42517 0 lineto stroke
+newpath 194.7296 -1.53079 moveto
+198.42517 0 lineto
+194.7296 1.53079 lineto
+ closepath
+gsave fill grestore stroke
+ 0 1.4944 dtransform truncate idtransform setlinewidth pop
+newpath 206.9292 31.18127 moveto
+221.10242 34.01566 lineto
+243.77966 28.34645 lineto
+283.46452 2.83482 lineto
+266.45648 -19.84242 lineto
+232.44083 -36.85048 lineto
+215.43321 -39.68486 lineto stroke
+ 1 1 1 setrgbcolor
+newpath 223.09494 34.01566 moveto
+223.09494 34.54413 222.88498 35.05089 222.51132 35.42456 curveto
+222.13765 35.79822 221.63089 36.00818 221.10242 36.00818 curveto
+220.57394 36.00818 220.06718 35.79822 219.69351 35.42456 curveto
+219.31985 35.05089 219.1099 34.54413 219.1099 34.01566 curveto
+219.1099 33.48718 219.31985 32.98042 219.69351 32.60675 curveto
+220.06718 32.2331 220.57394 32.02313 221.10242 32.02313 curveto
+221.63089 32.02313 222.13765 32.2331 222.51132 32.60675 curveto
+222.88498 32.98042 223.09494 33.48718 223.09494 34.01566 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 223.09494 34.01566 moveto
+223.09494 34.54413 222.88498 35.05089 222.51132 35.42456 curveto
+222.13765 35.79822 221.63089 36.00818 221.10242 36.00818 curveto
+220.57394 36.00818 220.06718 35.79822 219.69351 35.42456 curveto
+219.31985 35.05089 219.1099 34.54413 219.1099 34.01566 curveto
+219.1099 33.48718 219.31985 32.98042 219.69351 32.60675 curveto
+220.06718 32.2331 220.57394 32.02313 221.10242 32.02313 curveto
+221.63089 32.02313 222.13765 32.2331 222.51132 32.60675 curveto
+222.88498 32.98042 223.09494 33.48718 223.09494 34.01566 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath 245.77219 28.34645 moveto
+245.77219 28.87492 245.56223 29.38168 245.18857 29.75536 curveto
+244.8149 30.12901 244.30814 30.33897 243.77966 30.33897 curveto
+243.25119 30.33897 242.74443 30.12901 242.37076 29.75536 curveto
+241.9971 29.38168 241.78714 28.87492 241.78714 28.34645 curveto
+241.78714 27.81798 241.9971 27.31122 242.37076 26.93755 curveto
+242.74443 26.56389 243.25119 26.35393 243.77966 26.35393 curveto
+244.30814 26.35393 244.8149 26.56389 245.18857 26.93755 curveto
+245.56223 27.31122 245.77219 27.81798 245.77219 28.34645 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 245.77219 28.34645 moveto
+245.77219 28.87492 245.56223 29.38168 245.18857 29.75536 curveto
+244.8149 30.12901 244.30814 30.33897 243.77966 30.33897 curveto
+243.25119 30.33897 242.74443 30.12901 242.37076 29.75536 curveto
+241.9971 29.38168 241.78714 28.87492 241.78714 28.34645 curveto
+241.78714 27.81798 241.9971 27.31122 242.37076 26.93755 curveto
+242.74443 26.56389 243.25119 26.35393 243.77966 26.35393 curveto
+244.30814 26.35393 244.8149 26.56389 245.18857 26.93755 curveto
+245.56223 27.31122 245.77219 27.81798 245.77219 28.34645 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath 268.449 -19.84242 moveto
+268.449 -19.31395 268.23904 -18.80719 267.86539 -18.43352 curveto
+267.49171 -18.05986 266.98495 -17.8499 266.45648 -17.8499 curveto
+265.92801 -17.8499 265.42125 -18.05986 265.04758 -18.43352 curveto
+264.67392 -18.80719 264.46396 -19.31395 264.46396 -19.84242 curveto
+264.46396 -20.3709 264.67392 -20.87766 265.04758 -21.25133 curveto
+265.42125 -21.62498 265.92801 -21.83495 266.45648 -21.83495 curveto
+266.98495 -21.83495 267.49171 -21.62498 267.86539 -21.25133 curveto
+268.23904 -20.87766 268.449 -20.3709 268.449 -19.84242 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 268.449 -19.84242 moveto
+268.449 -19.31395 268.23904 -18.80719 267.86539 -18.43352 curveto
+267.49171 -18.05986 266.98495 -17.8499 266.45648 -17.8499 curveto
+265.92801 -17.8499 265.42125 -18.05986 265.04758 -18.43352 curveto
+264.67392 -18.80719 264.46396 -19.31395 264.46396 -19.84242 curveto
+264.46396 -20.3709 264.67392 -20.87766 265.04758 -21.25133 curveto
+265.42125 -21.62498 265.92801 -21.83495 266.45648 -21.83495 curveto
+266.98495 -21.83495 267.49171 -21.62498 267.86539 -21.25133 curveto
+268.23904 -20.87766 268.449 -20.3709 268.449 -19.84242 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 234.43335 -36.85048 moveto
+234.43335 -36.322 234.22339 -35.81525 233.84973 -35.44157 curveto
+233.47606 -35.06792 232.9693 -34.85796 232.44083 -34.85796 curveto
+231.91235 -34.85796 231.4056 -35.06792 231.03192 -35.44157 curveto
+230.65826 -35.81525 230.4483 -36.322 230.4483 -36.85048 curveto
+230.4483 -37.37895 230.65826 -37.88571 231.03192 -38.25938 curveto
+231.4056 -38.63304 231.91235 -38.843 232.44083 -38.843 curveto
+232.9693 -38.843 233.47606 -38.63304 233.84973 -38.25938 curveto
+234.22339 -37.88571 234.43335 -37.37895 234.43335 -36.85048 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath 234.43335 -36.85048 moveto
+234.43335 -36.322 234.22339 -35.81525 233.84973 -35.44157 curveto
+233.47606 -35.06792 232.9693 -34.85796 232.44083 -34.85796 curveto
+231.91235 -34.85796 231.4056 -35.06792 231.03192 -35.44157 curveto
+230.65826 -35.81525 230.4483 -36.322 230.4483 -36.85048 curveto
+230.4483 -37.37895 230.65826 -37.88571 231.03192 -38.25938 curveto
+231.4056 -38.63304 231.91235 -38.843 232.44083 -38.843 curveto
+232.9693 -38.843 233.47606 -38.63304 233.84973 -38.25938 curveto
+234.22339 -37.88571 234.43335 -37.37895 234.43335 -36.85048 curveto closepath
+ stroke
+ 0 3.98505 dtransform truncate idtransform setlinewidth pop
+newpath 223.9368 19.84242 moveto 0 0 rlineto stroke
+newpath 238.11003 2.83482 moveto 0 0 rlineto stroke
+newpath 218.2676 -17.00804 moveto 0 0 rlineto stroke
+newpath 260.78728 5.6692 moveto 0 0 rlineto stroke
+ 1 1 1 setrgbcolor
+newpath 285.45705 2.83482 moveto
+285.45705 3.3633 285.24709 3.87006 284.87343 4.24373 curveto
+284.49976 4.61739 283.993 4.82735 283.46452 4.82735 curveto
+282.93605 4.82735 282.42929 4.61739 282.05562 4.24373 curveto
+281.68196 3.87006 281.472 3.3633 281.472 2.83482 curveto
+281.472 2.30635 281.68196 1.79959 282.05562 1.42592 curveto
+282.42929 1.05226 282.93605 0.8423 283.46452 0.8423 curveto
+283.993 0.8423 284.49976 1.05226 284.87343 1.42592 curveto
+285.24709 1.79959 285.45705 2.30635 285.45705 2.83482 curveto closepath fill
+ 0 0 0 setrgbcolor 0 1.4944 dtransform truncate idtransform setlinewidth pop
+newpath 285.45705 2.83482 moveto
+285.45705 3.3633 285.24709 3.87006 284.87343 4.24373 curveto
+284.49976 4.61739 283.993 4.82735 283.46452 4.82735 curveto
+282.93605 4.82735 282.42929 4.61739 282.05562 4.24373 curveto
+281.68196 3.87006 281.472 3.3633 281.472 2.83482 curveto
+281.472 2.30635 281.68196 1.79959 282.05562 1.42592 curveto
+282.42929 1.05226 282.93605 0.8423 283.46452 0.8423 curveto
+283.993 0.8423 284.49976 1.05226 284.87343 1.42592 curveto
+285.24709 1.79959 285.45705 2.30635 285.45705 2.83482 curveto closepath stroke
+showpage
+%%EOF
diff --git a/7-geom/7-geom3_obalky.eps b/7-geom/7-geom3_obalky.eps
new file mode 100644 (file)
index 0000000..29c5841
--- /dev/null
@@ -0,0 +1,353 @@
+%!PS
+%%BoundingBox: -211 -75 37 66 
+%%HiResBoundingBox: -210.87447 -74.3254 36.12636 65.82135 
+%%Creator: MetaPost 0.993
+%%CreationDate: 2009.11.14:2207
+%%Pages: 1
+%*Font: cmmi10 9.96265 9.96265 4c:88
+%*Font: csr10 9.96265 9.96265 61:d13640000000000000000000000000008008
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 1.4944 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath -198.42516 0 moveto
+-196.22427 1.83595 lineto
+-194.97641 4.51978 lineto
+-192.45743 6.07361 lineto
+-191.20956 8.75743 lineto
+-188.69058 10.31126 lineto
+-187.44308 12.99472 lineto
+-184.9241 14.54855 lineto
+-183.6762 17.23238 lineto
+-181.15721 18.78621 lineto
+-179.90935 21.47003 lineto
+-177.39037 23.02391 lineto
+-176.14287 25.70732 lineto
+-173.05327 26.06804 lineto
+-170.69714 27.8598 lineto
+-167.74458 28.05884 lineto
+-165.38846 29.85059 lineto
+-162.43585 30.04962 lineto
+-160.07974 31.84138 lineto
+-157.12717 32.04042 lineto
+-154.77104 33.83217 lineto
+-151.81845 34.0312 lineto
+-149.46236 35.82298 lineto
+-146.50977 36.022 lineto
+-144.15364 37.81378 lineto
+-141.20107 38.01282 lineto
+-138.84564 39.80432 lineto
+-135.89235 40.00359 lineto
+-133.53696 41.79509 lineto
+-130.58366 41.9944 lineto
+-128.00194 43.27495 lineto
+-125.07797 42.81544 lineto
+-122.38383 44.04106 lineto
+-119.45988 43.58156 lineto
+-116.76668 44.80704 lineto
+-113.84271 44.34753 lineto
+-111.14854 45.57315 lineto
+-108.22461 45.11365 lineto
+-105.53046 46.33926 lineto
+-102.60745 45.87962 lineto
+-99.91328 47.10524 lineto
+-96.98935 46.64574 lineto
+-94.29518 47.87135 lineto
+-91.37218 47.41171 lineto
+-88.67802 48.63733 lineto
+-85.75409 48.17783 lineto
+-83.05992 49.40344 lineto
+-80.13692 48.9438 lineto
+-77.44275 50.16942 lineto
+-74.5188 49.70992 lineto
+-71.82466 50.93553 lineto
+-68.90166 50.47589 lineto
+-66.08652 51.09164 lineto
+-63.45705 49.73343 lineto
+-60.51411 50.0468 lineto
+-57.88464 48.68858 lineto
+-54.94176 49.00195 lineto
+-52.3116 47.6436 lineto
+-49.36871 47.95702 lineto
+-46.73921 46.59875 lineto
+-43.79633 46.91217 lineto
+-41.16685 45.55396 lineto
+-38.22395 45.86732 lineto
+-35.59448 44.50911 lineto
+-32.65157 44.82248 lineto
+-30.02141 43.46413 lineto
+-27.07852 43.77754 lineto
+-24.44905 42.41928 lineto
+-21.53252 42.1926 lineto
+-19.77507 39.81157 lineto
+-16.99716 38.79109 lineto
+-15.23918 36.40968 lineto
+-12.46129 35.38922 lineto
+-10.70383 33.00818 lineto
+-7.9254 31.98734 lineto
+-6.16795 29.60628 lineto
+-3.39006 28.58583 lineto
+-1.6321 26.20439 lineto
+1.1458 25.18396 lineto
+2.90327 22.80289 lineto
+5.68169 21.78204 lineto
+7.43913 19.40102 lineto
+10.21756 18.38017 lineto
+11.52235 15.8291 lineto
+13.66718 13.78975 lineto
+14.33527 10.90654 lineto
+16.48009 8.86714 lineto
+17.14818 5.98398 lineto
+19.29298 3.94458 lineto
+19.96109 1.06142 lineto
+22.1059 -0.97798 lineto
+22.67725 -2.83482 lineto stroke
+ [3 3 ] 0 setdash
+newpath 22.67725 -2.83482 moveto
+-45.35449 -53.85808 lineto
+-113.3858 -59.52773 lineto
+-170.0787 -42.51968 lineto
+-198.42516 0 lineto stroke
+ 1 1 1 setrgbcolor
+newpath -196.43263 0 moveto
+-196.43263 0.52847 -196.6426 1.03523 -197.01625 1.4089 curveto
+-197.38992 1.78256 -197.89668 1.99252 -198.42516 1.99252 curveto
+-198.95363 1.99252 -199.46039 1.78256 -199.83406 1.4089 curveto
+-200.20772 1.03523 -200.41768 0.52847 -200.41768 0 curveto
+-200.41768 -0.52847 -200.20772 -1.03523 -199.83406 -1.4089 curveto
+-199.46039 -1.78256 -198.95363 -1.99252 -198.42516 -1.99252 curveto
+-197.89668 -1.99252 -197.38992 -1.78256 -197.01625 -1.4089 curveto
+-196.6426 -1.03523 -196.43263 -0.52847 -196.43263 0 curveto closepath fill
+ 0 0 0 setrgbcolor [] 0 setdash
+newpath -196.43263 0 moveto
+-196.43263 0.52847 -196.6426 1.03523 -197.01625 1.4089 curveto
+-197.38992 1.78256 -197.89668 1.99252 -198.42516 1.99252 curveto
+-198.95363 1.99252 -199.46039 1.78256 -199.83406 1.4089 curveto
+-200.20772 1.03523 -200.41768 0.52847 -200.41768 0 curveto
+-200.41768 -0.52847 -200.20772 -1.03523 -199.83406 -1.4089 curveto
+-199.46039 -1.78256 -198.95363 -1.99252 -198.42516 -1.99252 curveto
+-197.89668 -1.99252 -197.38992 -1.78256 -197.01625 -1.4089 curveto
+-196.6426 -1.03523 -196.43263 -0.52847 -196.43263 0 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath -173.75539 25.51163 moveto
+-173.75539 26.0401 -173.96535 26.54686 -174.339 26.92053 curveto
+-174.71268 27.29419 -175.21944 27.50415 -175.74791 27.50415 curveto
+-176.27638 27.50415 -176.78314 27.29419 -177.15681 26.92053 curveto
+-177.53047 26.54686 -177.74043 26.0401 -177.74043 25.51163 curveto
+-177.74043 24.98315 -177.53047 24.4764 -177.15681 24.10272 curveto
+-176.78314 23.72906 -176.27638 23.5191 -175.74791 23.5191 curveto
+-175.21944 23.5191 -174.71268 23.72906 -174.339 24.10272 curveto
+-173.96535 24.4764 -173.75539 24.98315 -173.75539 25.51163 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath -173.75539 25.51163 moveto
+-173.75539 26.0401 -173.96535 26.54686 -174.339 26.92053 curveto
+-174.71268 27.29419 -175.21944 27.50415 -175.74791 27.50415 curveto
+-176.27638 27.50415 -176.78314 27.29419 -177.15681 26.92053 curveto
+-177.53047 26.54686 -177.74043 26.0401 -177.74043 25.51163 curveto
+-177.74043 24.98315 -177.53047 24.4764 -177.15681 24.10272 curveto
+-176.78314 23.72906 -176.27638 23.5191 -175.74791 23.5191 curveto
+-175.21944 23.5191 -174.71268 23.72906 -174.339 24.10272 curveto
+-173.96535 24.4764 -173.75539 24.98315 -173.75539 25.51163 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath -128.40132 42.51968 moveto
+-128.40132 43.04816 -128.61128 43.55492 -128.98494 43.92859 curveto
+-129.35861 44.30225 -129.86537 44.5122 -130.39384 44.5122 curveto
+-130.92232 44.5122 -131.42908 44.30225 -131.80275 43.92859 curveto
+-132.1764 43.55492 -132.38637 43.04816 -132.38637 42.51968 curveto
+-132.38637 41.99121 -132.1764 41.48445 -131.80275 41.11078 curveto
+-131.42908 40.73712 -130.92232 40.52716 -130.39384 40.52716 curveto
+-129.86537 40.52716 -129.35861 40.73712 -128.98494 41.11078 curveto
+-128.61128 41.48445 -128.40132 41.99121 -128.40132 42.51968 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath -128.40132 42.51968 moveto
+-128.40132 43.04816 -128.61128 43.55492 -128.98494 43.92859 curveto
+-129.35861 44.30225 -129.86537 44.5122 -130.39384 44.5122 curveto
+-130.92232 44.5122 -131.42908 44.30225 -131.80275 43.92859 curveto
+-132.1764 43.55492 -132.38637 43.04816 -132.38637 42.51968 curveto
+-132.38637 41.99121 -132.1764 41.48445 -131.80275 41.11078 curveto
+-131.42908 40.73712 -130.92232 40.52716 -130.39384 40.52716 curveto
+-129.86537 40.52716 -129.35861 40.73712 -128.98494 41.11078 curveto
+-128.61128 41.48445 -128.40132 41.99121 -128.40132 42.51968 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath -66.03879 51.0237 moveto
+-66.03879 51.55217 -66.24875 52.05893 -66.6224 52.4326 curveto
+-66.99608 52.80626 -67.50284 53.01622 -68.03131 53.01622 curveto
+-68.55978 53.01622 -69.06654 52.80626 -69.44022 52.4326 curveto
+-69.81387 52.05893 -70.02383 51.55217 -70.02383 51.0237 curveto
+-70.02383 50.49522 -69.81387 49.98846 -69.44022 49.61479 curveto
+-69.06654 49.24113 -68.55978 49.03117 -68.03131 49.03117 curveto
+-67.50284 49.03117 -66.99608 49.24113 -66.6224 49.61479 curveto
+-66.24875 49.98846 -66.03879 50.49522 -66.03879 51.0237 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath -66.03879 51.0237 moveto
+-66.03879 51.55217 -66.24875 52.05893 -66.6224 52.4326 curveto
+-66.99608 52.80626 -67.50284 53.01622 -68.03131 53.01622 curveto
+-68.55978 53.01622 -69.06654 52.80626 -69.44022 52.4326 curveto
+-69.81387 52.05893 -70.02383 51.55217 -70.02383 51.0237 curveto
+-70.02383 50.49522 -69.81387 49.98846 -69.44022 49.61479 curveto
+-69.06654 49.24113 -68.55978 49.03117 -68.03131 49.03117 curveto
+-67.50284 49.03117 -66.99608 49.24113 -66.6224 49.61479 curveto
+-66.24875 49.98846 -66.03879 50.49522 -66.03879 51.0237 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath -20.68472 42.51968 moveto
+-20.68472 43.04816 -20.89468 43.55492 -21.26834 43.92859 curveto
+-21.64201 44.30225 -22.14877 44.5122 -22.67725 44.5122 curveto
+-23.20572 44.5122 -23.71248 44.30225 -24.08615 43.92859 curveto
+-24.45981 43.55492 -24.66977 43.04816 -24.66977 42.51968 curveto
+-24.66977 41.99121 -24.45981 41.48445 -24.08615 41.11078 curveto
+-23.71248 40.73712 -23.20572 40.52716 -22.67725 40.52716 curveto
+-22.14877 40.52716 -21.64201 40.73712 -21.26834 41.11078 curveto
+-20.89468 41.48445 -20.68472 41.99121 -20.68472 42.51968 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath -20.68472 42.51968 moveto
+-20.68472 43.04816 -20.89468 43.55492 -21.26834 43.92859 curveto
+-21.64201 44.30225 -22.14877 44.5122 -22.67725 44.5122 curveto
+-23.20572 44.5122 -23.71248 44.30225 -24.08615 43.92859 curveto
+-24.45981 43.55492 -24.66977 43.04816 -24.66977 42.51968 curveto
+-24.66977 41.99121 -24.45981 41.48445 -24.08615 41.11078 curveto
+-23.71248 40.73712 -23.20572 40.52716 -22.67725 40.52716 curveto
+-22.14877 40.52716 -21.64201 40.73712 -21.26834 41.11078 curveto
+-20.89468 41.48445 -20.68472 41.99121 -20.68472 42.51968 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath 13.33093 17.00804 moveto
+13.33093 17.53651 13.12097 18.04327 12.74731 18.41695 curveto
+12.37364 18.7906 11.86688 19.00056 11.33841 19.00056 curveto
+10.80994 19.00056 10.30318 18.7906 9.9295 18.41695 curveto
+9.55585 18.04327 9.34589 17.53651 9.34589 17.00804 curveto
+9.34589 16.47957 9.55585 15.97281 9.9295 15.59914 curveto
+10.30318 15.22548 10.80994 15.01552 11.33841 15.01552 curveto
+11.86688 15.01552 12.37364 15.22548 12.74731 15.59914 curveto
+13.12097 15.97281 13.33093 16.47957 13.33093 17.00804 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 13.33093 17.00804 moveto
+13.33093 17.53651 13.12097 18.04327 12.74731 18.41695 curveto
+12.37364 18.7906 11.86688 19.00056 11.33841 19.00056 curveto
+10.80994 19.00056 10.30318 18.7906 9.9295 18.41695 curveto
+9.55585 18.04327 9.34589 17.53651 9.34589 17.00804 curveto
+9.34589 16.47957 9.55585 15.97281 9.9295 15.59914 curveto
+10.30318 15.22548 10.80994 15.01552 11.33841 15.01552 curveto
+11.86688 15.01552 12.37364 15.22548 12.74731 15.59914 curveto
+13.12097 15.97281 13.33093 16.47957 13.33093 17.00804 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath 24.66977 -2.83482 moveto
+24.66977 -2.30635 24.45981 -1.79959 24.08615 -1.42592 curveto
+23.71248 -1.05226 23.20572 -0.8423 22.67725 -0.8423 curveto
+22.14877 -0.8423 21.64201 -1.05226 21.26834 -1.42592 curveto
+20.89468 -1.79959 20.68472 -2.30635 20.68472 -2.83482 curveto
+20.68472 -3.3633 20.89468 -3.87006 21.26834 -4.24373 curveto
+21.64201 -4.61739 22.14877 -4.82735 22.67725 -4.82735 curveto
+23.20572 -4.82735 23.71248 -4.61739 24.08615 -4.24373 curveto
+24.45981 -3.87006 24.66977 -3.3633 24.66977 -2.83482 curveto closepath fill
+ 0 0 0 setrgbcolor
+newpath 24.66977 -2.83482 moveto
+24.66977 -2.30635 24.45981 -1.79959 24.08615 -1.42592 curveto
+23.71248 -1.05226 23.20572 -0.8423 22.67725 -0.8423 curveto
+22.14877 -0.8423 21.64201 -1.05226 21.26834 -1.42592 curveto
+20.89468 -1.79959 20.68472 -2.30635 20.68472 -2.83482 curveto
+20.68472 -3.3633 20.89468 -3.87006 21.26834 -4.24373 curveto
+21.64201 -4.61739 22.14877 -4.82735 22.67725 -4.82735 curveto
+23.20572 -4.82735 23.71248 -4.61739 24.08615 -4.24373 curveto
+24.45981 -3.87006 24.66977 -3.3633 24.66977 -2.83482 curveto closepath stroke
+ 1 1 1 setrgbcolor
+newpath -43.36197 -53.85808 moveto
+-43.36197 -53.3296 -43.57193 -52.82285 -43.94559 -52.44917 curveto
+-44.31926 -52.07552 -44.82602 -51.86555 -45.35449 -51.86555 curveto
+-45.88297 -51.86555 -46.38972 -52.07552 -46.7634 -52.44917 curveto
+-47.13705 -52.82285 -47.34702 -53.3296 -47.34702 -53.85808 curveto
+-47.34702 -54.38655 -47.13705 -54.89331 -46.7634 -55.26698 curveto
+-46.38972 -55.64064 -45.88297 -55.8506 -45.35449 -55.8506 curveto
+-44.82602 -55.8506 -44.31926 -55.64064 -43.94559 -55.26698 curveto
+-43.57193 -54.89331 -43.36197 -54.38655 -43.36197 -53.85808 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath -43.36197 -53.85808 moveto
+-43.36197 -53.3296 -43.57193 -52.82285 -43.94559 -52.44917 curveto
+-44.31926 -52.07552 -44.82602 -51.86555 -45.35449 -51.86555 curveto
+-45.88297 -51.86555 -46.38972 -52.07552 -46.7634 -52.44917 curveto
+-47.13705 -52.82285 -47.34702 -53.3296 -47.34702 -53.85808 curveto
+-47.34702 -54.38655 -47.13705 -54.89331 -46.7634 -55.26698 curveto
+-46.38972 -55.64064 -45.88297 -55.8506 -45.35449 -55.8506 curveto
+-44.82602 -55.8506 -44.31926 -55.64064 -43.94559 -55.26698 curveto
+-43.57193 -54.89331 -43.36197 -54.38655 -43.36197 -53.85808 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath -111.39328 -59.52773 moveto
+-111.39328 -58.99925 -111.60324 -58.4925 -111.9769 -58.11882 curveto
+-112.35057 -57.74516 -112.85733 -57.5352 -113.3858 -57.5352 curveto
+-113.91428 -57.5352 -114.42104 -57.74516 -114.79471 -58.11882 curveto
+-115.16837 -58.4925 -115.37833 -58.99925 -115.37833 -59.52773 curveto
+-115.37833 -60.0562 -115.16837 -60.56296 -114.79471 -60.93663 curveto
+-114.42104 -61.31029 -113.91428 -61.52025 -113.3858 -61.52025 curveto
+-112.85733 -61.52025 -112.35057 -61.31029 -111.9769 -60.93663 curveto
+-111.60324 -60.56296 -111.39328 -60.0562 -111.39328 -59.52773 curveto closepath
+ fill
+ 0 0 0 setrgbcolor
+newpath -111.39328 -59.52773 moveto
+-111.39328 -58.99925 -111.60324 -58.4925 -111.9769 -58.11882 curveto
+-112.35057 -57.74516 -112.85733 -57.5352 -113.3858 -57.5352 curveto
+-113.91428 -57.5352 -114.42104 -57.74516 -114.79471 -58.11882 curveto
+-115.16837 -58.4925 -115.37833 -58.99925 -115.37833 -59.52773 curveto
+-115.37833 -60.0562 -115.16837 -60.56296 -114.79471 -60.93663 curveto
+-114.42104 -61.31029 -113.91428 -61.52025 -113.3858 -61.52025 curveto
+-112.85733 -61.52025 -112.35057 -61.31029 -111.9769 -60.93663 curveto
+-111.60324 -60.56296 -111.39328 -60.0562 -111.39328 -59.52773 curveto closepath
+ stroke
+ 1 1 1 setrgbcolor
+newpath -168.08618 -42.51968 moveto
+-168.08618 -41.99121 -168.29614 -41.48445 -168.6698 -41.11078 curveto
+-169.04347 -40.73712 -169.55023 -40.52716 -170.0787 -40.52716 curveto
+-170.60718 -40.52716 -171.11394 -40.73712 -171.48761 -41.11078 curveto
+-171.86127 -41.48445 -172.07123 -41.99121 -172.07123 -42.51968 curveto
+-172.07123 -43.04816 -171.86127 -43.55492 -171.48761 -43.92859 curveto
+-171.11394 -44.30225 -170.60718 -44.5122 -170.0787 -44.5122 curveto
+-169.55023 -44.5122 -169.04347 -44.30225 -168.6698 -43.92859 curveto
+-168.29614 -43.55492 -168.08618 -43.04816 -168.08618 -42.51968 curveto
+ closepath fill
+ 0 0 0 setrgbcolor
+newpath -168.08618 -42.51968 moveto
+-168.08618 -41.99121 -168.29614 -41.48445 -168.6698 -41.11078 curveto
+-169.04347 -40.73712 -169.55023 -40.52716 -170.0787 -40.52716 curveto
+-170.60718 -40.52716 -171.11394 -40.73712 -171.48761 -41.11078 curveto
+-171.86127 -41.48445 -172.07123 -41.99121 -172.07123 -42.51968 curveto
+-172.07123 -43.04816 -171.86127 -43.55492 -171.48761 -43.92859 curveto
+-171.11394 -44.30225 -170.60718 -44.5122 -170.0787 -44.5122 curveto
+-169.55023 -44.5122 -169.04347 -44.30225 -168.6698 -43.92859 curveto
+-168.29614 -43.55492 -168.08618 -43.04816 -168.08618 -42.51968 curveto
+ closepath stroke
+ 0 3.98505 dtransform truncate idtransform setlinewidth pop
+newpath -62.3621 19.84242 moveto 0 0 rlineto stroke
+newpath -34.01566 2.83482 moveto 0 0 rlineto stroke
+newpath -73.70094 -17.00804 moveto 0 0 rlineto stroke
+newpath -102.0474 -11.33841 moveto 0 0 rlineto stroke
+newpath -85.03935 17.00804 moveto 0 0 rlineto stroke
+newpath -73.70094 28.34645 moveto 0 0 rlineto stroke
+newpath -28.34645 -34.01566 moveto 0 0 rlineto stroke
+newpath -184.25194 5.6692 moveto 0 0 rlineto stroke
+newpath -141.73225 22.67725 moveto 0 0 rlineto stroke
+newpath -170.0787 -17.00804 moveto 0 0 rlineto stroke
+newpath -141.73225 -34.01566 moveto 0 0 rlineto stroke
+-115.00842 58.90285 moveto
+(horn\355) csr10 9.96265 fshow
+-88.96712 58.90285 moveto
+(ob\341lk) csr10 9.96265 fshow
+-65.72092 58.90285 moveto
+(a) csr10 9.96265 fshow
+-114.44107 -74.3254 moveto
+(doln\355) csr10 9.96265 fshow
+-89.53438 -74.3254 moveto
+(ob\341lk) csr10 9.96265 fshow
+-66.28818 -74.3254 moveto
+(a) csr10 9.96265 fshow
+-210.87447 -3.4039 moveto
+(L) cmmi10 9.96265 fshow
+28.34645 -6.23872 moveto
+(P) cmmi10 9.96265 fshow
+showpage
+%%EOF
diff --git a/7-geom/7-geom4_determinant.eps b/7-geom/7-geom4_determinant.eps
new file mode 100644 (file)
index 0000000..e2543f4
--- /dev/null
@@ -0,0 +1,195 @@
+%!PS
+%%BoundingBox: -81 -40 277 29 
+%%HiResBoundingBox: -80.36743 -39.59418 276.40172 28.59645 
+%%Creator: MetaPost 0.993
+%%CreationDate: 2009.11.14:2207
+%%Pages: 1
+%*Font: cmmi10 9.96265 9.96265 3c:a0004000020800602
+%*Font: cmr10 9.96265 9.96265 28:c08004000000000c0008
+%*Font: cmmi7 6.97385 6.97385 6b:8
+%*Font: cmsy7 6.97385 6.97385 00:8
+%*Font: cmr7 6.97385 6.97385 31:8
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0.8 0.8 0.8 setrgbcolor
+newpath -56.6929 0 moveto
+0 -28.34645 lineto
+42.51968 0 lineto
+-14.17322 28.34645 lineto
+ closepath fill
+ 0 0 0 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
+ [3 3 ] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath -56.6929 0 moveto
+0 -28.34645 lineto
+42.51968 0 lineto
+-14.17322 28.34645 lineto
+ closepath stroke
+ 0 1.4944 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+newpath -56.6929 0 moveto
+-2.26733 -27.21278 lineto stroke
+newpath -6.2572 -26.92926 moveto
+-2.26733 -27.21278 lineto
+-4.88806 -24.19098 lineto
+ closepath
+gsave fill grestore stroke
+newpath 0 -28.34645 moveto
+40.81918 -1.13367 lineto stroke
+newpath 38.59323 -4.45755 moveto
+40.81918 -1.13367 lineto
+36.89484 -1.90994 lineto
+ closepath
+gsave fill grestore stroke
+ 0 3.98505 dtransform truncate idtransform setlinewidth pop
+newpath -56.6929 0 moveto 0 0 rlineto stroke
+newpath 0 -28.34645 moveto 0 0 rlineto stroke
+newpath 42.51968 0 moveto 0 0 rlineto stroke
+-80.36743 -2.29697 moveto
+(h) cmmi10 9.96265 fshow
+-74.62733 -3.79137 moveto
+(k) cmmi7 6.97385 fshow
+-70.22372 -3.79137 moveto
+(\000) cmsy7 6.97385 fshow
+-63.99702 -3.79137 moveto
+(1) cmr7 6.97385 fshow
+-5.3209 -38.09978 moveto
+(h) cmmi10 9.96265 fshow
+0.41919 -39.59418 moveto
+(k) cmmi7 6.97385 fshow
+-36.16252 -23.27531 moveto
+(~) cmmi10 9.96265 fshow
+-36.03403 -23.27531 moveto
+(u) cmmi10 9.96265 fshow
+22.85732 -23.2753 moveto
+(~) cmmi10 9.96265 fshow
+23.24422 -23.2753 moveto
+(v) cmmi10 9.96265 fshow
+45.3545 -3.45926 moveto
+(b) cmmi10 9.96265 fshow
+-32.38756 -2.49065 moveto
+(det\() cmr10 9.96265 fshow
+-14.67616 -2.49065 moveto
+(M) cmmi10 9.96265 fshow
+-3.92485 -2.49065 moveto
+(\)) cmr10 9.96265 fshow
+2.71684 -2.49065 moveto
+(>) cmmi10 9.96265 fshow
+13.23294 -2.49065 moveto
+(0) cmr10 9.96265 fshow
+ 0 1.4944 dtransform truncate idtransform setlinewidth pop
+newpath 85.03935 14.17322 moveto
+112.25214 0.56683 lineto stroke
+newpath 108.26227 0.85036 moveto
+112.25214 0.56683 lineto
+109.63141 3.58864 lineto
+ closepath
+gsave fill grestore stroke
+newpath 113.3858 0 moveto
+140.59859 -13.6064 lineto stroke
+newpath 136.60872 -13.32288 moveto
+140.59859 -13.6064 lineto
+137.97786 -10.5846 lineto
+ closepath
+gsave fill grestore stroke
+ 0 3.98505 dtransform truncate idtransform setlinewidth pop
+newpath 85.03935 14.17322 moveto 0 0 rlineto stroke
+newpath 113.3858 0 moveto 0 0 rlineto stroke
+newpath 141.73225 -14.17323 moveto 0 0 rlineto stroke
+61.36482 11.87625 moveto
+(h) cmmi10 9.96265 fshow
+67.10492 10.38185 moveto
+(k) cmmi7 6.97385 fshow
+71.50853 10.38185 moveto
+(\000) cmsy7 6.97385 fshow
+77.73523 10.38185 moveto
+(1) cmr7 6.97385 fshow
+100.75963 -8.90288 moveto
+(h) cmmi10 9.96265 fshow
+106.49973 -10.39728 moveto
+(k) cmmi7 6.97385 fshow
+91.39651 -2.01547 moveto
+(~) cmmi10 9.96265 fshow
+91.52501 -2.01547 moveto
+(u) cmmi10 9.96265 fshow
+120.00116 -16.1887 moveto
+(~) cmmi10 9.96265 fshow
+120.38806 -16.1887 moveto
+(v) cmmi10 9.96265 fshow
+139.59445 -23.92656 moveto
+(b) cmmi10 9.96265 fshow
+gsave [0.88295 -0.46947 0.46947 0.88295 93.86943 17.18745 ] concat 0 0 moveto
+(det\() cmr10 9.96265 fshow grestore
+gsave [0.88295 -0.46947 0.46947 0.88295 109.50769 8.87254 ] concat 0 0 moveto
+(M) cmmi10 9.96265 fshow grestore
+gsave [0.88295 -0.46947 0.46947 0.88295 119.00056 3.82515 ] concat 0 0 moveto
+(\)) cmr10 9.96265 fshow grestore
+gsave [0.88295 -0.46947 0.46947 0.88295 124.86485 0.70709 ] concat 0 0 moveto
+(=) cmr10 9.96265 fshow grestore
+gsave [0.88295 -0.46947 0.46947 0.88295 134.15004 -4.22987 ] concat 0 0 moveto
+(0) cmr10 9.96265 fshow grestore
+ 0.8 0.8 0.8 setrgbcolor
+newpath 184.25194 21.25983 moveto
+255.11807 7.08661 lineto
+269.29129 -35.43307 lineto
+198.42516 -21.25986 lineto
+ closepath fill
+ 0 0 0 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
+ [3 3 ] 0 setdash
+newpath 184.25194 21.25983 moveto
+255.11807 7.08661 lineto
+269.29129 -35.43307 lineto
+198.42516 -21.25986 lineto
+ closepath stroke
+ 0 1.4944 dtransform truncate idtransform setlinewidth pop [] 0 setdash
+newpath 184.25194 21.25983 moveto
+252.2839 7.65344 lineto stroke
+newpath 248.3604 6.87724 moveto
+252.2839 7.65344 lineto
+248.96074 9.87898 lineto
+ closepath
+gsave fill grestore stroke
+newpath 255.11807 7.08661 moveto
+268.72446 -33.73257 lineto stroke
+newpath 266.1034 -30.71054 moveto
+268.72446 -33.73257 lineto
+269.00806 -29.74231 lineto
+ closepath
+gsave fill grestore stroke
+ 0 3.98505 dtransform truncate idtransform setlinewidth pop
+newpath 184.25194 21.25983 moveto 0 0 rlineto stroke
+newpath 255.11807 7.08661 moveto 0 0 rlineto stroke
+newpath 269.29129 -35.43307 moveto 0 0 rlineto stroke
+160.57741 18.96286 moveto
+(h) cmmi10 9.96265 fshow
+166.3175 17.46846 moveto
+(k) cmmi7 6.97385 fshow
+170.72112 17.46846 moveto
+(\000) cmsy7 6.97385 fshow
+176.94781 17.46846 moveto
+(1) cmr7 6.97385 fshow
+257.10245 10.56538 moveto
+(h) cmmi10 9.96265 fshow
+262.84254 9.07098 moveto
+(k) cmmi7 6.97385 fshow
+216.70491 17.00804 moveto
+(~) cmmi10 9.96265 fshow
+216.8334 17.00804 moveto
+(u) cmmi10 9.96265 fshow
+264.6526 -17.73209 moveto
+(~) cmmi10 9.96265 fshow
+265.0395 -17.73209 moveto
+(v) cmmi10 9.96265 fshow
+272.12611 -38.89233 moveto
+(b) cmmi10 9.96265 fshow
+201.47067 -9.57727 moveto
+(det\() cmr10 9.96265 fshow
+219.18207 -9.57727 moveto
+(M) cmmi10 9.96265 fshow
+229.93338 -9.57727 moveto
+(\)) cmr10 9.96265 fshow
+236.57507 -9.57727 moveto
+(<) cmmi10 9.96265 fshow
+247.09117 -9.57727 moveto
+(0) cmr10 9.96265 fshow
+showpage
+%%EOF
diff --git a/7-geom/7-geom5_rybi_motivace.eps b/7-geom/7-geom5_rybi_motivace.eps
new file mode 100644 (file)
index 0000000..15d005f
--- /dev/null
@@ -0,0 +1,535 @@
+%!PS
+%%BoundingBox: -214 -69 38 59 
+%%HiResBoundingBox: -213.63019 -68.29349 37.06538 58.48102 
+%%Creator: MetaPost 0.993
+%%CreationDate: 2009.11.14:2207
+%%Pages: 1
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+ 0 0 0 setrgbcolor 0 0.5 dtransform truncate idtransform setlinewidth pop
+ [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit
+newpath -209.48042 0 moveto
+-205.1987 7.41618 -196.86583 -2.126 -189.92113 -2.126 curveto stroke
+newpath -209.48042 0 moveto
+-204.38559 -6.0717 -196.80276 2.126 -189.92113 2.126 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -189.92113 -2.126 moveto
+-189.92113 2.126 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -206.92918 0.56694 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -189.92113 -1.063 moveto
+-191.33847 -1.063 lineto stroke
+newpath -189.92113 0 moveto
+-191.33847 0 lineto stroke
+newpath -189.92113 1.063 moveto
+-191.33847 1.063 lineto stroke
+newpath -186.80318 25.51163 moveto
+-182.52145 32.92781 -174.18858 23.38562 -167.24388 23.38562 curveto stroke
+newpath -186.80318 25.51163 moveto
+-181.70834 19.43993 -174.12552 27.63763 -167.24388 27.63763 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -167.24388 23.38562 moveto
+-167.24388 27.63763 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -184.25194 26.07857 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -167.24388 24.44862 moveto
+-168.66122 24.44862 lineto stroke
+newpath -167.24388 25.51163 moveto
+-168.66122 25.51163 lineto stroke
+newpath -167.24388 26.57463 moveto
+-168.66122 26.57463 lineto stroke
+newpath -141.44911 42.51968 moveto
+-137.16739 49.93587 -128.83452 40.39368 -121.88982 40.39368 curveto stroke
+newpath -141.44911 42.51968 moveto
+-136.35428 36.44798 -128.77145 44.64569 -121.88982 44.64569 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -121.88982 40.39368 moveto
+-121.88982 44.64569 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -138.89787 43.08662 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -121.88982 41.45668 moveto
+-123.30716 41.45668 lineto stroke
+newpath -121.88982 42.51968 moveto
+-123.30716 42.51968 lineto stroke
+newpath -121.88982 43.58269 moveto
+-123.30716 43.58269 lineto stroke
+newpath -79.08658 51.0237 moveto
+-74.80486 58.43988 -66.47198 48.89769 -59.52728 48.89769 curveto stroke
+newpath -79.08658 51.0237 moveto
+-73.99174 44.952 -66.40892 53.1497 -59.52728 53.1497 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -59.52728 48.89769 moveto
+-59.52728 53.1497 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -76.53534 51.59064 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -59.52728 49.9607 moveto
+-60.94463 49.9607 lineto stroke
+newpath -59.52728 51.0237 moveto
+-60.94463 51.0237 lineto stroke
+newpath -59.52728 52.0867 moveto
+-60.94463 52.0867 lineto stroke
+newpath -33.73251 42.51968 moveto
+-29.45079 49.93587 -21.11792 40.39368 -14.17322 40.39368 curveto stroke
+newpath -33.73251 42.51968 moveto
+-28.63768 36.44798 -21.05486 44.64569 -14.17322 44.64569 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -14.17322 40.39368 moveto
+-14.17322 44.64569 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -31.18127 43.08662 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -14.17322 41.45668 moveto
+-15.59056 41.45668 lineto stroke
+newpath -14.17322 42.51968 moveto
+-15.59056 42.51968 lineto stroke
+newpath -14.17322 43.58269 moveto
+-15.59056 43.58269 lineto stroke
+newpath 0.28314 17.00804 moveto
+4.56487 24.42422 12.89774 14.88203 19.84244 14.88203 curveto stroke
+newpath 0.28314 17.00804 moveto
+5.37798 10.93634 12.9608 19.13405 19.84244 19.13405 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 19.84244 14.88203 moveto
+19.84244 19.13405 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath 2.83438 17.57498 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath 19.84244 15.94504 moveto
+18.4251 15.94504 lineto stroke
+newpath 19.84244 17.00804 moveto
+18.4251 17.00804 lineto stroke
+newpath 19.84244 18.07104 moveto
+18.4251 18.07104 lineto stroke
+newpath 11.62198 -2.83482 moveto
+15.9037 4.58136 24.23657 -4.96083 31.18127 -4.96083 curveto stroke
+newpath 11.62198 -2.83482 moveto
+16.71681 -8.90652 24.29964 -0.70882 31.18127 -0.70882 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath 31.18127 -4.96083 moveto
+31.18127 -0.70882 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath 14.17322 -2.26788 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath 31.18127 -3.89783 moveto
+29.76393 -3.89783 lineto stroke
+newpath 31.18127 -2.83482 moveto
+29.76393 -2.83482 lineto stroke
+newpath 31.18127 -1.77182 moveto
+29.76393 -1.77182 lineto stroke
+newpath -56.40976 -53.85808 moveto
+-52.12804 -46.4419 -43.79517 -55.98409 -36.85046 -55.98409 curveto stroke
+newpath -56.40976 -53.85808 moveto
+-51.31493 -59.92978 -43.7321 -51.73207 -36.85046 -51.73207 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -36.85046 -55.98409 moveto
+-36.85046 -51.73207 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -53.85852 -53.29114 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -36.85046 -54.92108 moveto
+-38.2678 -54.92108 lineto stroke
+newpath -36.85046 -53.85808 moveto
+-38.2678 -53.85808 lineto stroke
+newpath -36.85046 -52.79507 moveto
+-38.2678 -52.79507 lineto stroke
+newpath -124.44107 -59.52773 moveto
+-120.15935 -52.11154 -111.82648 -61.65373 -104.88177 -61.65373 curveto stroke
+newpath -124.44107 -59.52773 moveto
+-119.34624 -65.59943 -111.76341 -57.40172 -104.88177 -57.40172 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -104.88177 -61.65373 moveto
+-104.88177 -57.40172 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -121.88983 -58.96078 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -104.88177 -60.59073 moveto
+-106.29912 -60.59073 lineto stroke
+newpath -104.88177 -59.52773 moveto
+-106.29912 -59.52773 lineto stroke
+newpath -104.88177 -58.46472 moveto
+-106.29912 -58.46472 lineto stroke
+newpath -181.13397 -42.51968 moveto
+-176.85225 -35.1035 -168.51938 -44.64569 -161.57468 -44.64569 curveto stroke
+newpath -181.13397 -42.51968 moveto
+-176.03914 -48.59138 -168.45631 -40.39368 -161.57468 -40.39368 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -161.57468 -44.64569 moveto
+-161.57468 -40.39368 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -178.58273 -41.95274 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -161.57468 -43.58269 moveto
+-162.99202 -43.58269 lineto stroke
+newpath -161.57468 -42.51968 moveto
+-162.99202 -42.51968 lineto stroke
+newpath -161.57468 -41.45668 moveto
+-162.99202 -41.45668 lineto stroke
+newpath -73.41737 19.84242 moveto
+-69.13565 27.2586 -60.80278 17.71642 -53.85808 17.71642 curveto stroke
+newpath -73.41737 19.84242 moveto
+-68.32254 13.77072 -60.73972 21.96843 -53.85808 21.96843 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -53.85808 17.71642 moveto
+-53.85808 21.96843 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -70.86613 20.40936 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -53.85808 18.77942 moveto
+-55.27542 18.77942 lineto stroke
+newpath -53.85808 19.84242 moveto
+-55.27542 19.84242 lineto stroke
+newpath -53.85808 20.90543 moveto
+-55.27542 20.90543 lineto stroke
+newpath -45.07092 2.83482 moveto
+-40.7892 10.251 -32.45633 0.70882 -25.51163 0.70882 curveto stroke
+newpath -45.07092 2.83482 moveto
+-39.97609 -3.23688 -32.39326 4.96083 -25.51163 4.96083 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -25.51163 0.70882 moveto
+-25.51163 4.96083 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -42.51968 3.40176 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -25.51163 1.77182 moveto
+-26.92897 1.77182 lineto stroke
+newpath -25.51163 2.83482 moveto
+-26.92897 2.83482 lineto stroke
+newpath -25.51163 3.89783 moveto
+-26.92897 3.89783 lineto stroke
+newpath -84.75621 -17.00804 moveto
+-80.47449 -9.59186 -72.14162 -19.13405 -65.19691 -19.13405 curveto stroke
+newpath -84.75621 -17.00804 moveto
+-79.66138 -23.07974 -72.07855 -14.88203 -65.19691 -14.88203 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -65.19691 -19.13405 moveto
+-65.19691 -14.88203 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -82.20497 -16.4411 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -65.19691 -18.07104 moveto
+-66.61426 -18.07104 lineto stroke
+newpath -65.19691 -17.00804 moveto
+-66.61426 -17.00804 lineto stroke
+newpath -65.19691 -15.94504 moveto
+-66.61426 -15.94504 lineto stroke
+newpath -113.10266 -11.33841 moveto
+-108.82094 -3.92223 -100.48807 -13.46442 -93.54337 -13.46442 curveto stroke
+newpath -113.10266 -11.33841 moveto
+-108.00783 -17.41011 -100.425 -9.2124 -93.54337 -9.2124 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -93.54337 -13.46442 moveto
+-93.54337 -9.2124 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -110.55142 -10.77147 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -93.54337 -12.40141 moveto
+-94.96071 -12.40141 lineto stroke
+newpath -93.54337 -11.33841 moveto
+-94.96071 -11.33841 lineto stroke
+newpath -93.54337 -10.2754 moveto
+-94.96071 -10.2754 lineto stroke
+newpath -96.09462 17.00804 moveto
+-91.8129 24.42422 -83.48003 14.88203 -76.53532 14.88203 curveto stroke
+newpath -96.09462 17.00804 moveto
+-90.99979 10.93634 -83.41696 19.13405 -76.53532 19.13405 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -76.53532 14.88203 moveto
+-76.53532 19.13405 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -93.54338 17.57498 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -76.53532 15.94504 moveto
+-77.95267 15.94504 lineto stroke
+newpath -76.53532 17.00804 moveto
+-77.95267 17.00804 lineto stroke
+newpath -76.53532 18.07104 moveto
+-77.95267 18.07104 lineto stroke
+newpath -84.75621 28.34645 moveto
+-80.47449 35.76263 -72.14162 26.22044 -65.19691 26.22044 curveto stroke
+newpath -84.75621 28.34645 moveto
+-79.66138 22.27475 -72.07855 30.47246 -65.19691 30.47246 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -65.19691 26.22044 moveto
+-65.19691 30.47246 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -82.20497 28.91339 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -65.19691 27.28345 moveto
+-66.61426 27.28345 lineto stroke
+newpath -65.19691 28.34645 moveto
+-66.61426 28.34645 lineto stroke
+newpath -65.19691 29.40945 moveto
+-66.61426 29.40945 lineto stroke
+newpath -39.40172 -34.01566 moveto
+-35.12 -26.59947 -26.78712 -36.14166 -19.84242 -36.14166 curveto stroke
+newpath -39.40172 -34.01566 moveto
+-34.30688 -40.08736 -26.72406 -31.88965 -19.84242 -31.88965 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -19.84242 -36.14166 moveto
+-19.84242 -31.88965 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -36.85048 -33.44872 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -19.84242 -35.07866 moveto
+-21.25977 -35.07866 lineto stroke
+newpath -19.84242 -34.01566 moveto
+-21.25977 -34.01566 lineto stroke
+newpath -19.84242 -32.95265 moveto
+-21.25977 -32.95265 lineto stroke
+newpath -195.3072 5.6692 moveto
+-191.02548 13.08539 -182.69261 3.5432 -175.74791 3.5432 curveto stroke
+newpath -195.3072 5.6692 moveto
+-190.21237 -0.4025 -182.62955 7.79521 -175.74791 7.79521 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -175.74791 3.5432 moveto
+-175.74791 7.79521 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -192.75597 6.23615 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -175.74791 4.6062 moveto
+-177.16525 4.6062 lineto stroke
+newpath -175.74791 5.6692 moveto
+-177.16525 5.6692 lineto stroke
+newpath -175.74791 6.73221 moveto
+-177.16525 6.73221 lineto stroke
+newpath -152.78752 22.67725 moveto
+-148.5058 30.09343 -140.17293 20.55124 -133.22823 20.55124 curveto stroke
+newpath -152.78752 22.67725 moveto
+-147.69269 16.60555 -140.10986 24.80325 -133.22823 24.80325 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -133.22823 20.55124 moveto
+-133.22823 24.80325 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -150.23628 23.24419 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -133.22823 21.61424 moveto
+-134.64557 21.61424 lineto stroke
+newpath -133.22823 22.67725 moveto
+-134.64557 22.67725 lineto stroke
+newpath -133.22823 23.74025 moveto
+-134.64557 23.74025 lineto stroke
+newpath -181.13397 -17.00804 moveto
+-176.85225 -9.59186 -168.51938 -19.13405 -161.57468 -19.13405 curveto stroke
+newpath -181.13397 -17.00804 moveto
+-176.03914 -23.07974 -168.45631 -14.88203 -161.57468 -14.88203 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -161.57468 -19.13405 moveto
+-161.57468 -14.88203 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -178.58273 -16.4411 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -161.57468 -18.07104 moveto
+-162.99202 -18.07104 lineto stroke
+newpath -161.57468 -17.00804 moveto
+-162.99202 -17.00804 lineto stroke
+newpath -161.57468 -15.94504 moveto
+-162.99202 -15.94504 lineto stroke
+newpath -152.78752 -34.01566 moveto
+-148.5058 -26.59947 -140.17293 -36.14166 -133.22823 -36.14166 curveto stroke
+newpath -152.78752 -34.01566 moveto
+-147.69269 -40.08736 -140.10986 -31.88965 -133.22823 -31.88965 curveto stroke
+ 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth
+newpath -133.22823 -36.14166 moveto
+-133.22823 -31.88965 lineto stroke
+ 0 1.063 dtransform truncate idtransform setlinewidth pop
+newpath -150.23628 -33.44872 moveto 0 0 rlineto stroke
+ 0 0.5 dtransform truncate idtransform setlinewidth pop
+newpath -133.22823 -35.07866 moveto
+-134.64557 -35.07866 lineto stroke
+newpath -133.22823 -34.01566 moveto
+-134.64557 -34.01566 lineto stroke
+newpath -133.22823 -32.95265 moveto
+-134.64557 -32.95265 lineto stroke
+ 0 1.4944 dtransform truncate idtransform setlinewidth pop
+newpath -212.88298 0 moveto
+-210.39598 2.07463 lineto
+-208.98589 5.10736 lineto
+-206.13942 6.8632 lineto
+-204.72932 9.89594 lineto
+-201.88287 11.65178 lineto
+-200.47319 14.6841 lineto
+-197.62672 16.43994 lineto
+-196.21658 19.47267 lineto
+-193.37012 21.22852 lineto
+-191.96004 24.26125 lineto
+-189.11357 26.01714 lineto
+-187.70389 29.0494 lineto
+-184.21263 29.45702 lineto
+-181.5502 31.48172 lineto
+-178.21379 31.70662 lineto
+-175.55136 33.73131 lineto
+-172.21489 33.95622 lineto
+-169.55247 35.98093 lineto
+-166.21605 36.20583 lineto
+-163.55362 38.23051 lineto
+-160.21718 38.45543 lineto
+-157.55478 40.48015 lineto
+-154.21834 40.70503 lineto
+-151.55591 42.72975 lineto
+-148.21948 42.95467 lineto
+-145.55785 44.97908 lineto
+-142.22061 45.20425 lineto
+-139.559 47.22865 lineto
+-136.22177 47.45387 lineto
+-133.30441 48.90091 lineto
+-130.0003 48.38167 lineto
+-126.95592 49.76662 lineto
+-123.65184 49.24738 lineto
+-120.6085 50.63217 lineto
+-117.30441 50.11293 lineto
+-114.26 51.49788 lineto
+-110.95593 50.97864 lineto
+-107.91151 52.3636 lineto
+-104.6085 51.8442 lineto
+-101.56409 53.22916 lineto
+-98.26003 52.70992 lineto
+-95.2156 54.09486 lineto
+-91.9126 53.57547 lineto
+-88.8682 54.96042 lineto
+-85.56413 54.44118 lineto
+-82.51971 55.82613 lineto
+-79.2167 55.30673 lineto
+-76.17227 56.69168 lineto
+-72.8682 56.17244 lineto
+-69.8238 57.5574 lineto
+-66.5208 57.03801 lineto
+-63.33968 57.73381 lineto
+-60.36836 56.19902 lineto
+-57.04283 56.55313 lineto
+-54.07152 55.01834 lineto
+-50.74605 55.37245 lineto
+-47.77396 53.8375 lineto
+-44.44847 54.19167 lineto
+-41.47713 52.65681 lineto
+-38.15166 53.01099 lineto
+-35.18034 51.4762 lineto
+-31.85484 51.8303 lineto
+-28.88353 50.29552 lineto
+-25.55801 50.64963 lineto
+-22.58592 49.11467 lineto
+-19.26045 49.46884 lineto
+-16.28914 47.93399 lineto
+-12.99344 47.67784 lineto
+-11.00752 44.98727 lineto
+-7.86847 43.83412 lineto
+-5.88194 41.14313 lineto
+-2.7429 39.98999 lineto
+-0.75697 37.29941 lineto
+2.38268 36.14584 lineto
+4.36859 33.45523 lineto
+7.50763 32.30212 lineto
+9.49414 29.61108 lineto
+12.63316 28.458 lineto
+14.61913 25.76738 lineto
+17.75874 24.61382 lineto
+19.74466 21.92325 lineto
+22.88431 20.76968 lineto
+24.35872 17.88696 lineto
+26.78238 15.58249 lineto
+27.53732 12.32445 lineto
+29.96098 10.01991 lineto
+30.71593 6.76192 lineto
+33.13957 4.4574 lineto
+33.89453 1.1994 lineto
+36.31818 -1.10512 lineto
+35.82741 -3.4551 lineto
+33.84091 -6.14613 lineto
+30.70126 -7.29964 lineto
+28.71591 -9.98979 lineto
+25.57625 -11.14336 lineto
+23.5897 -13.83438 lineto
+20.45006 -14.98795 lineto
+18.4647 -17.6781 lineto
+15.32504 -18.83167 lineto
+13.33856 -21.5227 lineto
+10.20009 -22.67538 lineto
+8.21355 -25.36641 lineto
+5.0739 -26.51997 lineto
+3.08855 -29.21013 lineto
+-0.05112 -30.3637 lineto
+-2.03766 -33.05473 lineto
+-5.17612 -34.20741 lineto
+-7.16266 -36.89839 lineto
+-10.30226 -38.05196 lineto
+-12.28761 -40.74211 lineto
+-15.42728 -41.89568 lineto
+-17.41382 -44.5867 lineto
+-20.55228 -45.73938 lineto
+-22.53882 -48.43042 lineto
+-25.67848 -49.58398 lineto
+-27.66383 -52.27414 lineto
+-30.80348 -53.4277 lineto
+-32.78998 -56.11874 lineto
+-35.92844 -57.27141 lineto
+-37.91498 -59.96245 lineto
+-41.01503 -60.46964 lineto
+-44.12825 -61.69336 lineto
+-47.39986 -61.00177 lineto
+-50.51305 -62.22546 lineto
+-53.78464 -61.53384 lineto
+-56.89786 -62.75758 lineto
+-60.16946 -62.06595 lineto
+-63.28146 -63.28957 lineto
+-66.55424 -62.59807 lineto
+-69.66628 -63.82167 lineto
+-72.93909 -63.13016 lineto
+-76.05107 -64.35379 lineto
+-79.32271 -63.66216 lineto
+-82.4359 -64.88588 lineto
+-85.7075 -64.19427 lineto
+-88.8207 -65.41798 lineto
+-92.09232 -64.72636 lineto
+-95.20433 -65.95 lineto
+-98.47711 -65.25848 lineto
+-101.58914 -66.48209 lineto
+-104.86192 -65.79056 lineto
+-107.97392 -67.0142 lineto
+-111.2467 -66.32268 lineto
+-114.35875 -67.54628 lineto
+-117.4213 -66.57504 lineto
+-120.7659 -66.5749 lineto
+-123.55826 -64.73395 lineto
+-126.9028 -64.73381 lineto
+-129.69514 -62.89285 lineto
+-133.03877 -62.89299 lineto
+-135.83109 -61.05205 lineto
+-139.17567 -61.05191 lineto
+-141.96802 -59.21095 lineto
+-145.31259 -59.21082 lineto
+-148.10394 -57.37016 lineto
+-151.44853 -57.37003 lineto
+-154.24086 -55.52904 lineto
+-157.58546 -55.5289 lineto
+-160.37779 -53.68796 lineto
+-163.72137 -53.68811 lineto
+-166.51373 -51.84717 lineto
+-169.85832 -51.84703 lineto
+-172.65063 -50.00607 lineto
+-175.99522 -50.00594 lineto
+-178.7866 -48.16525 lineto
+-181.91241 -47.32204 lineto
+-182.89003 -44.12328 lineto
+-185.46625 -41.99132 lineto
+-186.44385 -38.79256 lineto
+-189.02003 -36.6606 lineto
+-189.99765 -33.46188 lineto
+-192.5738 -31.32991 lineto
+-193.55142 -28.13115 lineto
+-196.12762 -25.9992 lineto
+-197.10524 -22.80045 lineto
+-199.68143 -20.6685 lineto
+-200.65903 -17.46974 lineto
+-203.23524 -15.3378 lineto
+-204.21283 -12.13904 lineto
+-206.78903 -10.0071 lineto
+-207.76665 -6.80836 lineto
+-210.34282 -4.67639 lineto
+-211.32043 -1.47763 lineto
+-212.88298 0 lineto stroke
+showpage
+%%EOF
diff --git a/7-geom/Makefile b/7-geom/Makefile
new file mode 100644 (file)
index 0000000..b06fe95
--- /dev/null
@@ -0,0 +1,3 @@
+P=7-geom
+
+include ../Makerules
diff --git a/7-geom/lib.mp b/7-geom/lib.mp
new file mode 100644 (file)
index 0000000..2536305
--- /dev/null
@@ -0,0 +1,82 @@
+% implementation of figure naming and figure transparency
+string name,tag; name := ""; tag := "";
+def updatefigname =
+       if tag="": filenametemplate (name & "%c.eps");
+       else: filenametemplate (name & "%c_" & tag & ".eps");
+       fi;
+enddef;
+       
+def figname(expr n) = name := n; updatefigname; enddef;
+def figtag(expr t) = tag := t; updatefigname; enddef;
+
+picture transparent_picture;
+color transparent_color; transparent_color := 0.9white;
+def drawtransparent(expr num) =
+       transparent_picture := currentpicture;
+endfig;
+
+if tag="": filenametemplate (name & "%c_transparent.eps");
+else: filenametemplate (name & "%c_" & tag & "_transparent.eps");
+fi;
+beginfig(num);
+       draw transparent_picture withcolor transparent_color;
+endfig;
+
+updatefigname;
+enddef;
+
+def from(expr p,d,len) =
+       p+dir(d)*len
+enddef;
+
+def dirs(expr p,d,len) =
+       p--from(p,d,len)
+enddef;
+
+def drawvertices(expr s,n) =
+       for i:=s upto n:
+               draw vertex(PQ[i]);
+       endfor
+enddef;
+
+def drawfvertices(expr s,n,flags) =
+       for i:=s upto n:
+               draw vertex(PQ[i]) flags;
+       endfor
+enddef;
+
+def vertex(expr p) = p withpen pencircle scaled 4pt enddef;
+def drawemptyvertex(expr p) = unfill fullcircle scaled 4pt shifted p; draw fullcircle scaled 4pt shifted p; enddef;
+def drawendpointvertex(expr p) = draw vertex(p) withcolor red; draw fullcircle scaled 6pt shifted p; enddef;
+def createpath(expr p) = shakepath(p, 0.015cm,0.1cm) enddef;
+vardef shakepath(expr p,d,l) =
+       save r,b;
+       path r; r := point(arctime 0 of p) of p;
+       b := -1;
+       for i:=l step l until arclength(p):
+               r := r--(point(arctime i of p) of p)+dir(angle(direction(arctime i of p) of p rotated 90))*d*b;
+               b := -b;
+       endfor
+       r--point(arctime arclength(p) of p) of p
+enddef;
+       
+pen normalpen; normalpen := pencircle scaled 0.6pt;
+pen boldpen; boldpen := pencircle scaled 1.5pt;
+pen bolderpen; bolderpen := pencircle scaled 2pt;
+def dotline = withdots scaled 0.82 withpen boldpen enddef;
+
+vardef unclosedbubblec(expr p,c) =
+       bubblec((p..reverse p..cycle),c)
+enddef;        
+
+vardef bubblec(expr p,c) =
+       save r;
+       path r; r := (point(arctime 0 of p) of p)+dir(angle(direction(arctime 0 of p) of p rotated 90))*c;
+       for i:=0.01cm step 0.025cm until arclength(p):
+               r := r..(point(arctime i of p) of p)+dir(angle(direction(arctime i of p) of p rotated 90))*c;
+       endfor
+       r..(point(arctime arclength(p) of p) of p)+dir(angle(direction(arctime arclength(p) of p) of p rotated 90))*c..cycle
+enddef;
+
+vardef bubble(expr p) = bubblec(p,0.12cm) enddef;
+vardef unclosedbubble(expr p) = unclosedbubblec(p,0.12cm) enddef;