在 Metapost 中编码最速降线

在 Metapost 中编码最速降线

Metapost 中的最速降线

我需要一张像这样的图片(没有 vector、start 和 end),在 metapost 中。蓝色曲线是倒置摆线,绿色曲线是圆弧。我不知道该怎么做,所以任何帮助都很好。

答案1

最速降线是一条倒置的摆线。您可以在 Metapost 中绘制一条最速降线,想象自己正在沿 x 轴滚动一个轮子。 这是另一个摆线图问题

在此处输入图片描述

prologues := 3;
outputtemplate := "%j%c.eps";

beginfig(1);
numeric u, r;
u = 5mm;
r = 4u;

path xx, yy, A, B, C;
xx = (left -- 8 right) scaled u;
yy = (up   -- 8 down)  scaled u;

% define an inverted cycloid
A = origin for t=5 step 5 until 200: -- (0,r) rotated t shifted(r*t/57.29578,-r) endfor;

% find the point on it where it crosses the line y=-x
z0 = A intersectionpoint ((u,-u) -- (10u,-10u));

% define the straight line and the arc
B = origin -- z0;
C = quartercircle rotated 180 scaled 2x0 shifted (x0,0);

draw A cutafter z0 withcolor .53 blue;
draw B             withcolor .67 red;
draw C             withcolor .48 green;

draw (0,y0) -- z0 -- (x0,0) dashed withdots scaled 1/3;

drawarrow xx withcolor .5 white;
drawarrow yy withcolor .5 white;

dotlabel.urt("Start", origin);
dotlabel.lrt ("End", z0);


endfig;
end.

相关内容