File:Ann dependency (graph).svg
Added source code
← Older revision
Revision as of 15:46, 1 April 2013
Line 15:
Line 15:
=={{int:license-header}}==
=={{int:license-header}}==
{{self|cc-by-sa-3.0}}
{{self|cc-by-sa-3.0}}
+
+
==Source==
+
+
size(5cm);
+
import graph;
+
+
pair circleEdge(real radius, pair p1, pair p2) {
+
return p2 - radius*unit(p2 - p1);
+
}
+
+
void drawArrow(real radius, pair p1, pair p2) {
+
pair hshift = (radius, 0),
+
initial = p1 + hshift, final = circleEdge(radius, initial, p2);
+
draw(initial--final, Arrow);
+
}
+
+
+
int dx = 4, dy = 2;
+
int radius = 1;
+
+
pair x0 = (0,0),
+
h1 = (dx, 2*dy), h2 = (dx,0), h3 = (dx, -2*dy),
+
g1 = (2*dx, dy), g2 = (2*dx, -dy),
+
f0 = (3*dx, 0);
+
+
draw(Circle(x0, radius)); label("$x$", x0);
+
+
draw(Circle(h1, radius)); label("$h_1$", h1);
+
draw(Circle(h2, radius)); label("$h_2$", h2);
+
draw(Circle(h3, radius)); label("$h_3$", h3);
+
+
draw(Circle(g1, radius)); label("$g_1$", g1);
+
draw(Circle(g2, radius)); label("$g_2$", g2);
+
+
draw(Circle(f0, radius)); label("$f$", f0);
+
+
+
drawArrow(radius, x0, h1);
+
drawArrow(radius, x0, h2);
+
drawArrow(radius, x0, h3);
+
+
drawArrow(radius, h1, g1);
+
drawArrow(radius, h2, g1);
+
drawArrow(radius, h2, g2);
+
drawArrow(radius, h3, g2);
+
+
drawArrow(radius, g1, f0);
+
drawArrow(radius, g2, f0);
+
+