开发者

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

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

This question does not appear to be about programming within the scope defined in the help center.

Closed 4 years ago.

Improve this question

Using 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 + 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


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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜