To overcome the problems with the algebraic distances, it is natural to replace them by the orthogonal distances which are invariant to transformations in Euclidean space and which do not exhibit the high curvature bias.
The orthogonal distance between a point and a conic Q(x,y) is the Euclidean distance between and the point in the conic whose tangent is orthogonal to the line joining and (see fig:orth-dis).
Figure 2: Orthogonal distance of a point to a conic
Given n points ( ), the orthogonal distance fitting is to estimate the conic Q by minimizing the following function
However, as the expression of is very complicated (see below), an iterative optimization procedure must be carried out. Many techniques are readily available, including Gauss-Newton algorithm, Steepest Gradient Descent, Levenberg-Marquardt procedure, and simplex method. A software ODRPACK (written in Fortran) for weighted orthogonal distance regression is domain public and is available from NETLIB (firstname.lastname@example.org). Initial guess of the conic parameters must be supplied, which can be obtained using the techniques described in the last section.
Let us now proceed to compute the orthogonal distance . The subscript i will be omitted for clarity. Refer again to fig:orth-dis. The conic is assumed to be described by
Point must satisfy the following two equations:
Equation (9) merely says the point is on the conic, while (10) says that the tangent at is orthogonal to the vector .
Let and . From (9),
where . From (10),
Substituting the value of (11) in the above equation leads to the following equation:
Squaring the above equation, we have
Rearranging the terms, we obtain an equation of degree four in :
The two or four real roots of (13) can be found in closed form. For one solution , we can obtain from (12), i.e.:
Thus, is computed from (11). Eventually comes the orthogonal distance d, which is given by
Note that we possibly have four solutions. Only the one which gives the smallest distance is the one we are seeking for.