0
我的意思是用五角形画出从顶点到中心的线条。这些'武器'正在绘制正确,但是当我尝试连接顶点时,它被错误地绘制。为了连接线条,我在循环中放置了另一个绘图函数,如下所示,它应该将绘制的第一条线的终点坐标作为起点,并绘制迭代中绘制的下一个“手臂”的终点坐标,作为其终点。我在这里错过了什么吗?我错误地在第二次抽签中使用'i +角度'?为什么这段代码不允许我连接绘图的顶点?
for (int i = 0; i < arms; i += angle) {
double endPointX = armLength * Math.cos(i*angle-Math.PI/2);
double endPointY = armLength * Math.sin(i*angle-Math.PI/2);
double endPointX2 = armLength * Math.cos((i+angle)*angle-Math.PI/2);
double endPointY2 = armLength * Math.sin((i+angle)*angle-Math.PI/2);
g2d.drawLine(centreX, centreY,centreX+ (int) endPointX,centreY+ (int) endPointY);
g2d.drawLine(centreX+ (int) endPointX,centreY+ (int) endPointY, (int) endPointX2,(int) endPointY2);
}
角度似乎是度。使用'double angleRad = Math.toRadians(angleDeg)'将角度转换为弧度,然后在任何三角函数中使用它,例如'sin'或'cos' – Marco13 2014-10-08 16:45:03
它应该是'(i + 1)* angle' instad '第(i +角度)* angle' – Marco13 2014-10-08 16:55:13