Java 试图创建一个沿圆周放置点的程序,但这些点赢了';不要均匀分布。为什么?(爪哇)

Java 试图创建一个沿圆周放置点的程序,但这些点赢了';不要均匀分布。为什么?(爪哇),java,geometry,Java,Geometry,我正在为一个程序编写代码,该程序在圆周上的点之间绘制直线。我用这个等式沿圆周设置点: x=中心+r*cos(角度) y=中心+r*sin(角度) 但由于某些原因,我的点不会沿圆周均匀分布。我不明白为什么。 结果是这样的: public void设置点(){ 双周长=d*Math.PI; int x; int-y; int nPoints=10;//这是一个由用户确定的变量 int空间=(int)(周长/nPoints); int start=0; System.out.println(“空格:

我正在为一个程序编写代码,该程序在圆周上的点之间绘制直线。我用这个等式沿圆周设置点:

x=中心+r*cos(角度)

y=中心+r*sin(角度)

但由于某些原因,我的点不会沿圆周均匀分布。我不明白为什么。 结果是这样的:

public void设置点(){
双周长=d*Math.PI;
int x;
int-y;
int nPoints=10;//这是一个由用户确定的变量
int空间=(int)(周长/nPoints);
int start=0;
System.out.println(“空格:+space”);
int r=20;
INTA=506;
int b=356;
int centerX=a;
int centerY=b;
int计数器=0;
同时(计数器更换:

int space = (int) (circumference/nPoints);
int start = 0;
与:

应该这样做。为了清楚起见,您应该将
空格
重命名为
角度
或其他名称

2*Math.PI
是一个全角度,以弧度表示。
(2*Math.PI)/nPoints
是需要在两点之间应用的角度。

替换:

int space = (int) (circumference/nPoints);
int start = 0;
与:

应该这样做。为了清楚起见,您应该将
空格
重命名为
角度
或其他名称


2*Math.PI
是一个全角度,以弧度表示。
(2*Math.PI)/nPoints
是您需要在两点之间应用的角度。

如果我没有弄错您的问题,您希望沿圆周标记一定数量的点,以便它们将圆周分成相等的部分。是否正确?如果正确,我建议使用角度:

public void设置点(){
双半径=2*Math.PI;
int r=20;
int centerX=506;
int centerY=356;
int nPoints=10;//这是一个由用户确定的变量
对于(int i=0;i
如果我答对了你的问题,你想沿着圆周标记一定数量的点,以便它们将圆周分成相等的部分。正确吗?如果正确,我建议使用角度:

public void设置点(){
双半径=2*Math.PI;
int r=20;
int centerX=506;
int centerY=356;
int nPoints=10;//这是一个由用户确定的变量
对于(int i=0;i
那么我应该用什么替换它呢?我自己也不太确定,但因为它将点放在圆周上,我认为它是正确的。仍然不起作用:/我应该用什么替换它呢?我自己也不太确定,但是因为它将点放在圆周上,我认为它是正确的。仍然不起作用ing:/出于某种原因,我认为我需要使用圆周长的方程式。当我现在思考它时,这没有意义。但这就成功了,谢谢你!:)出于某种原因,我认为我需要使用圆周长的方程式。当我现在想起来时,这没有意义。但这确实起了作用,谢谢你!:)
double space = (2 * Math.PI) / nPoints;
double start = 0;