如何在 Asymptote 中的曲线之间填充颜色

如何在 Asymptote 中的曲线之间填充颜色
\documentclass[border=5pt]{standalone}
\usepackage{asymptote}

\begin{document}

\begin{asy}
size(5cm);
draw((0,0){up}--{right}(3,3){down}--{left}(1,1){right}--{up}(2,2){left}--{down}(0,0));
draw((0,0){up}..{right}(2,2){left}..{down}(1,1){right}..{up}(3,3){down}..{left}(0,0));
\end{asy}

\end{document}

它产生了下图:

enter image description here

我希望它产生这样的图形:

enter image description here

附言:我是 Asymptote 的新用户……

enter image description here

答案1

使用filldraw并且路径必须是封闭的,因此您需要添加..cycle并提供颜色rgb(254,248,128)。还请注意,varwidth抑制额外添加的宽度的选项用于获得对称的独立 pdf。

\documentclass[border=5pt,varwidth]{standalone}
\usepackage{asymptote}

\begin{document}

\begin{asy}
size(0,150);
defaultpen(linewidth(1pt));
filldraw((0,0){up}..{right}(3,3){down}..{left}(1,1){right}..{up}(2,2){left}..{down}(0,0)..cycle,rgb(254,248,128));
filldraw((0,0){up}..{right}(2,2){left}..{down}(1,1){right}..{up}(3,3){down}..{left}(0,0)..cycle,rgb(128,127,255));
\end{asy}

\end{document}

enter image description here

更新

要添加网格,请add(grid(x,y));在包含后使用import geometry;。您可以更改网格的线型、颜色、宽度等。以下是示例:

\begin{asy}
import geometry;
size(0,150);
defaultpen(linewidth(1pt));
add(grid(3,3,gray+.5bp));
filldraw((0,0){up}..{right}(3,3){down}..{left}(1,1){right}..{up}(2,2){left}..{down}(0,0)..cycle,rgb(254,248,128)+opacity(.8));
filldraw((0,0){up}..{right}(2,2){left}..{down}(1,1){right}..{up}(3,3){down}..{left}(0,0)..cycle,rgb(128,127,255)+opacity(.8));
\end{asy}

enter image description here

答案2

varwidth如果你使用,则不需要等asypictureB。这还有其他一些优点。最值得注意的是,你可以在渐近线代码中偷偷携带 TeX 宏。(例如使用pdflatex -shell-escapeThe进行编译filldraw命令在Charles Staats 的教程,的作者asypictureB

\documentclass[border=3.14mm]{standalone}
\usepackage{asypictureB}

\begin{document}
\begin{asypicture}{name=fill}
size(0,150);
defaultpen(linewidth(1pt));
filldraw((0,0){up}..{right}(3,3){down}..{left}(1,1){right}..{up}(2,2){left}..{down}(0,0)..cycle,rgb(254,248,128));
filldraw((0,0){up}..{right}(2,2){left}..{down}(1,1){right}..{up}(3,3){down}..{left}(0,0)..cycle,rgb(128,127,255));
\end{asypicture}
\end{document}

enter image description here

相关内容