summaryrefslogtreecommitdiff
path: root/info/drawing-with-metapost/src/closed-points.mp
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-15 03:01:57 +0000
committerNorbert Preining <norbert@preining.info>2023-04-15 03:01:57 +0000
commit78e6b19d4678a9d641c4afa4ca800288cfa0a9d5 (patch)
treead774593055c02ade73402379b9df52568f6940f /info/drawing-with-metapost/src/closed-points.mp
parentb17717e3829bc08efb71ec2537d9d894c8b82d45 (diff)
CTAN sync 202304150301
Diffstat (limited to 'info/drawing-with-metapost/src/closed-points.mp')
-rw-r--r--info/drawing-with-metapost/src/closed-points.mp66
1 files changed, 66 insertions, 0 deletions
diff --git a/info/drawing-with-metapost/src/closed-points.mp b/info/drawing-with-metapost/src/closed-points.mp
new file mode 100644
index 0000000000..9abf287338
--- /dev/null
+++ b/info/drawing-with-metapost/src/closed-points.mp
@@ -0,0 +1,66 @@
+\documentclass{standalone}
+\usepackage{luamplib}
+\begin{document}
+\mplibtextextlabel{enable}
+\begin{mplibcode}
+
+vardef median primary P =
+ (origin for i=1 upto length P: + point i of P endfor) / length P
+enddef;
+
+primarydef p enlarged s = p shifted -median p scaled s shifted median p enddef;
+
+path u, c, s;
+u = unitsquare shifted -(1/2, 1/2) scaled 72;
+c = fullcircle scaled 72 shifted 108 right;
+s = (superellipse(right, up, left, down, 0.8)) scaled 36 shifted 216 right;
+
+picture p[];
+p1 = image(
+draw origin--left scaled 50 withcolor background;
+ahangle := 30; numeric r, x; r = 9/16; x = -1;
+forsuffixes $=u, c, s:
+ drawarrow subpath(r, r + length $) of $;
+ draw fullcircle scaled 2 shifted median $ withcolor .67 red;
+ for i=0 upto length $-1:
+ fill fullcircle scaled 2 shifted point i of $ withcolor .67 red;
+ label(decimal i, point i of ($ enlarged 1.15));
+ endfor
+endfor);
+
+p2 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ fill median $ -- subpath (1,2) of $ -- cycle withcolor .8[blue,white];
+ draw median $ -- point 1 of $;
+ draw median $ -- point 2 of $;
+ draw $;
+endfor
+);
+
+p3 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ r := 1/5 length $;
+ fill median $ -- subpath (0,r) of $ -- cycle withcolor .8[red,white];
+ draw median $ -- point 0 of $;
+ draw median $ -- point r of $;
+ draw $;
+ endfor
+);
+
+p4 = image(
+draw origin--left scaled 50 withcolor background;
+forsuffixes $=u,c,s:
+ fill median $ -- subpath (-1,1) of $ -- cycle withcolor .8[black,white];
+ draw median $ -- point -1 of $;
+ draw median $ -- point 1 of $;
+ draw $;
+ endfor
+);
+
+beginfig(1);
+for i=1 upto 4: draw p[i] shifted (0,-108i); endfor
+endfig;
+\end{mplibcode}
+\end{document}