2
$\begingroup$

Given the length of an arc and the length of sagitta, can you calculate the angle (radians)?

I struggle to work out all the parameters I need. For instance, to calculate the radius I need the length of the sagitta and the chord length (but I don't have that - to get that I need the radius...)

Do I have too few parameters to get a single answer for this?

$\endgroup$
2
$\begingroup$

Let $s$ be the length of the sagittus, $a$ the length of the arc, $r$ the radius, and $\theta$ the central angle. We are given $a$ and $s$. We know $a=r\theta$ and $ s = r-r\cos\left(\frac{\theta}{2}\right)$ so that $$ \frac{a}{s}=\frac{\theta}{1-\cos\left(\frac{\theta}{2}\right)}$$ A quick plot of $f(\theta)= \theta/(1-\cos(\theta/2))$ indicates that $f$ is one-to-one on $(0,\pi)$ so yes, $s$ and $a$ determine the angle. I don't think there is a simple closed-form formula for $\theta,$ however. You probably have to compute it numerically.

EDIT

At the OP's request, I'm adding some comments on how to compute this numerically. First, I think it's a little more convenient to consider the reciprocal of the expression I had before. $$ \frac{s}{a}=\frac{1-\cos\left(\frac{\theta}{2}\right)}{\theta}$$ Let $x=s/a,$ so that we want to solve $$f(\theta)=x\theta + \cos\left(\frac{\theta}{2}\right)-1=0$$ for $\theta,$ with $x$ given. The secant method is probably a good way to do this. You need a couple of starting values for $\theta_0$ and $\theta_1$ and you can use $1$ and $2$, I should think.

Let me know if this doesn't work well for you.

$\endgroup$
  • $\begingroup$ Ok, so I can be done. That's good. However, I'm not that steady on solving equations like this. I'm trying to convert this into code. Any chance you could provide a quick overview of the steps to solve? $\endgroup$ – thomthom Jun 28 '18 at 17:55
  • $\begingroup$ @thomthom Yes, I need a few minutes to think about it, but I'll update my answer when I've got it. $\endgroup$ – saulspatz Jun 28 '18 at 18:22
  • $\begingroup$ @thomthom I want to give an answer you'll understand. Where are you up to in your math studies? Have you studied calculus yet? $\endgroup$ – saulspatz Jun 28 '18 at 18:23
  • $\begingroup$ It's long since I was a student. But I've not practised it since then, so much of it is forgotten (annoyingly). I recall how to solve (x/y) = 4 etc if I want to find x or y. But not this one. Not sure how to best answer your question for you to best help me. $\endgroup$ – thomthom Jun 28 '18 at 18:58
  • $\begingroup$ Thank you for following up. However I'm afraid that went far above my head. I've not heard of the secant method and the terminology in that Wiki article is unfamiliar to me (English isn't my native language, so that doesn't help either.) I often look up code example for these kinds of things - as I find I can read and understand that better. Found this; rosettacode.org/wiki/Roots_of_a_function, but unfortunately I didn't understand how to apply that to the function you described. (Isn't there two unknowns there? x and θ?) (I appreciate your time and effort. Excuse my denseness.) $\endgroup$ – thomthom Jun 28 '18 at 20:17
2
$\begingroup$

Satrting from saulspatz's answer, it is sure that, using a good estimate, Newton method would converge in very few iterations provided of a good guess for the root.

The first thing I thought about was to set $\theta=2t$, $k=\frac{s}{a}$ and use the rather good approximation $$\cos(t) \simeq\frac{\pi ^2-4t^2}{\pi ^2+t^2}\qquad (-\frac \pi 2 \leq t\leq\frac \pi 2)$$ This leads to $$t(2 k t^2+2 \pi ^2 k-5 t)=0 \implies \theta_{est}=\frac{5-\sqrt{25-16 \pi ^2 k^2}}{2 k}$$ In order to check it, give $\theta$ a value, compute $k$ and compute $ \theta_{est}$. The table below shows some results $$\left( \begin{array}{ccc} \theta & k & \theta_{est} \\ 0.1 & 0.0124973961 & 0.0987 \\ 0.2 & 0.0249791736 & 0.1974 \\ 0.3 & 0.0374297402 & 0.2962\\ 0.4 & 0.0498335554 & 0.3950 \\ 0.5 & 0.0621751566 & 0.4939 \\ 0.6 & 0.0744391848 & 0.5930 \\ 0.7 & 0.0866104102 & 0.6921 \\ 0.8 & 0.0986737575 & 0.7915 \\ 0.9 & 0.1106143307 & 0.8909 \\ 1.0 & 0.1224174381 & 0.9906 \\ 1.1 & 0.1340686163 & 1.0904 \\ 1.2 & 0.1455536542 & 1.1905 \\ 1.3 & 0.1568586165 & 1.2908 \\ 1.4 & 0.1679698662 & 1.3913 \\ 1.5 & 0.1788740874 & 1.4920 \end{array} \right)$$ and, starting from the estimate $\theta_{0}=\theta_{est}$, Newton iterates $$\theta_{n+1}=\frac{\theta_n \sin \left(\frac{\theta_n }{2}\right)+2 \cos \left(\frac{\theta_n }{2}\right)-2}{\sin \left(\frac{\theta_n }{2}\right)-2 k}$$ would converge in very few iterations.

My next idea was to develop $\frac{1-\cos\left(\frac{\theta}{2}\right)}{\theta}$ as Taylor series built at $\theta=0$ giving $$\frac{1-\cos\left(\frac{\theta}{2}\right)}{\theta}=\frac{\theta }{8}-\frac{\theta ^3}{384}+\frac{\theta ^5}{46080}-\frac{\theta ^7}{10321920}+\frac{\theta ^9}{3715891200}-\frac{\theta ^{11}}{1961990553600}+O\left(\theta ^{13}\right)$$ and to use series reversion to get $$\theta=8 k+\frac{32 k^3}{3}+\frac{1664 k^5}{45}+\frac{159232 k^7}{945}+\frac{4139008 k^9}{4725}+\frac{21929984 k^{11}}{4455}+O\left(k^{13}\right)$$ which could be transformed as a Padé approximant such as $$\theta_{est}=k\,\frac{8 -\frac{13184 }{279}k^2+\frac{200192 }{5859}k^4 } {1-\frac{2020 }{279}k^2+\frac{272512 }{29295}k^4 }$$ Doing the same as before, we should get $$\left( \begin{array}{ccc} \theta & k & \theta_{est} \\ 0.1 & 0.0124973961 & 0.100000000000 \\ 0.2 & 0.0249791736 & 0.200000000000 \\ 0.3 & 0.0374297402 & 0.300000000000 \\ 0.4 & 0.0498335554 & 0.399999999999 \\ 0.5 & 0.0621751566 & 0.499999999991 \\ 0.6 & 0.0744391848 & 0.599999999936 \\ 0.7 & 0.0866104102 & 0.699999999650 \\ 0.8 & 0.0986737575 & 0.799999998468 \\ 0.9 & 0.1106143307 & 0.899999994352 \\ 1.0 & 0.1224174381 & 0.999999981810 \\ 1.1 & 0.1340686163 & 1.099999947499 \\ 1.2 & 0.1455536542 & 1.199999861547 \\ 1.3 & 0.1568586165 & 1.299999661478 \\ 1.4 & 0.1679698662 & 1.399999223847 \\ 1.5 & 0.1788740874 & 1.499998316221 \end{array} \right)$$ which seems to be quite good.

Using the same form, I tried to optimize the coefficients for a better fit over the wole range. What I obtained is $$\theta_{est}=k\,\frac{8-\frac{100815 }{2003}k^2+\frac{26153}{635} k^4}{ 1-\frac{5467 }{717}k^2+\frac{5955}{557}k^4}$$ Reproducing the same table $$\left( \begin{array}{ccc} \theta & k & \theta_{est} \\ 0.1 & 0.0124973961 & 0.0999999999 \\ 0.2 & 0.0249791736 & 0.1999999991 \\ 0.3 & 0.0374297402 & 0.2999999973 \\ 0.4 & 0.0498335554 & 0.3999999947 \\ 0.5 & 0.0621751566 & 0.4999999918 \\ 0.6 & 0.0744391848 & 0.5999999895 \\ 0.7 & 0.0866104102 & 0.6999999885 \\ 0.8 & 0.0986737575 & 0.7999999886 \\ 0.9 & 0.1106143307 & 0.8999999893 \\ 1.0 & 0.1224174381 & 0.9999999891 \\ 1.1 & 0.1340686163 & 1.0999999871 \\ 1.2 & 0.1455536542 & 1.1999999836 \\ 1.3 & 0.1568586165 & 1.2999999814 \\ 1.4 & 0.1679698662 & 1.3999999835 \\ 1.5 & 0.1788740874 & 1.4999999861 \end{array} \right)$$

Update

In order to cover the full range $(0\leq \theta \leq \pi)$ and to get solutions at the price of only a quadratic equation, we can guess the approximation $$\frac{1-\cos\left(\frac{\theta}{2}\right)}{\theta}=\frac{a\theta+b \theta^2 } {1+c\theta+d \theta^2 }$$ and compute the coefficients $a,b,c,d$ in order to have a perfect match at points $\frac \pi 4,\frac \pi 2,\frac {3\pi} 4,\pi$. This gives the nasty values $$a=\frac{52-71 \sqrt{2}+6 \sqrt{10642-7001 \sqrt{2}}}{93 \pi ^2}$$ $$b=\frac{4 \left(26+11 \sqrt{2}-6 \sqrt{754-487 \sqrt{2}}\right)}{93 \pi ^3}$$ $$c=\frac{-325+33 \sqrt{2}+6 \sqrt{2074-167 \sqrt{2}}}{93 \pi }$$ $$d=-\frac{2 \left(-194+30 \sqrt{2}+3 \sqrt{2756-322 \sqrt{2}}\right)}{93 \pi ^2}$$ and the retained solution of the quadratic in $\theta$ is given by $$ \theta_{est}=\frac{\sqrt{(a-c k)^2+4 k (b-d k)}-a+c k}{2 (b-d k)}$$ $$\left( \begin{array}{ccc} \theta & k & \theta_{est} \\ 0.0 & 0.000000 & 0.00000 \\ 0.1 & 0.012497 & 0.09987 \\ 0.2 & 0.024979 & 0.19981 \\ 0.3 & 0.037430 & 0.29980 \\ 0.4 & 0.049834 & 0.39982 \\ 0.5 & 0.062175 & 0.49986 \\ 0.6 & 0.074439 & 0.59991 \\ 0.7 & 0.086610 & 0.69996 \\ 0.8 & 0.098674 & 0.80001 \\ 0.9 & 0.110614 & 0.90005 \\ 1.0 & 0.122417 & 1.00007 \\ 1.1 & 0.134069 & 1.10009 \\ 1.2 & 0.145554 & 1.20009 \\ 1.3 & 0.156859 & 1.30007 \\ 1.4 & 0.167970 & 1.40005 \\ 1.5 & 0.178874 & 1.50002 \\ 1.6 & 0.189558 & 1.59999 \\ 1.7 & 0.200010 & 1.69996 \\ 1.8 & 0.210217 & 1.79993 \\ 1.9 & 0.220167 & 1.89991 \\ 2.0 & 0.229849 & 1.99990 \\ 2.1 & 0.239252 & 2.09990 \\ 2.2 & 0.248365 & 2.19993 \\ 2.3 & 0.257179 & 2.29997 \\ 2.4 & 0.265684 & 2.40003 \\ 2.5 & 0.273871 & 2.50010 \\ 2.6 & 0.281731 & 2.60018 \\ 2.7 & 0.289257 & 2.70026 \\ 2.8 & 0.296440 & 2.80032 \\ 2.9 & 0.303275 & 2.90034 \\ 3.0 & 0.309754 & 3.00028 \\ 3.1 & 0.315873 & 3.10012 \end{array} \right)$$

$\endgroup$
  • $\begingroup$ Impressive results. $\endgroup$ – saulspatz Jun 29 '18 at 22:07
  • $\begingroup$ I realize (too late) that, because of my initial change of variable $t=2\theta$, I limited my analysis to the range $0 \leq \theta \leq \frac \pi 2$. $\endgroup$ – Claude Leibovici Jul 1 '18 at 3:05
  • $\begingroup$ How did you do the series reversion? $\endgroup$ – saulspatz Jul 1 '18 at 6:21
  • $\begingroup$ @saulspatz. Same as at mathworld.wolfram.com/SeriesReversion.html. It is quitre simple. Cheers. $\endgroup$ – Claude Leibovici Jul 1 '18 at 6:24
  • $\begingroup$ Thanks, but I was trying to ask if you programmed it yourself or used some standard software package. I should have been more explicit. $\endgroup$ – saulspatz Jul 1 '18 at 6:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.