我想知道如何在给定角度的情况下在圆的圆周上获得特定点。圆的直径为1,圆的中心点为{ X: 0.5, Y: 0.5 }
。
我想知道如何在给定角度的情况下在圆的圆周上获得特定点。圆的直径为1,圆的中心点为{ X: 0.5, Y: 0.5 }
。
Answers:
您可以使用基本三角函数来解决。 http://www.freehomeworkmathhelp.com/Trigonometry/Trigonometry_Introduction/trigonometry.html
Tan(angle) = Opposite / Adjacent
Sin(angle) = Opposite / Hypotenuse
Cos(angle) = Adjacent / Hypotenuse
我总是记得上面的
The Old Arab
Sat On His
Camel And Howled
上面的意思是,如果我们有一个直角三角形的角度和一个长度,我们可以算出另一边的长度。幸运的是,您的问题可以认为是计算三角形边的长度:
在上面,r是斜边,x是相邻的,y是相反的。
所以对于x:
Cos(a) = x / r
Cos(a) * r = x
x = Cos(a) * r
对于y:
Sin(a) = y / r
Sin(a) * r = y
y = Sin(a) * r
这是假设一个圆位于(0,0),因此我们只需添加圆的中心即可。
radius = 1;
CenterX = 0.5;
CenterY = 0.5;
x = Cos(angle) * radius + CenterX;
Y = Sin(angle) * radius + CenterY;
注意: C#Math函数使用以弧度表示的角度,因此,如果有度,请先将其转换:
radians = degrees * Math.PI / 180