Calculating the arc length of a circle segment

I would like to calculate the arc length of a circle segment, i.e. I know the start coordinates (x/y) of the circle segment, the end coordinates (x/y) and the x and y distances from the starting point to the center point of the circle segment.

I know that I can calculate the circumference with 2 * radius * PI. Consequently, I would have to calculate the radius and the angle of the circle segment via Pythagorean theorem and sin and cos. My question: Is there a simple formula where I just have to put in start-coordinates, end-coordinates and the circle origin point coordinates?

Thanks.

enne


You can derive a simple formula using the law of cosines. In fact, while all the planar geometry is helpful for visualization, there's really no need for most of it. You have 3 points: your arc start and stop points, which I'll call $A$ and $B$, and your circle center, $C$. The angle for the arc you're wanting to measure, I'll call it $\theta$, is the angle of the triangle $ABC$ at point $C$. Because $C$ is the center of the circle that $A$ and $B$ are on, the triangle sides $AC$ and $BC$ are equal to your circle's radius, $r$. We'll call the length of $AB$, the remaining side, $d$ (see picture).

(By the way, if $A=(x_1,y_1)$ and $B=(x_2,y_2)$, then $d=\sqrt {(x_1-x_2)^2 + (y_1-y_2)^2}$.)

enter image description here According to the law of cosines, $\cos (\theta )={{r^2+r^2-d^2}\over {2rr}}=1- {{d^2}\over {2r^2}}$.

So all you need is the distance between the end points of your arc and the radius of the circle to compute the angle,

$\theta = \arccos (1- {{d^2}\over {2r^2}})$

Lastly, the length is calculated -

$Length = r\theta$

Where $\theta$ is expressed in radians.


enter image description here

Use $(x-h)^2+(y-k)^2=r^2$...(eq I), where $(h,k)$ is the center and $r$ is the radius. Your third point can be calculated as $x_3=x_1+$(horizontal displacement) and $y_3=y_1+$(vertical displacement), you have mentioned that you know x and y distance.

the x and y distances from the starting point to the center point of the circle segment.

Now, in eq (I), put $(x_1,y_1)$,$(x_2,y_2)$,$(x_3,y_3)$ to get three equations, solve these three equations simultaneously to get $(h,k)$. Next, use $(h,k)$ and any of the three points we know to get $r$ with the help of eq (I).

Now shift the circle so that it's origin coincides with $(0,0)$, this will help you find the angle $\theta$ easily. Now, find $\theta$ and the length of the arc=$r*\theta$

EDIT:Consider a circle with 3 points on it.

$x_1\equiv(2+2\sqrt{3},0) \hspace{12 pt}x_2\equiv(6,2)\hspace{12 pt}x_3\equiv(2+2\sqrt{3},4)$

If you use eq (I) you will get following 3 eqns:

$29.85+h^2-10.91h+k^2=r^2$...(eqn 1)

$45.85+h^2-10.91h+k^2-8k=r^2$...(eqn 2)

$40+h^2-12h+k^2-4k=r^2$...(eqn 3)

subtract eqn 3 from eqn 1 to get one eqn

subtract eqn 3 from eqn 2 to get second eqn

solve these last two eqn and you will get $(h,k)\equiv(2,2)$, the center of the circle, substitute $(h,k)$ in eqn 3 (or 1 or 2), you will get $r=4$

No need to do transform the center of the circle to the origin, we know the radius, so find what angle points $x_1$ and$x_3$ makes with the horizontal line using trigonometry

($\sin \theta=2/4=1/2 \therefore \theta=\pi/6$)

Length of the arc=$r*\theta=4*\large\frac{\pi}{6}=\large \frac{2\pi}{3}$