如何使用 MetaPost 绘制点划线曲线?

如何使用 MetaPost 绘制点划线曲线?

是否可以(轻松)在 MetaPost 中绘制点划线曲线,即在虚线和点之间交替的曲线?

对于虚线或点线曲线,我分别使用命令并以或draw结尾。dashed evenlydashed withdots

MetaPost 是否包含类似的点划线曲线选项?

答案1

的定义withdots

dashpattern(off 2.5 on 0 off 2.5)

evenly

dashpattern(on 3 off 3)

因此类似

beginfig(32);
draw dashpattern(on 3 off 3 on 0 off 3) dashed evenly;
picture p;
p=currentpicture;
currentpicture:=nullpicture;
draw fullcircle scaled 1cm xscaled 3 dashed p;
endfig;
end.

取自 Metapost 手册中的图 32,将交替出现虚线和点。

在此处输入图片描述

答案2

这并不重要,但根据记录,上面的 withdots (widthdots 是打字错误) 和 evenly 的定义是相反的。来自 plain.mp 的实际定义:

evenly=dashpattern(on 3 off 3); % `dashed evenly'
withdots=dashpattern(off 2.5 on 0 off 2.5); % `dashed withdots'

相关内容