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

This question already has an answer here:

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?

## marked as duplicate by C. E., garej, LCarvalho, m_goldberg plotting StackExchange.ready(function() { if (StackExchange.options.isMobile) return; $('.dupe-hammer-message-hover:not(.hover-bound)').each(function() { var$hover = $(this).addClass('hover-bound'),$msg = $hover.siblings('.dupe-hammer-message');$hover.hover( function() { $hover.showInfoMessage('', { messageElement:$msg.clone().show(), transient: false, position: { my: 'bottom left', at: 'top center', offsetTop: -7 }, dismissable: false, relativeToBody: true }); }, function() { StackExchange.helpers.removeMessages(); } ); }); }); Jul 3 '17 at 20:54

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. – C. E. Jul 3 '17 at 18:46
• @C.E. It could be smth like PolarPlot[Evaluate[r /. Solve[r^2 == Cos[th], r]], {th, 0, 2 \[Pi]}] – garej Jul 3 '17 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. – C. E. Jul 3 '17 at 19:17
• But this graph does not include when $r$ is negative. – James Jul 4 '17 at 4:33
• true, technically is should be PolarPlot[{-Sqrt[Cos[th]], Sqrt[Cos[th]]}, {th, 0, 2 \[Pi]}] – Ruud3.1415 Jul 10 '17 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$. – James Jul 4 '17 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. – C. E. Jul 4 '17 at 5:02