我需要生成随机多边形用作我的游戏小行星。我一直在试验,试图找出如何做到这一点,但我一直在寻找x和y的位置。爪哇,在所需的位置生成随机多边形
首先,我要为多边形的每个点创建角度和长度。长度取决于随机生成的小行星的大小。
asteroidData = new double[10][2];
for (int i = 0; i < asteroidData.length; i++) {
//angle
asteroidData[i][0] = Math.random()*2*Math.PI;
//length
asteroidData[i][1] = sze + Math.random()*sze/2;
}
,然后自g.fillPolygon需要点按的角度我做这个排序..
Arrays.sort(asteroidData, new Comparator<double[]>() {
@Override
public int compare(final double[] entry1, final double[] entry2) {
if (entry1[0] == entry2[0])
return 0;
if (entry1[0] > entry2[0])
return 1;
return -1;
}
});
我对数学只是一个小的损失为创建最终点本身/找出点的坐标。任何帮助,将不胜感激。
编辑:好吧我已经想通了一点,使用三角我可以找到使用比率的长度和点的宽度。但有谁知道我应该使用哪个比率?以及如何区分这个点在哪个象限?
是的,这是有效的,谢谢! – user3057800