我可以按照tikz
以下方式绘制一个圆圈:
\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[x=2cm/2]
\newcommand\rad{1}
\pgfplothandlerlineto
\pgfplotfunction{\x}{-1, -0.99, ..., 1}{\pgfpointxy{\x}{sqrt(\rad*\rad-\x*\x)}}
\pgfplotfunction{\x}{-1, -0.99, ..., 1}{\pgfpointxy{\x}{-sqrt(\rad*\rad-\x*\x)}}
\pgfusepath{stroke}
\end{tikzpicture}
\end{document}
输出为:
我尝试使用参数化来做同样的事情:
\begin{tikzpicture}[x=2cm/2]
\newcommand\rad{1}
\pgfplothandlerlineto
\pgfplotfunction{\alpha}{0, 0.01, ..., 6.28}{\pgfpointxy{\rad *cos(\alpha)}{\rad *sin(\alpha)}}
\pgfusepath{stroke}
\end{tikzpicture}
如何绘制参数化曲线?
答案1
\sin
和函数\cos
期望它们的参数以度为单位,因此如果您更改\pgfplotfunction{\alpha}{0, 0.01, ..., 6.28}...
为,\pgfplotfunction{\alpha}{0,5,10,...,360}...
那么一切都很好。
完整代码:
\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\newcommand\rad{1}% better to define outside of environment
\begin{tikzpicture}[x=2cm/2]
\pgfplothandlerlineto
\pgfplotfunction{\x}{-1, -0.99, ..., 1}{\pgfpointxy{\x}{sqrt(\rad*\rad-\x*\x)}}
\pgfplotfunction{\x}{-1, -0.99, ..., 1}{\pgfpointxy{\x}{-sqrt(\rad*\rad-\x*\x)}}
\pgfusepath{stroke}
\end{tikzpicture}
\begin{tikzpicture}[x=2cm/2]
\pgfplothandlerlineto
\pgfplotfunction{\x}{0,5,10,...,360}{\pgfpointxy{\rad *cos(\x)}{\rad *sin(\x)}}
\pgfusepath{stroke}
\end{tikzpicture}
\end{document}
我使用过\x
而不是\alpha
。当然,使用\alpha
也可以,但它损害了我的审美感 :)