diff --git a/asymptote/asy-label.asy b/asymptote/asy-label.asy new file mode 100644 index 0000000000000000000000000000000000000000..1a7611a201e3aeaa186f347e5a98cc378377ac1e --- /dev/null +++ b/asymptote/asy-label.asy @@ -0,0 +1,19 @@ +string rule = "\hbox to 30pt{\vrule height 10pt depth 2pt\hrulefill\vrule height 10pt depth 2pt}"; +unitsize(20mm); +dotfactor = 4; +labelmargin = 0.5; + +label(rule, (0,0)); +dot((0,0), red); + +label(rule, (1,0), N); +dot((1,0), red); + +label(rule, (2,0), 2N); +dot((2,0), red); + +label(rule, (3,0), W); +dot((3,0), red); + +label(rule, (4,0), dir(30)); +dot((4,0), red); diff --git a/asymptote/asy-pattern.asy b/asymptote/asy-pattern.asy new file mode 100644 index 0000000000000000000000000000000000000000..602bc5258073fccb18a8839911ef1d51078c9756 --- /dev/null +++ b/asymptote/asy-pattern.asy @@ -0,0 +1,22 @@ +import patterns; + +size(10cm, 0); + +add("tile", tile()); +add("checker", checker()); +add("brick", brick()); + +filldraw(circle((0,0), 2), pattern("tile"), black + 1); +filldraw(circle((5,0), 2), pattern("checker"), black + 1); +filldraw(circle((0,-5), 2), pattern("brick"), black + 1); + +picture test; +real d = 5; +pen p = defaultpen + 1; +draw(test, (0,0)--(d,d), p); +draw(test, (d,0)--(0,d), p); + +// add("test", test); +// add("test", test, (1,1), (1,1)); +add("test", test, (-0.3, -0.3), (-0.3, -0.3)); +filldraw(circle((5,-5), 2), pattern("test"), black + 1); diff --git a/asymptote/asy-pen.asy b/asymptote/asy-pen.asy new file mode 100644 index 0000000000000000000000000000000000000000..8b04fd6242ed873da8f5ea1e90f5e5065e41caf3 --- /dev/null +++ b/asymptote/asy-pen.asy @@ -0,0 +1,8 @@ +size(10cm, 0); + +path hex = dir(0) -- dir(60) -- dir(120) -- dir(180) -- dir(240) -- dir(300) -- cycle; +pen p = makepen(scale(5)*hex); + +draw((0,0) -- (10,10), p); + +draw((0,0), p + red); diff --git a/asymptote/asy-size.asy b/asymptote/asy-size.asy new file mode 100644 index 0000000000000000000000000000000000000000..6ead0939e3c9f60570df01ad1956a108e47ad57b --- /dev/null +++ b/asymptote/asy-size.asy @@ -0,0 +1,12 @@ +picture p; +pen q = currentpen + 3; +draw(p, (0,0) -- (1,1), q); +label(p, "$x$", (0.5, 0.5), 3NW); + +frame f1 = align(p.fit(1cm), (0,0)); +frame f2 = align(p.fit(2cm), (0,0)); +frame f3 = align(p.fit(4cm), (0,0)); + +attach(f1); +attach(f2, (2cm, 0)); +attach(f3, (5cm, 0)); diff --git a/asymptote/bezier.asy b/asymptote/bezier.asy new file mode 100644 index 0000000000000000000000000000000000000000..1f55afe5d78e3c4cd10348aeb139a5696c5c2d9f --- /dev/null +++ b/asymptote/bezier.asy @@ -0,0 +1,49 @@ +unitsize(10cm); + +pair a = (0,0); +pair b = (1, 0.25); +pair c = (2,0); + +pair bb = (1, 0.5); +pair cc = (1.5,0); + +transform xf = identity; + +void dots() { + dot(xf * a); + dot(xf * b); + dot(xf * c); +} + +void d(real t) { + path p = a{N} .. tension t .. b{E} .. tension t .. c{S}; + draw(xf * p); +} + +dots(); +d(1); + +xf = shift((0, -0.5)); +dots(); +d(0.8); +d(1); +d(2); +d(3); +d(10); + +xf = shift((0, -1)); +dots(); +draw(xf * (a{N} .. tension atleast 1 .. b{E} .. tension atleast 1 .. c{S})); + +xf = shift((0, -1.5)); +dots(); +draw(xf * (a{N} .. tension atleast 0.8 .. b{E} .. tension atleast 0.8 .. c{S}), red); +draw(xf * (a{N} .. tension atleast 1 .. b{E} .. tension atleast 1 .. c{S})); + +xf = shift((0.3, -2.3)); +dot(xf * a); +dot(xf * bb); +dot(xf * cc); +draw(xf * (a .. bb .. cc)); +draw(xf * (a{curl 2} .. bb .. {curl 2}cc), red); +draw(xf * (a{curl 10} .. bb .. {curl 10}cc), blue);