# 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.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

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.