我在很长一段时间内没有做任何几何学,我无法弄清楚如何做到这一点。
我创建了这个方法:
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;
}
这样就形成了一个等边六边形:
_
/ \
\_/
我需要一个旋转的等边六边形,如下所示:
/\
| |
\/
有人能帮我记住数学吗?谢谢
答案 0 :(得分:4)
将i * 2
更改为(1 + i * 2)
,这会将你的所有点数旋转pi / 6,这应该可以解决问题!