b2KIT

Polar Graph Plotter

Graph polar equations r(theta) with animated sweep, fill regions, and common curve presets like roses, cardioids, and lemniscates.

Tested tool guide Tested browser tools Checked August 16, 2026

What Polar Graph Plotter does, with a checked example

Enter a polar equation of the form r = f(theta) and this tool draws the curve by sweeping the angle theta around the pole, converting each (r, theta) pair to an x-y point as it goes. The sweep animates, and enclosed regions can be filled. Presets cover the standard families: roses r = a sin(k theta), cardioids r = a(1 + or - cos theta), and lemniscates r^2 = a^2 cos(2 theta). The common surprise: r may go negative, and a negative radius is plotted 180 degrees from the direction theta points, so parts of the curve appear mirrored across the pole.

Worked example

A concrete input and expected output from the current implementation.

Input

r = cos(2*theta)

Expected output

A four-petal rose, one petal of length 1 on each axis. The petal on the positive x-axis is drawn while cos(2 theta) is positive; the petal pointing down is drawn while theta sweeps from 45 to 135 degrees, where the radius is negative and each point is mirrored 180 degrees through the pole to land below. The fill covers four separate lobes meeting at the pole.

For even k the rose rule gives 2k petals, and the stretches where cos(2 theta) is negative draw their petals on the opposite axes, which is why the downward petal is traced while the sweep passes through the left side.

How the result is produced

1

Plotting the trace

For each step of the sweep the tool evaluates r at the current angle and places the point at (r cos theta, r sin theta) from the pole; connecting those points as theta increases draws the curve, as the animation shows. A negative r is placed 180 degrees from the direction theta points, and the shape depends on the sweep's total span, not its starting angle.

2

Presets and region fill

The presets are standard families: roses r = a sin(k theta) or a cos(k theta), with k petals if k is odd, 2k if even; cardioids r = a(1 + or - cos theta); and lemniscates r^2 = a^2 cos(2 theta). Filled regions are bounded by the curve and the pole between consecutive crossings of r = 0, with area one half of the integral of r^2 d theta.

Good uses

  • Verify a homework or textbook curve before sketching it by hand: enter r = 1 + cos theta and confirm the cardioid's cusp sits at the pole while its widest point, r = 2, faces along the positive x-axis.
  • Explore a parameter family: run r = a sin(k theta) for several k to see the odd/even petal rule, then flip 1 + cos theta to 1 - cos theta and watch the cardioid point the other way.
  • Watch the animated sweep to see trace order: one pass of theta draws all four petals of r = cos(2 theta), including stretches where r is negative and the point is carried through the pole to the opposite side.

Limits and checks

  • Sweep range cuts the curve. The plot shows only what the theta range covers: sweep 0 to 180 degrees with r = 1 + cos theta and you get half a cardioid. Some curves finish early (r = sin(3 theta) completes by 180 degrees), but most need the full 0 to 360 degrees, and the angle unit is radians, not degrees.
  • Negative radii look like errors. At theta = 90 degrees, r = cos(2 theta) evaluates to -1 and the point is placed at 270 degrees instead. A petal appearing on the wrong side is usually correct; check the sign of r before suspecting the equation or the tool.
  • Fill is per lobe, not per curve. The fill of a rose is a set of separate lobes: the four lobes of r = cos(2 theta) cover about 1.57 square units, roughly 0.39 per petal, computed from the integral of r^2/2, not of r, so it is not an area under a curve.

Common questions

Why does my four-petal rose have petals on axes I did not expect?

Check the sign of r during the sweep. When r is negative the point is drawn 180 degrees from the direction theta points, so for r = cos(2 theta) the stretches between 45 and 135 degrees and between 225 and 315 degrees draw petals pointing down and up instead. The equation is fine; the mirroring is how polar graphs work.

Do I need to sweep the full 360 degrees to get a complete rose?

It depends on the curve. r = sin(3 theta) completes all three petals by 180 degrees, and sweeping further only retraces them. Most equations, including r = cos(2 theta), need the full 0 to 360 degrees. When in doubt, sweep the full range: retracing is harmless, and a short range is the usual cause of a half-finished curve.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools