1

私はこれを行う方法を理解できないほど長い間ジオメトリを行っていません。

このメソッドを作成しました:

public Polygon getHex(int posX, int posY) {
        Polygon hex = new Polygon();
        for (int i = 0; i < 6; i++) {
            hex.addPoint((int) (posX + (50 * Math.cos(i * 2 * Math.PI / 6))),
                    (int) (posY + (50 * Math.sin(i * 2 * Math.PI / 6))));
        }
        return hex;
    }

これにより、次のような正六角形が作成されます。

  _
 / \
 \_/

次のような回転した正六角形が必要です。

   /\
  |  |
   \/ 

誰か私が数学を覚えるのを手伝ってくれませんか? ありがとうございました

4

1 に答える 1

4

に変更i * 2すると(1 + i * 2)、すべてのポイントが pi/6 で回転します。これでうまくいくはずです!

于 2012-11-05T23:46:06.393 に答える