我怎样计算圆周上的一个点?
我怎样计算圆周上的一个点?
如何在不同的编程语言中实现以下函数?
给定以下输入值,计算圆的周长上的点 (x,y)
:
- 半径
- 角度
- 圆心(如果语言支持,可选参数)
admin 更改状态以发布 2023年5月22日
我的C#实现:
public static PointF PointOnCircle(float radius, float angleInDegrees, PointF origin) { // Convert from degrees to radians via multiplication by PI/180 float x = (float)(radius * Math.Cos(angleInDegrees * Math.PI / 180F)) + origin.X; float y = (float)(radius * Math.Sin(angleInDegrees * Math.PI / 180F)) + origin.Y; return new PointF(x, y); }
圆的参数方程是parametric equation for a circle
x = cx + r * cos(a) y = cy + r * sin(a)
其中,r是半径,cx,cy是圆心,a是角度。
这很容易用基本的三角函数来适应任何语言。请注意,大多数语言在三角函数中会使用弧度,因此,你不是在0°到360°之间循环,而是在0到2π弧度之间循环。