我搜索了一下,没有找到与此相关的内容。
假设我在 Metapost 中使用命令创建了一条封闭曲线
p:=z_1..z_2..z_3..cycle
。是否可以使用不同的颜色来为该曲线的各个部分着色?如何定义该曲线的子集?
我在想也许存在一个参数表示,例如可以使我用另一种颜色来为p
部分着色。z_1
z_2
如果我能做到上述操作,那将会很有帮助,因为我想将其他图形附加到曲线的彩色部分。
谢谢。
答案1
指定路径的各个部分的方法有很多种。一种方法是使用cutbefore
andcutafter
语句,如下所示:
\starttext
\startMPpage
% define points
z_0 := origin;
z_1 := (0cm, .5cm);
z_2 := (3cm, 1cm);
z_3 := (5cm, 3.5cm);
z_4 := (2cm, 3cm);
z_5 := (1cm, 2cm);
% define paths
path p;
p := z_1 .. z_2 .. z_3 .. z_4 .. z_5 .. cycle;
path s;
s := p cutbefore point 3 of p .. p cutafter point 1 of p;
% draw lines
draw p withpen pencircle scaled 8pt withcolor blue;
draw s withpen pencircle scaled 4pt withcolor yellow;
% draw the points and labels
pickup pencircle scaled 8pt;
for x=0 upto 4:
draw point x of p;
label.bot(decimal(x), point x of p);
endfor;
\stopMPpage
\stoptext
结果:
欲了解更多信息,我建议阅读MetaFun 手册。MetaFun 是 MetaPost 的一个扩展。无论如何,其中包含许多示例(参见第一章和第二章),它们也可以与普通的 MetaPost 一起使用。