TikZ
当用和绘制圆周(的四分之一)时pgfplot
,它不接触x = 0
水平线:
这可能是由于绘图的水平分辨率有限,在本例中使用8000
点。点数的增加会减慢最终的创建速度pdf
,并且无论如何也不会让曲线达到x = 0
。这是原始代码:
\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
domain=0:2*pi,samples=8000,grid=major,
width=15cm,
\addplot [color=red] {sqrt(1.1 - x^2)};
\end{axis}
\end{tikzpicture}
\end{document}
是否有可能绘制一个完全的圆周的四分之一,让它明确地从轴y
到x
轴,而不管值是多少samples
?是否有任何指令可以与TikZ
and/or一起使用以实现此目的pgfplot
?
答案1
\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
domain=0:2*pi,samples=100,grid=major,
width=15cm,]
\addplot[color=red, trig format plots=rad, domain=0:0.5*pi] ({sqrt(1.1) * cos(x)}, {sqrt(1.1) * sin(x)});
\end{axis}
\end{tikzpicture}
\end{document}
答案2
问题中的域已经从角度开始,但公式使用以下公式:
是= 平方根(r2 -X2)
有 50 个样本和标记点:
\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
domain=0:2*pi,
samples=50,
grid=major,
width=15cm,
]
\addplot+[color=red] {sqrt(1.1 - x^2)};
\end{axis}
\end{tikzpicture}
\end{document}
发现:
域太大(0 到 2π≈6.28)。上边界低于 1.1,正好是 sqrt(1.1)。
如果域由有理数给出,理论上最右边的点永远不可能被击中。至少,域应该在那里结束,才能得到 x 轴上的点。
更改:
domain=0:sqrt(1.1),
但是,为了得到平滑的右侧,需要大量的点,因为这些点在曲线上分布不均匀。这可以通过在极坐标中指定点来解决。还smooth
添加了 以便能够进一步减少样本数量。
\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
domain=0:90,
samples=10,
grid=major,
width=15cm,
]
\pgfmathsetmacro{\radius}{sqrt(1.1)}
\addplot+[color=red, smooth] ({\radius*cos(x)}, {\radius*sin(x)});
\end{axis}
\end{tikzpicture}
\end{document}