# Check whether a point exists in circle sector or not.

We have a circle centered at origin (0, 0). As input we are given with starting angle of the circle sector and the size of the circle sector in percentage.
Examples:

```Input :  Radius = 8
StartAngle = 0
Percentage = 12
x = 3 y = 4
Output : Point (3, 4) exists in the circle
sector

Startangle = 45
Percentage = 25
x = 3 y = 4
Output : Point (3, 4) does not exist in
the circle sector
```

In this image starting angle is 0 degree, radius r and suppose that percentage of colored area is 12% then we calculate Ending Angle as 360/percentage + starting angle.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

To find whether a point (x, y) exists in a circle sector (centered at origin) or not we find polar coordinates of that point and then go through the following steps:

1. Convert x, y to polar coordinates using this
Angle = atan(y/x); Radius = sqrt(x * x + y * y);

## C++

 `// C++ program to check if a point lies inside a circle ` `// sector. ` `#include ` `using` `namespace` `std; ` ` `  `void` `checkPoint(``int` `radius, ``int` `x, ``int` `y, ``float` `percent, ` `                                         ``float` `startAngle) ` `{ ` `    ``// calculate endAngle ` `    ``float` `endAngle = 360/percent + startAngle; ` ` `  `    ``// Calculate polar co-ordinates ` `    ``float` `polarradius = ``sqrt``(x*x+y*y); ` `    ``float` `Angle = ``atan``(y/x); ` ` `  `    ``// Check whether polarradius is less then radius of circle ` `    ``// or not and Angle is between startAngle and endAngle ` `    ``// or not ` `    ``if` `(Angle>=startAngle && Angle<=endAngle && polarradius

## Java

 `// Java program to check if ` `// a point lies inside a circle ` `// sector. ` ` `  `class` `GFG ` `{ ` `static` `void` `checkPoint(``int` `radius, ``int` `x, ``int` `y, ``float` `percent, ` `                                         ``float` `startAngle) ` `{ ` ` `  `    ``// calculate endAngle ` `    ``float` `endAngle = ``360``/percent + startAngle; ` `  `  `    ``// Calculate polar co-ordinates ` `    ``double` `polarradius = Math.sqrt(x*x+y*y); ` `    ``double` `Angle = Math.atan(y/x); ` `  `  `    ``// Check whether polarradius is ` `    ``// less then radius of circle ` `    ``// or not and Angle is between ` `    ``// startAngle and endAngle ` `    ``// or not ` `    ``if` `(Angle>=startAngle && Angle<=endAngle && polarradius

## Python3

 `# Python3 program to check if a point  ` `# lies inside a circle sector. ` `import` `math ` ` `  `def` `checkPoint(radius, x, y, percent, startAngle): ` ` `  `    ``# calculate endAngle ` `    ``endAngle ``=` `360` `/` `percent ``+` `startAngle ` ` `  `    ``# Calculate polar co-ordinates ` `    ``polarradius ``=` `math.sqrt(x ``*` `x ``+` `y ``*` `y) ` `    ``Angle ``=` `math.atan(y ``/` `x) ` ` `  `    ``# Check whether polarradius is less ` `    ``# then radius of circle or not and  ` `    ``# Angle is between startAngle and  ` `    ``# endAngle or not ` `    ``if` `(Angle >``=` `startAngle ``and` `Angle <``=` `endAngle ` `                        ``and` `polarradius < radius): ` `        ``print``(``"Point ("``, x, ``","``, y, ``") "` `              ``"exist in the circle sector"``) ` `    ``else``: ` `        ``print``(``"Point ("``, x, ``","``, y, ``") "`  `              ``"does not exist in the circle sector"``) ` ` `  `# Driver code ` `radius, x, y ``=` `8``, ``3``, ``4` `percent, startAngle ``=` `12``, ``0` ` `  `checkPoint(radius, x, y, percent, startAngle) ` ` `  `# This code is contributed by ` `# Smitha Dinesh Semwal `

## C#

 `// C# program to check if a point lies ` `// inside a circle sector. ` `using` `System.IO; ` `using` `System; ` ` `  `class` `GFG { ` `     `  `    ``static` `void` `checkPoint(``int` `radius, ``int` `x, ``int` `y, ` `                    ``float` `percent, ``float` `startAngle) ` `    ``{ ` `         `  `        ``// calculate endAngle ` `        ``float` `endAngle = 360 / percent + startAngle; ` `     `  `        ``// Calculate polar co-ordinates ` `        ``float` `polarradius =  ` `                    ``(``float``)Math.Sqrt(x * x + y * y); ` `                     `  `        ``float` `Angle = (``float``)Math.Atan(y / x); ` `     `  `        ``// Check whether polarradius is less then  ` `        ``// radius of circle or not and Angle is  ` `        ``// between startAngle and endAngle or not ` `        ``if` `(Angle >= startAngle && Angle <= endAngle ` `                            ``&& polarradius < radius) ` `            ``Console.Write(``"Point ({0}, {1}) exist in "` `                         ``+ ``"the circle sector"``, x, y); ` `        ``else` `            ``Console.Write(``"Point ({0}, {1}) does not "` `                ``+ ``"exist in the circle sector"``, x, y); ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `radius = 8, x = 3, y = 4; ` `        ``float` `percent = 12, startAngle = 0; ` `        ``checkPoint(radius, x, y, percent, startAngle); ` `    ``} ` `} ` ` `  `// This code is contributed by Smitha Dinesh Semwal `

Output :

`Point(3, 4) exists in the circle sector`

Time complexity = O(1)

This article is contributed by Niteesh kumar. 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.

My Personal Notes arrow_drop_up

Improved By : Smitha Dinesh Semwal

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.