How does TikZ render an arc?
Here is an attempt to use an animation to explain step by step what's going on. I use the non-deprecated syntax, as suggested by Joule V.
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{overlay-beamer-styles}
\begin{document}
\begin{frame}[t]
\frametitle{The arc construction}
\textbackslash\texttt{draw (P) arc[start angle=$\alpha$,end
angle=$\beta$,radius=$r$];}
\centering
\begin{tikzpicture}
\node[circle,fill,inner sep=1pt,label=right:{$P=(x,y)$}] (P){};
\draw[dashed,visible on=<2-3>] (P) ++ (210:2) coordinate (O) circle[radius=2cm];
\draw[visible on=<2>] (O) + (1,0) arc[start angle=00,end angle=30,radius=1cm]
node[midway,right] {$\alpha$};
\draw[visible on=<2>] (P) -- (O) -- ++(2,0) node[midway,below]{$r$};
\draw[visible on=<3-4>,thick] (P) arc[start angle=30,end angle=135,radius=2cm]
coordinate (Q);
\draw[visible on=<3>] (O) + (1,0) arc[start angle=00,end angle=135,radius=1cm]
node[midway,below] {$\beta$} (Q) -- (O) -- ++(2,0) ;
\path (O) -- ++ (0,2.5); % only for the bounding box
\end{tikzpicture}
\begin{itemize}
\item<+-> Consider a point $P=(x,y)$.
\item<+-> Imagine now a circle of radius $r$ for which $P$ sits at the angle
$\alpha$.
\item<+-> The arc runs along this circle between the angles $\alpha$ and
$\beta$.
\end{itemize}
\end{frame}
\end{document}
Short answer: arc
has nothing to do with circle
. circle
is drawn with four curves, arc
is drawn with one curve, that is all.
Let's start with tikz.code.tex
. In lines 3673–3706, there is the definition of \tikz@do@arc
, based on \pgfpatharc
, which is defined in pgfcorepathconstruct.code.tex
. Circles and ellipses are defined in the same way.
In pgfcorepathconstruct.code.tex
, \pgfpatharc
is defined as a curve with a starting point and an ending point, based on \pgf@nlt@curveto
(line 401).
Meanwhile, you can see that any kind of curves, even circles, are defined based on \pgf@nlt@curveto
. Circles and ellipses is defined in \pgfpathellipse
as a set of four connected curves: line 926, line 947, line 968, and line 989 — each of these curves has its own \pgf@nlt@curveto
.
That is why the arc
does not take its coordinate as the center, but a starting point.
A PSTricks solution just for fun.
In PSTricks, drawing circular arcs as well as elliptical arcs is very intuitive as follows.
\documentclass[pstricks,border=12pt,12pt]{standalone}
\begin{document}
\begin{pspicture}[dimen=m](4,4)
\pscircle[linestyle=dashed](2,2){2}
\psellipse[linestyle=dashed](2,2)(2,1)
\psarc[linecolor=red](2,2){2}{45}{90}
\psellipticarc[linecolor=red,correctAngle=true](2,2)(2,1){45}{90}
\end{pspicture}
\end{document}