9 pair c,pos; c := (0,0); pos := c;
11 label.bot(btex $n=1$ etex, pos);
15 A[0] := (-0.3cm, -0.2cm)+c; A[1] := (0.2cm, 0.3cm)+c;
17 drawemptyvertex(A[0]); drawemptyvertex(A[1]);
18 label.bot(btex $n=2$ etex, pos);
21 A[2] := (+0.3cm, -0.4cm)+c;
22 for i := 0 upto 2: A[i] := A[i] shifted c; endfor
23 draw A[0]--A[1]--A[2]--cycle;
24 for i := 0 upto 2: drawemptyvertex(A[i]); endfor
25 label.bot(btex $n=3$ etex, pos);
28 A[3] := (A[0]+A[1]+A[2])/3;
29 for i := 0 upto 3: A[i] := A[i] shifted c; endfor
30 draw A[0]--A[1]--A[2]--cycle;
31 for i := 0 upto 2: drawemptyvertex(A[i]); endfor
36 A[3] := A[1]+(0.3cm,-0.2cm);
37 for i := 0 upto 3: A[i] := A[i] shifted c; endfor
38 draw A[0]--A[1]--A[3]--A[2]--cycle;
39 for i := 0 upto 3: drawemptyvertex(A[i]); endfor
40 label.bot(btex $n=4$ etex, pos);
43 figtag("pridani_bodu");
45 pair A[],B[],C,shift; shift := (4.5cm,0);
46 A[0] := (-1.7cm,1.1cm);
47 A[1] := (-1.2cm,1.2cm);
49 A[3] := (0.2cm,0.2cm);
50 A[4] := (0.4cm,-0.7cm);
51 A[5] := (-0.8cm,-1.3cm);
52 A[6] := (-1.4cm,-1.4cm);
53 B[0] := (-1.1cm, 0.7cm);
54 B[1] := (-0.6cm, 0.1cm);
55 B[2] := (-1.3cm, -0.6cm);
60 draw A[0] for i := 1 upto 6: --A[i] endfor;
61 for i := 1 upto 5: drawemptyvertex(A[i]); endfor
62 for i := 0 upto 2: draw vertex(B[i]); endfor
64 drawarrow (C+(0.5cm,0)--C+(1.5cm,0)) shifted (0, -0.1cm) withpen normalpen;
65 for i:=0 upto 6: A[i] := A[i] shifted shift; endfor
66 for i:=0 upto 2: B[i] := B[i] shifted shift; endfor
70 draw for i := 0 upto 3: A[i]-- endfor C for i := 4 upto 6: --A[i] endfor;
71 draw C--A[2] dashed evenly withpen normalpen;
72 for i := 1 upto 5: drawemptyvertex(A[i]); endfor
73 for i := 0 upto 2: draw vertex(B[i]); endfor
75 drawarrow (C+(0.5cm,0)--C+(1.5cm,0)) shifted (0,-0.1cm) withpen normalpen;
76 for i:=0 upto 6: A[i] := A[i] shifted shift; endfor
77 for i:=0 upto 2: B[i] := B[i] shifted shift; endfor
81 draw for i := 0 upto 2: A[i]-- endfor C for i := 4 upto 6: --A[i] endfor;
82 for i := 1 upto 2: drawemptyvertex(A[i]); endfor
83 for i := 4 upto 5: drawemptyvertex(A[i]); endfor
84 for i := 0 upto 2: draw vertex(B[i]); endfor
95 A[1] := (-6.2cm, 0.9cm);
96 A[2] := (-4.6cm,1.5cm);
97 A[3] := (-2.4cm,1.8cm);
98 A[4] := (-0.8cm,1.5cm);
99 A[5] := (0.4cm,0.6cm);
100 A[6] := (0.8cm,-0.10cm);
101 A[7] := (-1.6cm,-1.9cm);
102 A[8] := (-4cm,-2.1cm);
103 A[9] := (-6cm, -1.5cm);
104 A[10] := (-7cm, 0cm);
106 B[0] := (-2.2cm, 0.7cm);
107 B[1] := (-1.2cm, 0.1cm);
108 B[2] := (-2.6cm, -0.6cm);
109 B[3] := (-3.6cm, -0.4cm);
110 B[4] := (-3cm, 0.6cm);
111 B[5] := (-2.6cm, 1cm);
112 B[6] := (-1cm, -1.2cm);
113 B[7] := (-6.5cm, 0.2cm);
114 B[8] := (-5cm, 0.8cm);
115 B[9] := (-6cm, -0.6cm);
116 B[10] := (-5cm, -1.2cm);
118 draw createpath(for i := 0 upto 5: A[i]-- endfor A[6]);
119 draw (for i := 6 upto 9: A[i]-- endfor A[10]) dashed evenly;
120 for i := 0 upto 9: drawemptyvertex(A[i]); endfor
121 for i := 0 upto 10: draw vertex(B[i]); endfor
123 label(btex \font\myfont=csr10 \myfont horní obálka etex, ((-7cm+0.8cm)/2,2.2cm));
124 label(btex \font\myfont=csr10 \myfont dolní obálka etex, ((-7cm+0.8cm)/2,-2.5cm));
125 label.lft(btex $L$ etex, A[0]);
126 label.rt(btex $P$ etex, A[6]);
129 figtag("determinant");
131 labeloffset := 0.1cm;
132 pair A[], shift; shift := (4cm,1cm);
137 A[2] := (1.5cm, 0cm);
138 A[3] := A[0] + A[2] - A[1];
140 fill A[0]--A[1]--A[2]--A[3]--cycle withcolor 0.8white;
141 draw A[0]--A[1]--A[2]--A[3]--cycle dashed evenly;
142 drawarrow A[0]--0.96[A[0],A[1]] withpen boldpen;
143 drawarrow A[1]--0.96[A[1],A[2]] withpen boldpen;
144 for i:=0 upto 2: draw vertex(A[i]); endfor
145 label.lft(btex $h_{k-1}$ etex, A[0]);
146 label.bot(btex $h_k$ etex, A[1]);
147 label.llft(btex $\vec u$ etex, 0.5[A[0],A[1]]);
148 label.lrt(btex $\vec v$ etex, 0.5[A[1],A[2]]);
149 label.rt(btex $b$ etex, A[2]);
150 label(btex $\det(M) > 0$ etex, 0.5[A[0],A[2]]);
153 A[0] := (-1cm, -0.5cm) + shift;
154 A[1] := (0, -1cm) + shift;
155 A[2] := (1cm, -1.5cm) + shift;
156 drawarrow A[0]--0.96[A[0],A[1]] withpen boldpen;
157 drawarrow A[1]--0.96[A[1],A[2]] withpen boldpen;
158 for i:=0 upto 2: draw vertex(A[i]); endfor
159 label.lft(btex $h_{k-1}$ etex, A[0]);
160 label.llft(btex $h_k$ etex, A[1]);
161 label.llft(btex $\vec u$ etex, 0.5[A[0],A[1]]);
162 label.llft(btex $\vec v$ etex, 0.5[A[1],A[2]]);
163 label.bot(btex $b$ etex, A[2]);
164 label(btex $\det(M) = 0$ etex, origin) shifted (0,0.3cm) rotated -28 shifted 0.5[A[0], A[2]];
167 shift := (7.5cm, 1.25cm);
168 A[0] := (-1cm, -0.5cm) + shift;
169 A[1] := (1.5cm, -1cm) + shift;
170 A[2] := (2cm, -2.5cm) + shift;
171 A[3] := A[0] + A[2] - A[1];
172 fill A[0]--A[1]--A[2]--A[3]--cycle withcolor 0.8white;
173 draw A[0]--A[1]--A[2]--A[3]--cycle dashed evenly;
174 drawarrow A[0]--0.96[A[0],A[1]] withpen boldpen;
175 drawarrow A[1]--0.96[A[1],A[2]] withpen boldpen;
176 for i:=0 upto 2: draw vertex(A[i]); endfor
177 label.lft(btex $h_{k-1}$ etex, A[0]);
178 label.urt(btex $h_k$ etex, A[1]);
179 label.top(btex $\vec u$ etex, 0.5[A[0],A[1]]);
180 label.rt(btex $\vec v$ etex, 0.5[A[1],A[2]]);
181 label.rt(btex $b$ etex, A[2]);
182 label(btex $\det(M) < 0$ etex, 0.5[A[0],A[2]]);
185 figtag("rybi_motivace");
188 def draw_fish(expr pos,size,rot) =
189 draw ((-1.3u*size,0){dir 60}..{right}(u*size,-u*size/4)) rotated rot shifted pos;
190 draw ((-1.3u*size,0){dir -50}..{right}(u*size,u*size/4)) rotated rot shifted pos;
191 draw ((u*size,-u*size/4)--(u*size,u*size/4)) rotated rot shifted pos;
192 draw (-1u*size,u*size/15) rotated rot shifted pos withpen pencircle scaled (u/8);
193 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
198 A[1] := (-6.2cm, 0.9cm);
199 A[2] := (-4.6cm,1.5cm);
200 A[3] := (-2.4cm,1.8cm);
201 A[4] := (-0.8cm,1.5cm);
202 A[5] := (0.4cm,0.6cm);
203 A[6] := (0.8cm,-0.10cm);
204 A[7] := (-1.6cm,-1.9cm);
205 A[8] := (-4cm,-2.1cm);
206 A[9] := (-6cm, -1.5cm);
207 A[10] := (-7cm, 0cm);
209 B[0] := (-2.2cm, 0.7cm);
210 B[1] := (-1.2cm, 0.1cm);
211 B[2] := (-2.6cm, -0.6cm);
212 B[3] := (-3.6cm, -0.4cm);
213 B[4] := (-3cm, 0.6cm);
214 B[5] := (-2.6cm, 1cm);
215 B[6] := (-1cm, -1.2cm);
216 B[7] := (-6.5cm, 0.2cm);
217 B[8] := (-5cm, 0.8cm);
218 B[9] := (-6cm, -0.6cm);
219 B[10] := (-5cm, -1.2cm);
221 for i:=0 upto 9: draw_fish(A[i], 1, 0); endfor;
222 for i:=0 upto 10: draw_fish(B[i], 1, 0); endfor;
223 draw createpath(for i:=0 upto 9: A[i]-- endfor cycle) scaled 1.13 shifted (0.4cm,0) withpen boldpen;