[Math] Involute of a Circle Polar Coordinates, Calculate r from Polar Angle θ

circlesmultivariable-calculusvector analysis

This is for spur gear design. I know the Base Circle Radius $R_b$ and the Polar Angle $\theta$, I want to solve for the radial distance $r$ for the involute of a circle.

All of the involute math examples that I find solve for $\theta$ using the tangent of $\beta$ (see formulas below); I don't need that, I already have $\theta$, I need to solve for $\beta$ and $\phi$ to then calculate $r$.

Here are the involute of a circle formulas commonly found:

$$\begin{gather}
\theta = \phi – \beta = \tan(\beta) – \beta \\
r = \frac{R_b}{\cos(\beta)}
\end{gather}$$

$r$ = radial distance for polar coordinate

$\beta$ = pressure angle

$\phi$ = roll angle

I need to be able to increment the polar angle $\theta$ and calculate its corresponding radial distance.

Best Answer

In fact you have to find a root of the function $f(x) = tan(x) - x - \theta$ for a given value of $\theta$. Since there is no solution for the inverse of this function the indicated method to solve this kind of question is the Newton - Raphson method. There are two drawbacks to this method: first, the initial value chosen must lie relatively close to the solution to find, secondly you have to use some computer program in order to find the solution, using a calculator will be quite tedious. The good news is that once one has a solution for $x$ this value can be used for a nearby value of $\theta$. Here is the python code that you can use, or view as pseudo-code:

from sympy import tan
prec = 10e-10                # precision wanted         
t = 0.5                      # value of theta
def f(x):
    return tan(x) - x - t
x = 1.0                      # a carefully chosen starting value
while (abs(f(x)) > prec):
    x = x - f(x)/tan(x)**2
print x, tan(x)-x
0.975017193293859 0.500000000064689

for an adjacent value of $\theta$, e.g. $0.6$ you can use the previous value of $x$ found:

t = 0.6
while (abs(f(x)) > prec):
    x = x - f(x)/tan(x)**2    
print x, tan(x)-x
1.01691158824103 0.600000000000000
Related Question