Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Finding the coordinates on the edge of a circle [closed]

Using C#:

How do I get the (x, y) coordinates on the edge of a circle for any given degree, if I have the center coordinates and the radius?

There is probably SIN, TAN, COSIN and other grade ten math involved... :)

like image 206
Ian Vink Avatar asked Jan 19 '10 12:01

Ian Vink


2 Answers

Here's the mathematical solution which can be applied in any language:

x = x0 + r * cos(theta) y = y0 + r * sin(theta) 

x0 and y0 are the coordinates of the centre, r is the radius, and theta is in radians. The angle is measured anticlockwise from the x-axis.

This is the code for C# specifically if your angle is in degrees:

double x = x0 + r * Math.Cos(theta * Math.PI / 180); double y = y0 + r * Math.Sin(theta * Math.PI / 180); 
like image 170
David M Avatar answered Sep 25 '22 06:09

David M


using Pythagoras Theorem (where x1,y1 is the edge point):

x1 = x + rcos(theta)
y1 = y + r
sin(theta)

in C#, this would look like:

x1 = x + radius * Math.Cos(angle * (Math.PI / 180)); y1 = y + radius * Math.Sin(angle * (Math.PI / 180)); 

where all variables are doubles and angle is in degrees

like image 43
Alastair Pitts Avatar answered Sep 24 '22 06:09

Alastair Pitts