🌐 EN

🌹 Polar Equation Plotter

Plot polar equations of the form r = f(θ). Type your own function or choose a preset like a rose or cardioid, then adjust the theta range and scale.

r =

Allowed: + - * / ^ ( ) and sin, cos, tan, sqrt, abs, exp, log, pow; constants pi and e; variable theta.

60
GUIDE

Learn more

01

What are polar coordinates?

In polar coordinates a point is described by (r, θ) — its distance r from the origin and the angle θ it makes with the positive x-axis — instead of the familiar (x, y). Many curves that look messy in x/y become simple in polar form, because a polar equation r = f(θ) directly says how far the curve reaches at each angle. This makes circles, spirals and flower-like shapes natural to express and easy to draw.
02

Famous polar curves

A rose r = cos(kθ) draws petals — k petals when k is odd and 2k when k is even. A cardioid r = 1 − cos θ traces a heart shape. A lemniscate forms a figure-eight, and the Archimedean spiral r = θ winds outward at a steady rate as the angle grows. Each preset in this plotter loads one of these classic equations so you can see the whole family and then tweak the numbers to make your own variations.
03

How this plotter is safe

Your expression is read by a custom whitelist math parser — not JavaScript eval — so only the listed functions (sin, cos, tan, sqrt, abs, exp, log, pow), the constants pi and e, and the variable theta are accepted; anything else is rejected before it can run. The theta range controls how much of the curve is swept out (a full flower usually needs 0 to 2π or more), and the scale control zooms the drawing so tall or tiny curves fit the canvas.

Frequently asked questions

What variable do I use?
Use <strong>theta</strong> for the angle. As a convenience you may also write <strong>t</strong> — both refer to the same angle that sweeps from your chosen minimum to maximum.
Which functions are allowed?
sin, cos, tan, sqrt, abs, exp, log and pow, plus the constants pi and e. You can combine them with ordinary arithmetic (+ − * /) and use ^ for powers, for example r = 2 * sin(3 * theta).
Why was my expression rejected?
Anything outside the whitelist — an unknown function name, a stray symbol, or code the parser does not recognize — is refused for safety. Check for typos, make sure every parenthesis is closed, and use only the listed names.