在 TeX 中绘制曲线 r=0.5+2cos(theta)

在 TeX 中绘制曲线 r=0.5+2cos(theta)

有人能告诉我我做错了什么吗?我只想使用 tikz 包。我的思维过程是; r^2=x^2+y^2因此r=sqrt(x^2+y^2) 使用x=(a/2)+bcos(theta)+(a/2)cos(2theta)y=bsin(theta)+(a/2)sin(2theta)当 时r=a+bcos(theta),我们得到 r=sqrt(((0.25)+2cos(theta)+(0.25)cos(2theta))^2+((2sin(theta)+0.25sin(sin(2theta))^2)。因此重新排列 theta 我们得到theta=acos(r-0.5)*0.5。我的代码如下:

\documentclass{article}
\input{header}
\usepackage{tikz}
\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}[xscale=1.3, yscale=5, domain=-2*pi:2*pi]
\draw[->] (-0.2,0) -- (1.7,0)
node[below]{$x$};
\draw[->] (0,-1) -- (0,1)
node[left]{$F(x)$};
\draw[color=blue,smooth]
plot(\x,{0.5*acos({{sqrt((0.25+2*cos(\x r) + 0.25*cos(2*\x r))^2+(2*sin(\x r) +0.25*sin(2*\x r))^2)-0.5}})})
node[below]{$\cos$};

\end{tikzpicture}
\caption{Lim}
\label{fig:Lim}
\end{figure}
\end{document}

但它总是出错。我不想使用 cspolar 或任何其他包。

答案1

通过尝试转换为矩形,您将遇到域错误。您可以将方便的pgfplots与结合使用tikz,轻松获得所需的结果:

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}

\begin{document}

\begin{tikzpicture}
    \begin{polaraxis}
        \addplot+[black, very thick, mark=none, domain=0:720, samples=600 ] {0.5+2*cos(x)};
    \end{polaraxis}
    \draw (3.43cm,-.45cm) node [below] {$\frac12+2\cos(\theta)$};
\end{tikzpicture}

\end{document}

利马孔

答案2

只是为了好玩:一个简短的代码pst-plot

\documentclass[11pt, a4paper, pdf, svgnames]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}

\usepackage{pst-plot}

\begin{document}

\psset{unit=2.5cm, arrowinset=0.15, ticksize=2.5pt -2.5pt, labelFontSize=\footnotesize, tickwidth =0.6pt}

\begin{pspicture}(-1.5,-1.9)(3.9,1.9)
    \psaxes[arrows=->, linecolor=LightSteelBlue, tickcolor=LightSteelBlue](0,0)(-1.6,-1.9)(3.6,1.9)[$x$,-110][$y$,-140]
    \psset{linewidth=1.2pt, plotpoints=200, plotstyle=curve, polarplot, algebraic, labelsep=0.5em}
    \psplot[linecolor =IndianRed ]{0}{TwoPi}{0.5 + 2*cos(x)}
\end{pspicture}

\end{document}

在此处输入图片描述

相关内容