# Program to find area of a Circular Segment

In a circle, if a chord is drawn then that chord divides the whole circle into two parts. These two parts of the circle are called segments of the circle. The smaller area is known as the **Minor segment** and the larger area is called as the **Major segment**.

In the figure below, the chord AB divides the circle into minor and major segments.

We are given radius of circle and angle that forms minor segment. We need to find areas of two segments.

Examples :

Input : radius = 21.0 angle = 120.0 Output : Area of minor segment 270.855 Area of major segment 1114.59 Input : radius = 10.0 angle = 90.0 Output : Area of minor segment 28.5397 Area of major segment 285.619

**Area of the segment : **

For that, we join the end points of the chord with the center of the circle resulting in a sector which subtends some ‘angle’ at the center. And a perpendicular is drawn from the center of the circle on the chord AB. By congruence of triangles, we obtain that the ∠ AOP = ∠ BOP = 1/2(angle).

**Formula for Area of Segment :**

Area of Segment = Area of sector - Area of Triangle OAB = pi * r^{2}* (angle/360) - Area of Triangle OAB

For detailed information about formula of Area of Sector, refer https://www.geeksforgeeks.org/area-of-a-sector/.

In the figure above, assume angle made by sector = X, so ∠ AOP = ∠ BOP = X/2Area of Triangle AOB= 1/2 * base * height = 1/2 * AB * OP Now in Triangle AOP, By trigonometry Cos(X/2) = OP/AO i.e. OP = AO * Cos(X/2) OP = r * Cos(X/2) Sin(X/2) = AP/AO i.e. AP = AO * Sin(X/2) AP = r * Sin(X/2) So,Base= AB = AP + PB = 2 * AP = 2 * r * Sin(X/2)Height= OP = r * Cos(X/2)Area of triangle= 1/2 * (2 * r * Sin(X/2)) * (r * Cos(X/2)) = 1/2 * r^{2}* Sin(X) [Using identity 2 * Sin(A) * Cos(A)] = Sin(2 * A)) HenceArea of Segment= pi * r^{2}* (angle/360) - 1/2 * r^{2}* Sin(angle)

## C++

`// C++ Program to ` `// find area of ` `// segment of a ` `// circle ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `float` `pi = 3.14159; ` ` ` `// Function to find ` `// area of segment ` `float` `area_of_segment(` `float` `radius, ` ` ` `float` `angle) ` `{ ` ` ` `// Calculating area of sector ` ` ` `float` `area_of_sector = pi * ` ` ` `(radius * radius) ` ` ` `*(angle / 360); ` ` ` ` ` `// Calculating area of triangle ` ` ` `float` `area_of_triangle = (` `float` `)1 / 2 * ` ` ` `(radius * radius) * ` ` ` `sin` `((angle * pi) / 180); ` ` ` ` ` `return` `area_of_sector - area_of_triangle; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `float` `radius = 10.0, angle = 90.0; ` ` ` `cout << ` `"Area of minor segment = "` ` ` `<< area_of_segment(radius, angle) << endl; ` ` ` ` ` `cout << ` `"Area of major segment = "` ` ` `<< area_of_segment(radius, (360 - angle)); ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java Program to find area of ` `// segment of a circle ` `class` `GFG { ` `static` `float` `pi = ` `3` `.14159f; ` ` ` `static` `float` `area_of_segment(` `float` `radius, ` ` ` `float` `angle) ` `{ ` ` ` `// Calculating area of sector ` ` ` `float` `area_of_sector = pi * ` ` ` `(radius * radius) * (angle / ` `360` `); ` ` ` ` ` `// Calculating area of triangle ` ` ` `float` `area_of_triangle = ` ` ` `(` `float` `)` `1` `/ ` `2` `* (radius * radius) * ` ` ` `(` `float` `)Math.sin((angle * pi) / ` `180` `); ` ` ` ` ` `return` `area_of_sector - area_of_triangle; ` `} ` ` ` `// Driver Function ` `public` `static` `void` `main(String[] args) ` `{ ` ` ` `float` `radius = ` `10` `.0f, angle = ` `90` `.0f; ` ` ` `System.out.println(` `"Area of minor segment = "` `+ ` ` ` `area_of_segment(radius, angle)); ` ` ` ` ` `System.out.println(` `"Area of major segment = "` `+ ` ` ` `area_of_segment(radius, (` `360` `- angle))); ` `} ` `} ` ` ` `// This code is contributed by Anant Agarwal. ` |

*chevron_right*

*filter_none*

## Python

`# Python3 Program ` `# to find area of ` `# segment of a ` `# circle ` `import` `math ` ` ` `pi ` `=` `3.14159` ` ` `# Function to find ` `# area of segment ` `def` `area_of_segment(radius, angle): ` ` ` `# Calculating area of sector ` ` ` `area_of_sector ` `=` `pi ` `*` ` ` `(radius ` `*` `radius) ` ` ` `*` `(angle ` `/` `360` `) ` ` ` ` ` `# Calculating area of triangle ` ` ` `area_of_triangle ` `=` `1` `/` `2` `*` ` ` `(radius ` `*` `radius) ` `*` ` ` `math.sin((angle ` `*` `pi) ` `/` `180` `) ` ` ` ` ` `return` `area_of_sector ` `-` `area_of_triangle; ` ` ` ` ` `# Driver Code ` `radius ` `=` `10.0` `angle ` `=` `90.0` `print` `(` `"Area of minor segment ="` `, ` ` ` `area_of_segment(radius, angle)) ` `print` `(` `"Area of major segment ="` `, ` ` ` `area_of_segment(radius, (` `360` `-` `angle))) ` ` ` ` ` `# This code is contributed by Smitha Dinesh Semwal ` |

*chevron_right*

*filter_none*

## C#

`// C# Program to find area ` `// of segment of a circle ` `using` `System; ` ` ` `class` `GFG { ` ` ` `static` `float` `pi = 3.14159f; ` ` ` ` ` `static` `float` `area_of_segment(` `float` `radius, ` ` ` `float` `angle) ` `{ ` ` ` `// Calculating area of sector ` ` ` `float` `area_of_sector = pi * (radius * radius) ` ` ` `* (angle / 360); ` ` ` ` ` `// Calculating area of triangle ` ` ` `float` `area_of_triangle =(` `float` `)1 / 2 * (radius * radius) ` ` ` `*(` `float` `)Math.Sin((angle * pi) / 180); ` ` ` ` ` `return` `area_of_sector - area_of_triangle; ` `} ` ` ` ` ` `// Driver Function ` ` ` `public` `static` `void` `Main() ` `{ ` ` ` `float` `radius = 10.0f, angle = 90.0f; ` ` ` `Console.WriteLine(` `"Area of minor segment = "` `+ ` ` ` `area_of_segment(radius, angle)); ` ` ` ` ` `Console.WriteLine(` `"Area of major segment = "` `+ ` ` ` `area_of_segment(radius, (360 - angle))); ` `} ` `} ` ` ` `// This code is contributed by vt_m. ` |

*chevron_right*

*filter_none*

## PHP

`<?php ` `// PHP Program to ` `// find area of ` `// segment of a ` `// circle ` ` ` `// Function to find ` `// area of segment ` `function` `area_of_segment(` `$radius` `, ` ` ` `$angle` `) ` ` ` `{ ` ` ` `$pi` `= 3.14159; ` ` ` ` ` `// Calculating area of sector ` ` ` `$area_of_sector` `= ` `$pi` `* (` `$radius` `* ` `$radius` `) * ` ` ` `(` `$angle` `/ 360); ` ` ` ` ` `// Calculating area of triangle ` ` ` `$area_of_triangle` `= 1 / 2 * (` `$radius` `* ` `$radius` `) ` ` ` `* sin((` `$angle` `* ` `$pi` `) / 180); ` ` ` ` ` `return` `$area_of_sector` `- ` `$area_of_triangle` `; ` `} ` ` ` ` ` `// Driver Code ` ` ` `$radius` `= 10.0; ` ` ` `$angle` `= 90.0; ` ` ` `echo` `(` `"Area of minor segment = "` `); ` ` ` `echo` `( area_of_segment(` `$radius` `, ` `$angle` `)); ` ` ` `echo` `(` `"\n"` `); ` ` ` ` ` `echo` `(` `"Area of major segment = "` `); ` ` ` `echo` `(area_of_segment(` `$radius` `, (360 - ` `$angle` `))); ` ` ` `// This code is contributed by vt_m. ` `?> ` |

*chevron_right*

*filter_none*

Output :

Area of minor segment = 28.5397 Area of major segment = 285.619

## Recommended Posts:

- Find middle point segment from given segment lengths
- Program to find the Area of Pentagon
- Program to find the Area of a Parallelogram
- Program to find area of a triangle
- Program to find area of a circle
- Program to find the area of a Square
- Program to find area of a Trapezoid
- Area of a Circular Sector
- Program to find the Area and Volume of Icosahedron
- Program to find the Area and Perimeter of a Semicircle
- Program to find the surface area of the square pyramid
- Program to find volume and surface area of pentagonal prism
- Program to find Area of Triangle inscribed in N-sided Regular Polygon
- Find area of the larger circle when radius of the smaller circle and difference in the area is given
- Find an Integer point on a line segment with given two ends

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.