It actually does it by creating a polygon with 100 edges.

circle(x0, y0, r, rescale = TRUE)

Arguments

x0, y0

Numeric scalars. Center of the circle

r

Numeric scalar. Radius of the circle.

rescale

Logical scalar. When TRUE, rescales the polygon coordinates such that it preservers its aspect ratio once plotted.