将曲线纳入填充绘制循环

将曲线纳入填充绘制循环

我对在 LaTeX 中绘制渐近线有疑问。我是渐近线使用方面的新手,在网上找到的手册中找不到任何帮助。

这就是问题所在。

从这个简单的代码开始

\begin{asy}
  import patterns;

  size(6cm,0);
  draw(box((0,0), (2,1)));

  pen p=1.5bp+.9red;

  pair A=(0,0), B=(0,1), C=(0.7,1), D=(2,0.35),E=(2,0);

  add("shd",hatch(H=3mm,dir=SE,red));

  filldraw(A--B--C--D--E--cycle,pattern("shd"),p);
  \end{asy}

效果很好,可以遮蔽直线所限定的区域,我想将线段 CD 更改为曲线 $f(x)=0.7/x$。这是我的一次幼稚尝试:

\begin{asy}
  import patterns;
  import graph;

  size(6cm,0);
  draw(box((0,0), (2,1)));

  pen p=1.5bp+.9red;

  pair A=(0,0), B=(0,1), C=(0.7,1), D=(2,0.35), E=(2,0);

  real f(real x) {return 0.7/x}

  add("shd",hatch(H=3mm,dir=SE,red));

  filldraw(A--B--C--graph(f,0.7,2)--D--E--cycle,pattern("shd"),p);
\end{asy}

然而,它不起作用。

提前感谢您的帮助。

答案1

对于 Asymptote 初学者来说,你解决了脚本中的所有难题,这让我印象深刻!你只是在返回语句中忘记了一个分号。

感谢您提供有效和无效的示例代码!

\begin{asy}
  import patterns;
  import graph;

  size(6cm,0);
  draw(box((0,0), (2,1)));

  pen p=1.5bp+.9red;

  pair A=(0,0), B=(0,1), C=(0.7,1), D=(2,0.35), E=(2,0);

  real f(real x) { return 0.7/x; }  // <------ ADDED SEMICOLON HERE

  add("shd",hatch(H=3mm,dir=SE,red));

  filldraw(A--B--C--graph(f,0.7,2)--D--E--cycle,pattern("shd"),p);
\end{asy}

在此处输入图片描述

相关内容