# Is there a way to draw implicit polar equations? [duplicate]

I need to plot the polar equation $r^2=\cos\theta$, but I could not find any built-in command in Mathematica to do so. Is there any (simple) way to plot an implicit polar equation?

PolarPlot[Sqrt[Cos[th]], {th, 0, 2 \[Pi]}]


• Well, the question is "Is there any way to draw the graph of implicit polar equations?" PolarPlot works when the relationship is explicit, but not when it is implicit. However, it can be used for the given example, so still worth to mention. Jul 3, 2017 at 18:46
• @C.E. It could be smth like PolarPlot[Evaluate[r /. Solve[r^2 == Cos[th], r]], {th, 0, 2 \[Pi]}] Jul 3, 2017 at 19:09
• @garej I was thinking about implicit relationships in polar coordinates where a corresponding explicit formula is hard or impossible to find. Take f.e. Solve[r^2 == Cos[r th], r], this cannot be solved with Solve, and hence cannot be plotted with PolarPlot. But it can be plotted with ContourPlot. Jul 3, 2017 at 19:17
• But this graph does not include when $r$ is negative. Jul 4, 2017 at 4:33
• true, technically is should be PolarPlot[{-Sqrt[Cos[th]], Sqrt[Cos[th]]}, {th, 0, 2 \[Pi]}] Jul 10, 2017 at 15:31

You can use Mathematica to figure out what the corresponding relationship is in cartesian coordinates,

r^2 == Cos[th] /. {r -> Sqrt[x^2 + y^2], th -> ArcTan[x, y]}


Using ContourPlot to plot this:

ContourPlot[
x^2 + y^2 == x/Sqrt[x^2 + y^2],
{x, 0, 1}, {y, -1, 1}
]


• Thanks. I like to have $x$ and $y$-axis in the graph, and I wonder if it is possible using ContourPlot. But there is also a question, that this graph does not seem include the case $r<0$. Jul 4, 2017 at 4:35
• @James $r$ is always zero or larger in a polar coordinate system... If you have something else in mind, you have to specify what that is. In your coordinate system, how is $r$ related to $x$ and $y$? The options for ContourPlot are well documented. Read about Frame (which you'll want to set to False) and Axes. Jul 4, 2017 at 5:02