我很长一段时间没有做任何几何形状,以至于我无法弄清楚如何做。
我创建了此方法:
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;
}
这会产生像这样的等边六角形:
_
/
_/
我需要这样的旋转,等边的六角形:
/
| |
/
有人可以帮助我记住数学吗?谢谢
将 i * 2
更改为 (1 + i * 2)
,它将通过pi/6旋转所有要点,这应该可以解决问题!