编辑 - 简而言之:我知道圆心和半径,所以我想在圆心周围生成一些点
答案 0 :(得分:3)
我不确定,但是我用简单的Swing JComponent检查了这个并且似乎没问题。
Point center = new Point(100, 100); // circle center
int n = 5; // N
int r = 20; // radius
for (int i = 0; i < n; i++)
{
double fi = 2*Math.PI*i/n;
double x = r*Math.sin(fi + Math.PI) + center.getX();
double y = r*Math.cos(fi + Math.PI) + center.getY();
//g2.draw(new Line2D.Double(x, y, x, y));
}
答案 1 :(得分:2)
大多数的一般想法虽然相当简单。一个圆圈中有2 *个Pi弧度,所以一旦你确定了你想要整理你的点的圆圈的哪一部分,你将该百分比乘以2 * pi,并将该结果除以得到的点数。点之间的角度(以弧度表示)。
要从角度距离到位置,您可以获取角度的余弦和正弦值,并将每个角度乘以圆的半径,以获得该点相对于圆心的x和y坐标。为此,0弧度的角度直接从中心向右移动,角度从那里逆时针方向前进。