【发布时间】:2019-08-06 22:45:20
【问题描述】:
我在 java 图形中绘制具有多个边的多边形。我的算法只有在涉及少数方面时才能正常工作。例如多边形的边数超过 50 条时如何解决?
// PolygonsGUI. The value represents the number of sides of the polygon - Xiao 2019
int x0 = dim.width / 2;
int y0 = dim.height / 2;
int r = Math.min(x0, y0) - 2 * gap;
int[] xx = new int[value];
int[] yy = new int[value];
for (int i = 0; i < value; i++) {
Double a = i * (Math.toRadians(360 / (double)value));
xx[i] = (int) (x0 + (r * Math.sin(a)));
yy[i] = (int) (y0 + (r * Math.cos(a)));
}
g.drawPolygon(xx, yy, value);
【问题讨论】:
-
它“停止工作”的边数是多少? “停止工作”是什么意思?
-
不是 JAVA 编码器,但您确定
sin,cos需要角度而不是弧度吗?