Finding the coordinates on the edge of a circle [closed]
This question does not appear to be about programming within the scope defined in the help center.
Closed 4 years ago.
Improve this questionUsing C#:
How do I get the (x, y) coordinates on the edge of a circle for any given 开发者_C百科degree, if I have the center coordinates and the radius?
There is probably SIN, TAN, COSIN and other grade ten math involved... :)
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);
using Pythagoras Theorem (where x1,y1 is the edge point):
x1 = x + rcos(theta)
y1 = y + rsin(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
For a circle with origin (j, k)
, radius r
, and angle t
in radians:
x(t) = r * cos(t) + j
y(t) = r * sin(t) + k
精彩评论