Find "end" points of an arc

74 Views Asked by At

I am given a single point (lat, long) on a 2D Cartesian map, along with an angle (in degrees) and distance. I'm trying to find two end points of an arc (as well as other points along that arc) given the above parameters. The point I'm given would be the center of the circle. The distance in this case is the length of the two edges, which would be the radius. Below is an example: enter image description here

So I'm given that bottom point, the angle which in this case is 60 degrees, and the edge lengths which are 200 meters. Need to find the two points at the beginning and end of the arc which are circled in yellow.

Update: Here's what I've done so far (using C# here) -

double a = (givenAngle/ 2) * (Math.PI / 180.0);
double x = givenRange * (Math.Sin(a));
double y = Math.Sqrt(Math.Pow(givenRange, 2) - Math.Pow(x, 2));

I then get the two end points like so:

new Vertex(location.X - x, location.Y + y), new Vertex(location.X + x, location.Y + y)

This gives me: enter image description here

The way my app works is it just connects the vertices I give it. So now I need to get the arc.