答案1
元帖子是这种半数字图表的好工具。在这里我展示了它与luamplib,因此该示例需要用 进行编译lualatex
。
\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
% unit size
numeric u;
u = 7mm;
% axes
path xx, yy;
xx = (left -- 6 right) scaled u;
yy = (down -- 9 up ) scaled u;
drawarrow xx withcolor .6 white;
drawarrow yy withcolor .6 white;
label.rt ("$x$", point 1 of xx);
label.top ("$y$", point 1 of yy);
label.llft("$0$", origin);
% points of interest
pair E, M, B;
E = (0,5u);
B = (5u,0);
M = (1.8u,2u);
% graphs
path ff, gg;
z0 = whatever[E,M]; x0 = xpart point 0 of xx;
z1 = whatever[E,M]; y1 = ypart point 0 of yy;
ff = z0 -- z1;
gg = point 0.9 of yy .. M { M-E } .. B;
draw ff withcolor .67 blue;
draw gg withcolor .53 red;
% labels
dotlabel.llft("$E$", E);
dotlabel.urt ("$B$", B);
dotlabel.urt ("$M(x,y)$", M);
endfig;
\end{mplibcode}
\end{document}
笔记
路径的定义
ff
告诉你如何定义通过两点的一条线。定义 定义
z0 = whatever[E,M]
为位于通过和 的z0
直线上的某个位置,然后第二个方程将其固定下来。 是 的简写,其中是任何合适的后缀。 有关更多解释,请阅读上面第一个链接中列出的 Metapost 手册和教程。E
M
x0 = xpart point 0 of xx
z$
(x$,y$)
$
的定义向
gg
您展示了如何定义与某点相切的曲线路径。{M-E}
曲线中该点之后的点限制M
它从该点的 E 向 M 方向移动(以便它与直线平行)。