【发布时间】:2018-10-11 00:38:24
【问题描述】:
我目前正在开发一个 WinForms 应用程序,它在某些时候必须绘制一些东西。基本上,它必须以圆形的形式组织绘制未知数量的圆圈(例如 3、5、10)。像这样的:
我知道这看起来很可怕。所以我想定义一个圆心和一个半径。然后我只需要从大圆的顶部开始,每隔 x 度画一个小圆(比如 3 个圆是 120 度,4 个圆是 90 度等)。
我的问题是:有没有一种算法可以让我画一个圆的中心点?就像我用 f.e 中心 X = 50, Y = 50 和半径 R = 10 定义我的大圆一样。然后我在顶部画一个圆,决定我要画下一个离第一个120度远的圆,我只需要一个在大圆上的点(X,Y)?
【问题讨论】:
-
该算法将是
Math.Sin或Math.Cos。 -
我想你想要的是画很多小圆圈来形成一个大圆圈。对吗?
-
是的。问题不是画图,问题是找X和Y
-
您正在寻找多边形的质心。请参阅:en.wikipedia.org/wiki/Centroid