我正在尝试通过其解析函数绘制 naca0012 翼型轮廓(cf 维基百科) 使用 tikz ,我不明白为什么我会得到以下结果。我明确表示,如果我在 tikz 中使用 gnuplot ,我会得到相同的结果\draw plot function
。它似乎错误地计算了图的前 4%。如果我更改为domain=0.:0.05
,我也会得到错误的前 4% domain=0.:0.05
。
我错在哪里了?我应该以某种方式指定 tikz 选项吗?
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[scale=10]
\draw[step=.02,gray,very thin] (-0.1,-0.1) grid (1.1,0.15);
\draw[color=red,domain=0.:1.,scale=5] plot[id=naca] (\x,{0.12/0.2*(0.2969*sqrt(\x )-0.126*\x -0.3516*\x^2 +0.2843*\x^3 -0.1015*\x^4 )}) ;
\draw[color=blue,domain=0.:.05,yshift=1] plot[id=naca] (\x,{0.12/0.2*(0.2969*sqrt(\x )-0.126*\x -0.3516*\x^2 +0.2843*\x^3 -0.1015*\x^4 )}) ;
\end{tikzpicture}
\end{document}
生产
答案1
采样点之间的图是线性的。为了达到更好的分辨率(从而使图更平滑),请使用样本选项,即
\draw[domain=0.:1.,samples=400] plot[id=naca] (\x,{0.12/0.2*(0.2969*sqrt(\x )-0.126*\x -0.3516*\x^2 +0.2843*\x^3 -0.1015*\x^4 )}) ;
如果您添加marks=+
(或者*
或x
,如果您愿意的话),您可以看到采样点。要调整缩放比例,需要减小标记的大小。
\draw[domain=0.:1.,samples=100] plot[id=naca,mark=+,mark size=0.1] (\x,{0.12/0.2*(0.2969*sqrt(\x )-0.126*\x -0.3516*\x^2 +0.2843*\x^3 -0.1015*\x^4 )}) ;
smooth
此外,您可以提供更好的插值算法,而不是使用高样本数。
您可能还想看看pgf图包裹。