我刚刚学习如何使用 Asymptote。我使用类似 的命令绘制了一个包含多条路径和圆的复杂图表draw((1,2)..(3,4))
,但现在我想在不同的中心点重复绘制该图表几次。因此,我要么需要将命令列表分配给子程序,要么以某种方式将它们分配给可以调用该方法的变量draw
。文档对这个问题莫名其妙地保持沉默。
答案1
在 中,asymptote
您可以通过在picture
以外的上绘图来实现此目的currentpicture
。在这里,我创建 并在 上绘图picture
p
。 然后使用命令picture
p
在 上绘图,并应用变换。手册中有一节介绍如何使用图片。currentpicture
add
asymptote
unitsize(1cm);
picture p;
draw(p, scale(1,2)*unitsquare);
label(p, "$A$", (1,0), NW);
fill(p, scale(0.3,0.3)*unitcircle, red);
add(p);
add(shift(2,1)*p);
add(shift(2,-1)*rotate(-90)*scale(2)*p);