如何创建命名子图?

如何创建命名子图?

我刚刚学习如何使用 Asymptote。我使用类似 的命令绘制了一个包含多条路径和圆的复杂图表draw((1,2)..(3,4)),但现在我想在不同的中心点重复绘制该图表几次。因此,我要么需要将命令列表分配给子程序,要么以某种方式将它们分配给可以调用该方法的变量draw。文档对这个问题莫名其妙地保持沉默。

答案1

在 中,asymptote您可以通过在picture以外的上绘图来实现此目的currentpicture。在这里,我创建 并在 上绘图picture p。 然后使用命令picture p在 上绘图,并应用变换。手册中有一节介绍如何使用图片。currentpictureaddasymptote

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);

在此处输入图片描述

相关内容