Select Git revision
ab-del-borrow.asy

Martin Mareš authored
ab-del-borrow.asy 1.72 KiB
import ads;
import trees;
/* Předtím */
pair u[];
real s = 1;
u[0] = (0, 0); // otec
u[1] = u[0] + (-1.3, -s); // odkud si půjčujeme
u[2] = u[0] + (0, -s); // podtečený vrchol
u[3] = u[0] + (1.3, -s); // e
u[4] = u[1] + (-0.5, -s); // a
u[5] = u[1] + (0, -s); // b
u[6] = u[1] + (0.5, -s); // c
u[7] = u[2] + (0, -s); // d
tree_init(u);
real d = 0.1;
real dd = 0.18;
ab_edge(0, 1, -dd);
ab_edge(0, 2);
ab_edge(0, 3, dd);
ab_edge(1, 4, -dd);
ab_edge(1, 5);
ab_edge(1, 6, dd);
ab_edge(2, 7);
tree_elliptic_node(0, "{\bf 4}\;7");
tree_elliptic_node(1, "2\;{\bf 3}");
tree_elliptic_node(2, mode=v_bold);
tree_node(4, "a");
tree_node(5, "b");
tree_node(6, "c");
tree_node(7, "d");
tree_node(3, "e");
label("$v$", u[2], 3NNW);
label("$\ell$", u[1], (0, 3NNW.y));
draw(u[0] + 0.7W -- u[0] + 0.3W, e_smallarrow);
label("$p$", u[0] + 0.7W, 0.5W);
pair dd = dir(-30);
draw(u[1] + 0.7dd -- u[1] + 0.3dd, e_smallarrow);
label("$m$", u[1] + 0.7dd, 0.5dd);
/* Potom */
pair v[];
real s = 1;
v[0] = (5, 0); // otec
v[1] = v[0] + (-1.3, -s); // odkud si půjčujeme
v[2] = v[0] + (0, -s); // podtečený vrchol
v[3] = v[0] + (1.3, -s); // e
v[4] = v[1] + (-0.3, -s); // a
v[5] = v[1] + (0.3, -s); // b
v[6] = v[2] + (-0.3, -s); // c
v[7] = v[2] + (0.3, -s); // d
tree_init(v);
real d = 0.1;
real dd = 0.18;
ab_edge(0, 1, -dd);
ab_edge(0, 2);
ab_edge(0, 3, dd);
ab_edge(1, 4, -d);
ab_edge(1, 5, d);
ab_edge(2, 6, -d);
ab_edge(2, 7, d);
tree_elliptic_node(0, "{\bf 3}\;7");
tree_elliptic_node(1, "2");
tree_elliptic_node(2, "\bf 4");
tree_node(4, "a");
tree_node(5, "b");
tree_node(6, "c");
tree_node(7, "d");
tree_node(3, "e");
label("$v$", v[2], 3NNW);
label("$\ell$", v[1], (0, 3NNW.y));
/* Šipka */
draw((1.8,-0.3) -- (2.9,-0.3), e_arrow);