如何平滑渐近线图

如何平滑渐近线图

我尝试绘制此函数并将其导出为.eps文件,但绘图看起来一点也不流畅

我对这个工具还很陌生,是样本数量的问题还是什么?

答案1

您必须增加采样率,该采样率位于变量中ngraph,默认为 100。这是 1000 的结果:

size(8cm,6cm,IgnoreAspect);
import graph;
ngraph=1000;
real f(real x){return Sin(x)^4;}
real g(real x){return (Sin(x)^2)*(Cos((x/2)^2));}
xlimits(0, 180);
labely(1,2W);
yaxis(Label("$y$",position=EndPoint, align=2E),Ticks("%",extend=true), Arrow);
xaxis(Label("$x$",position=EndPoint, align=2E), Arrow);
draw(graph(f, 0, 180));
draw(graph(g, 0, 180));
labelx(180,2S);

在此处输入图片描述

答案2

此图需要相当多的样本才能正确表示。我知道您想知道如何在 Asymptote 中执行此操作,但我想展示一种使用 PGFPlots 包直接在 LaTeX 中生成图的方法:

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    domain=0:180,
    samples=300,
    axis lines=middle,
    xtick={0,180},
    enlarge x limits=upper,
    enlarge y limits
]
\addplot [thick, red, smooth] {(sin(x)^2)};
\addplot [
    thick,
    smooth,
    line join=round % To avoid overshoots
] {(sin(x)^2)*(cos((x/2)^2))};
\end{axis}
\end{tikzpicture}
\end{document}

答案3

除了 Asymptote 特有的因素(采样分辨率)之外,该问题还受到以下因素的严重影响:eps。正如在我的 .eps 图像似乎缺乏分辨率,但在编译我的文档后变得清晰,这是怎么回事?,查看器中的线条平滑是罪魁祸首。我eps在 ghostview 中打开抗锯齿功能后,在图中也出现了与您相同的碎片,关闭抗锯齿功能后输出效果得到了很大改善。话虽如此,pdf从您和 egreg 的代码构建的看起来要好得多,因为它是由波普勒。此外,在印刷版中,eps情节可能看起来很流畅。

相关内容