找到圆的边缘上的坐标

时间:2010-01-19 12:27:09

标签: c# math trigonometry geometry

使用C#:

如果我有中心坐标和半径,如何获得任意给定度数的圆边上的(x,y)坐标?

可能有SIN,TAN,COSIN和其他十年级数学......:)

3 个答案:

答案 0 :(得分:77)

这与C#无关。只涉及一些基础数学。

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

theta是弧度,x0和y0是中心的坐标,r是半径,角度是从x轴逆时针测量的。但如果你想在C#中使用它,你的角度是度数:

double x = x0 + r * Math.Cos(theta * Math.PI / 180);
double y = y0 + r * Math.Sin(theta * Math.PI / 180);

答案 1 :(得分:8)

使用毕达哥拉斯定理(其中x1,y1是边缘点):

  

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

在C#中,这看起来像是:

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

其中所有变量均为doublesangle为度

答案 2 :(得分:3)

对于以弧度为单位的原点(j, k),半径r和角度t的圆圈:

   x(t) = r * cos(t) + j       
   y(t) = r * sin(t) + k