Arc Radius Calculation from 2 points

652 Views Asked by At

I've seen other questions on here and tried to follow them, but I was hoping somebody could help me understand where I'm going wrong in my solution, and point me in the right direction.

enter image description here

I've got the points shown in the above picture: $A$ and $B$, which are known - thus the distance between them (labeled $\overline{\rm AB}$). Also known/given is the arc length, $\overset{\mmlToken{mo}{⏜}}{AB\,}$. I am trying to find R ($\overline{\rm AC}$ or $\overline{\rm BC}$) and/or $\theta$. (C is unknown.)

$$\overset{\mmlToken{mo}{⏜}}{AB\,} = \theta R,\space \text{thus}\space R = \frac{\overset{\mmlToken{mo}{⏜}}{AB\,}}{\theta} $$

$$2R \sin (\frac{\theta}{2}) = \overline{\rm AB}, \space \text{so}\space R = \frac{\overline{\rm AB}}{2\sin (\frac{\theta}{2})}$$

Using these, we can find:

$$\frac{\overset{\mmlToken{mo}{⏜}}{AB\,}}{\theta} = \frac{\overline{\rm AB}}{2\sin (\frac{\theta}{2})}$$

With some rearranging,

$$\sin (\frac{\theta}{2}) = \frac{\overline{\rm AB}}{\overset{\mmlToken{mo}{⏜}}{AB\,}}\frac{\theta}{2}$$

From here, we can do some variable reassignment: I'll say $t = \frac{\theta}{2}$, and $k = \frac{\overline{\rm AB}}{\overset{\mmlToken{mo}{⏜}}{AB\,}}$.

This gives us $\sin (t) = kt$

I see no way for $k$ to be $>1$ (and $k=1$ only if the radius is infinite and theta is $0$), but I suppose theta could be basically any angle - I'm solving for positive, and for my use case I expect it will always fall in the $0-\pi$ range, but I guess it doesn't have to.

I feel fairly confident on the geometry side of things; that makes sense to me. I haven't done much by way of approximation, so I don't know where to go from here. I understand from my reading of other questions that this is a "transcendental" equation, which apparently means something like "doesn't have a closed-form algebraic solution"? Thus my question: have I screwed anything up? If so, what? If not, where do I go from here?

I tried doing something like $\frac{\sin (t)}{t} = k$, but I still don't know how to computationally approximate this - I'm embedding this in an algorithm I'm using on a website for solving a specific class of geometry problems, so I'd like it to be as accurate as possible - an arbitrary number of decimal places would be great, but I'll settle for like $4$.

Thank you!

1

There are 1 best solutions below

1
On BEST ANSWER

In order to solve for $t$

$$\sin(t)=k t$$ you could use the $\large 1400$ years old approximation $$\sin(t) \simeq \frac{16 (\pi -t) t}{5 \pi ^2-4 (\pi -t) t}\qquad\text{for} \qquad0\leq t\leq\pi$$ proposed by Mahabhaskariya of Bhaskara I, a seventh-century Indian mathematician.

Using it, you just need to solve the quadratic equation itn $t$ $$4k t^2-4 (\pi k-4) t-\pi (16-5 \pi k)=0$$ which gives $$t=\frac{2 \sqrt{-\pi ^2 k^2+2 \pi k+4}+\pi k-4}{2 k}$$

Using $k=0.3456$, this would give $t=2.24911$ while the solution given by Newton method is $2.25049$ which is not too bad. Now, you can polish the root using Newton method which will generate the following iterates (the ridiculous nmber figures being on purpose) $$\left( \begin{array}{cc} n & t_n \\ 0 & 2.2491058627233529704 \\ 1 & 2.2504866087065066172 \\ 2 & 2.2504858470778471286 \\ 3 & 2.2504858470776155599 \end{array} \right)$$

Edit

If the angle is not very close to $0$ or $\pi$, a good approximation is $$\frac{\sin(t)}t=\frac{\frac{2}{\pi }-\frac{2}{3 \left(\pi ^2-8\right)}\left(t-\frac{\pi }{2}\right)+\frac{48-5 \pi ^2}{6 \pi \left(\pi ^2-8\right)}\left(t-\frac{\pi }{2}\right)^2 } {1+\frac{5 \pi ^2-48}{3 \pi \left(\pi ^2-8\right)}\left(t-\frac{\pi }{2}\right)+\frac{1}{12}\left(t-\frac{\pi }{2}\right)^2 }$$ which is still a quadratic equation in $\left(t-\frac{\pi }{2}\right)$.

For the worked case, it gives $t=2.24987$.