I have implemented the conversion from endpoint to center parameterization of an elliptical arc following the instructions of the SVG spec at https://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter.
However, while checking whether the implementation works correctly I found that
- if I create an arc in center parameterization,
- get the endpoints of that arc and
- use those endpoints together with the other needed parameters to create the same arc in endpoint parameterization
that the endpoints of this second arc don't coincide with the endpoints of the first.
Looking through my implementation it followed the spec of the SVG note exactly. However, if I change the last part where the start angle is calculated to
$$ \theta_1 = \angle (\begin{pmatrix}1 \\ 0 \end{pmatrix}, \begin{pmatrix}x_1^\prime - c_x^\prime \\ y_1^\prime - c_y^\prime \end{pmatrix} $$
i.e. leaving out the division with $r_x$ and $r_y$ respectively, the endpoints coincide.
So my question is: Why is this division done if the endpoints are then wrong? Or am I missing something?