How to compute equally spaced points on involute curve

424 Views Asked by At

my problem is that I want to compute equally spaced points on involute curve. Starting from the beginning the involute curve parametric equations are:

$$x(t) = r \cdot \sin(t) - r \cdot t \cdot \cos(t)$$ $$y(t) = r \cdot \cos(t) + r \cdot t \cdot \sin(t)$$

where $t = \lt0:\frac{t_{\max}}{n-1}:t_{\max} \gt$ is the parameter within given interval and $r$ is the radius of a circle. Since I need this to draw gear tooth profile $t_{\max}$ can be computed as:

$$t_{\max} = \sqrt{\frac{r_{a}^2 - r^2}{r^2}}$$

where $r_{a}$ is addendum circle.

involute picture

The blue and black circles are $r$ and $r_{a}$ respectively, small red circles are computed for $n = 10$... And what I want to obtain is uniformly distributed points (green dots) instead of points with increasing distance. Is there a way to do this? What I was able to found in one book was that someone used cubic segment with Hermite interpolating functions... I am not really familiar with this, and maybe someone knows other solution. Thanks.

1

There are 1 best solutions below

1
On BEST ANSWER

To get equispaced point you should use path length $s$ along the curve as parameter instead of $t$. A straightforward computation gives: $$ s=\int_0^t\sqrt{dx^2+dy^2}=\int_0^tr\tau\,d\tau={1\over2}rt^2, $$ hence make the substitution: $$ t=\sqrt{2s\over r} $$ into your equations, compute $s_\max=(1/2)rt_\max^2$ and use $s$ instead of $t$ to get your points.