Related Articles
Check whether a point exists in circle sector or not.
• Difficulty Level : Medium
• Last Updated : 31 Mar, 2021

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.

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`

## Javascript

 ``

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.