Java,在所需位置生成随机多边形

时间:2015-04-29 18:22:27

标签: java math polygon

我需要生成随机多边形作为我游戏的小行星。我一直在试验,试图弄清楚如何做到这一点,但我一直在寻找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;
       }
    });

我只是在创造最终点本身的数学上有点损失/找出点的坐标。任何帮助将不胜感激。

编辑:好的我已经想了一点,使用trig我可以使用比率找到点的长度和宽度。但有谁知道我应该使用哪些比率?同样,如何区分该点的哪个象限?

0 个答案:

没有答案