Distance from a point to the involute of a circle

1.2k Views Asked by At

I know that the involute of circle of radius $r$ centered at $(0,0)$ is given by the following parametric form: $$\begin{cases} x(\theta) = r \big(\cos(\theta) + \theta\ \sin(\theta) \big),\\ y(\theta) = r\big(\sin(\theta) - \theta\ \cos(\theta) \big), \end{cases}$$ with $\theta\in\mathbb{R}$. Given a point $(a,b)\in\mathbb{R}^2$, I would like to compute its distance to the involute (or the closest point on the involute).

Given the parametric form I can compute the normal direction to the involute at a point and, thus, I need to compute a $t\in\mathbb{R}$ such that $$(a,b) = \big(x(\theta),y(\theta)\big) \ + \ t\ \big(-y'(\theta),x'(\theta)\big).$$ I guess that now the easiest way consists on computing $\theta$ first, which gives the closest point: $$\frac{x(\theta)-a}{y'(\theta)}-\frac{b-y(\theta)}{x'(\theta)}=0.$$ It is obvious that one needs iterative solvers to approximate the solution (I have already tried Newton-Raphson).

The main problem is that the function to be minimized is highly oscillating and it can be difficult to give a good approximation for the initialization of the algorithm. In fact, it seems that this should also depend on the radius $r$.

Any help or suggestion is really welcome: from a geometrical point of view (a way to simplify the computations, an already computed formula...), from a numerical point of view (other algorithms) or from the implementation point of view.

1

There are 1 best solutions below

0
On

The combination of a Newton-Raphson method together with the suggestion by @Alexey Burdin worked quite efficiently.