找到圆的边缘上的坐标

Ian*_*ink 25 c# math geometry trigonometry

使用C#:

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

可能有SIN,TAN,COSIN等十年级数学... :)

Dav*_*d M 79

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

x = x0 + r * cos(theta)
y = y0 + r * sin(theta)
Run Code Online (Sandbox Code Playgroud)

θ是弧度,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);
Run Code Online (Sandbox Code Playgroud)

  • 在这些类型的问题上,答案几乎相同,这很有趣。甚至可以追溯到答案的结构:P (2认同)

Ala*_*tts 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));
Run Code Online (Sandbox Code Playgroud)

其中所有的变量都doublesangle为度