# Length of the perpendicular bisector of the line joining the centers of two circles

Given are two circles whose radii are given, such that the smaller lies completely within the bigger circle, and they touch each other at one point. We have to find the length of the perpendicular bisector of the line joining the centres of the circles.

**Examples:**

Input:r1 = 5, r2 = 3Output:9.79796Input:r1 = 8, r2 = 4Output:15.4919

**Approach**:

- Let the two circles have center at
**A**and**B**.The perpendicular bisector**PQ**, bisects the line at**C**. - Let radius of bigger circle =
**r1**

radius of smaller circle =**r2** - so,
**AB = r1-r2**, - therefore,
**AC = (r1-r2)/2** - In, the figure, we see

**PA = r1** - in triangle
**ACP**,

**PC^2 + AC^2 = PA^2**

PC^2 = PA^2 – AC^2

PC^2 = r1^2 – (r1-r2)^2/4 - so,
**PQ = 2*√(r1^2 – (r1-r2)^2/4)**

Length of the perpendicular bisector = 2 * sqrt(r1^2 – (r1-r2)*(r1-r2)/4)

Below is the implementation of the above approach:

## C++

`// C++ program to find the Length ` `// of the perpendicular bisector ` `// of the line joining the centers ` `// of two circles in which one lies ` `// completely inside touching the ` `// bigger circle at one point ` ` ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `void` `lengperpbisect(` `double` `r1, ` `double` `r2) ` `{ ` ` ` `double` `z = 2 * ` `sqrt` `((r1 * r1) ` ` ` `- ((r1 - r2) ` ` ` `* (r1 - r2) / 4)); ` ` ` ` ` `cout << ` `"The length of the "` ` ` `<< ` `"perpendicular bisector is "` ` ` `<< z << endl; ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `double` `r1 = 5, r2 = 3; ` ` ` `lengperpbisect(r1, r2); ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program to find the Length ` `// of the perpendicular bisector ` `// of the line joining the centers ` `// of two circles in which one lies ` `// completely inside touching the ` `// bigger circle at one point ` ` ` `class` `GFG { ` ` ` `static` `void` `lengperpbisect(` `double` `r1, ` `double` `r2) ` `{ ` ` ` `double` `z = ` `2` `* Math.sqrt((r1 * r1) ` ` ` `- ((r1 - r2) ` ` ` `* (r1 - r2) / ` `4` `)); ` ` ` ` ` `System.out.println(` `"The length of the "` ` ` `+ ` `"perpendicular bisector is "` ` ` `+ z ); ` `} ` ` ` `// Driver code ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `double` `r1 = ` `5` `, r2 = ` `3` `; ` ` ` `lengperpbisect(r1, r2); ` `} ` `} ` ` ` `// This code has been contributed by 29AjayKumar ` |

*chevron_right*

*filter_none*

## Python3

` ` `# Python program to find the Length ` `# of the perpendicular bisector ` `# of the line joining the centers ` `# of two circles in which one lies ` `# completely inside touching the ` `# bigger circle at one point ` ` ` `def` `lengperpbisect(r1, r2): ` ` ` `z ` `=` `2` `*` `(((r1 ` `*` `r1) ` `-` `((r1 ` `-` `r2) ` `*` `(r1 ` `-` `r2) ` `/` `4` `))` `*` `*` `(` `1` `/` `2` `)); ` ` ` ` ` `print` `(` `"The length of the perpendicular bisector is "` `, z); ` ` ` ` ` `# Driver code ` `r1 ` `=` `5` `; r2 ` `=` `3` `; ` `lengperpbisect(r1, r2); ` ` ` `# This code contributed by PrinciRaj1992 ` |

*chevron_right*

*filter_none*

## C#

`// C# program to find the Length ` `// of the perpendicular bisector ` `// of the line joining the centers ` `// of two circles in which one lies ` `// completely inside touching the ` `// bigger circle at one point ` `using` `System; ` ` ` `class` `GFG ` `{ ` ` ` `static` `void` `lengperpbisect(` `double` `r1, ` `double` `r2) ` `{ ` ` ` `double` `z = 2 * Math.Sqrt((r1 * r1) ` ` ` `- ((r1 - r2) ` ` ` `* (r1 - r2) / 4)); ` ` ` ` ` `Console.WriteLine(` `"The length of the "` ` ` `+ ` `"perpendicular bisector is "` ` ` `+ z ); ` `} ` ` ` `// Driver code ` `public` `static` `void` `Main() ` `{ ` ` ` `double` `r1 = 5, r2 = 3; ` ` ` `lengperpbisect(r1, r2); ` `} ` `} ` ` ` `// This code has been contributed by anuj_67.. ` |

*chevron_right*

*filter_none*

**Output:**

The length of the perpendicular bisector is 9.79796

## Recommended Posts:

- Distance between centers of two intersecting circles if the radii and common chord length is given
- Ratio of the distance between the centers of the circles and the point of intersection of two transverse common tangents to the circles
- Ratio of the distance between the centers of the circles and the point of intersection of two direct common tangents to the circles
- Number of common tangents between two circles if their centers and radius is given
- Find the radii of the circles which are lined in a row, and distance between the centers of first and last circle is given
- Slope of perpendicular to line
- Perpendicular distance between a point and a Line in 2 D
- Find foot of perpendicular from a point in 2 D plane to a Line
- Maximum possible intersection by moving centers of line segments
- Length of direct common tangent between two intersecting Circles
- Length of direct common tangent between the two non-intersecting Circles
- Length of the transverse common tangent between the two non intersecting circles
- Length of rope tied around three equal circles touching each other
- Length of the direct common tangent between two externally touching circles
- Klee's Algorithm (Length Of Union Of Segments of a line)

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.