# Area of a n-sided regular polygon with given Radius

• Last Updated : 25 Jun, 2022

Given a regular polygon of N sides with radius(distance from the center to any vertex) R. The task is to find the area of the polygon.
Examples:

```Input : r = 9, N = 6
Output : 210.444

Input : r = 8, N = 7
Output : 232.571``` In the figure, we see that the polygon can be divided into N equal triangles.
Looking into one of the triangles, we see that the whole angle at the centre can be divided into = 360/N parts.
So, angle t = 180/N.
Looking into one of the triangles, we see,

```h = rcost
a = rsint```

We know,

```area of the triangle = (base * height)/2
= r2sin(t)cos(t)
= r2*sin(2t)/2```

So, area of the polygon:

```A = n * (area of one triangle)
= n*r2*sin(2t)/2
= n*r2*sin(360/n)/2```

Below is the implementation of the above approach:

## C++

 `// C++ Program to find the area``// of a regular polygon with given radius` `#include ``using` `namespace` `std;` `// Function to find the area``// of a regular polygon``float` `polyarea(``float` `n, ``float` `r)``{``    ``// Side and radius cannot be negative``    ``if` `(r < 0 && n < 0)``        ``return` `-1;` `    ``// Area``    ``// degree converted to radians``    ``float` `A = ((r * r * n) * ``sin``((360 / n) * 3.14159 / 180)) / 2;` `    ``return` `A;``}` `// Driver code``int` `main()``{``    ``float` `r = 9, n = 6;` `    ``cout << polyarea(n, r) << endl;` `    ``return` `0;``}`

## Java

 `// Java Program to find the area``// of a regular polygon with given radius` `import` `java.util.*;``class` `GFG``{``    ``// Function to find the area``    ``// of a regular polygon``    ``static` `double` `polyarea(``double` `n, ``double` `r)``    ``{``        ``// Side and radius cannot be negative``        ``if` `(r < ``0` `&& n < ``0``)``            ``return` `-``1``;``    ` `        ``// Area``        ``// degree converted to radians``        ``double` `A = ((r * r * n) * Math.sin((``360` `/ n) * ``3.14159` `/ ``180``)) / ``2``;``    ` `        ``return` `A;``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `main(String []args)``    ``{``        ``float` `r = ``9``, n = ``6``;``    ` `        ``System.out.println(polyarea(n, r));``    ` `        ` `    ``}``}` `// This code is contributed``// By ihritik (Hritik Raj)`

## Python3

 `# Python3 Program to find the area``# of a regular polygon with given radius` `# form math lib import sin function``from` `math ``import` `sin` `# Function to find the area``# of a regular polygon``def` `polyarea(n, r) :``    ` `    ``# Side and radius cannot be negative``    ``if` `(r < ``0` `and` `n < ``0``) :``        ``return` `-``1` `    ``# Area``    ``# degree converted to radians``    ``A ``=` `(((r ``*` `r ``*` `n) ``*` `sin((``360` `/` `n) ``*``                 ``3.14159` `/` `180``)) ``/` `2``);` `    ``return` `round``(A, ``3``)` `# Driver code``if` `__name__ ``=``=` `"__main__"` `:` `    ``r, n ``=` `9``, ``6``    ``print``(polyarea(n, r))` `# This code is contributed by Ryuga`

## C#

 `// C# Program to find the area``// of a regular polygon with given radius` `using` `System;``class` `GFG``{``    ``// Function to find the area``    ``// of a regular polygon``    ``static` `double` `polyarea(``double` `n, ``double` `r)``    ``{``        ``// Side and radius cannot be negative``        ``if` `(r < 0 && n < 0)``            ``return` `-1;``    ` `        ``// Area``        ``// degree converted to radians``        ``double` `A = ((r * r * n) * Math.Sin((360 / n) * 3.14159 / 180)) / 2;``    ` `        ``return` `A;``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``float` `r = 9, n = 6;``    ` `        ``Console.WriteLine(polyarea(n, r));``    ` `        ` `    ``}``}` `// This code is contributed``// By ihritik (Hritik Raj)`

## PHP

 ``

## Javascript

 ``

Output:

`210.444`

Time Complexity: O(1)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up