java - 创建顶部和底部有点的六边形

标签 java awt polygon

我已经很长时间没有做任何几何学了,所以我不知道该怎么做。

我创建了这个方法:

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,这应该可以解决问题!

关于java - 创建顶部和底部有点的六边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13242207/

相关文章:

java - 使用数组复制的数组存储异常

java - 需要帮助解决 FileOutputStream 和 DataOutputStream 上的 IOException

java从组件中解析数据

javax 打印 vs java awt 打印 api

kml - KML可以控制多边形的绘制顺序吗?

algorithm - 缩放任意多边形

java - 获取 ArrayList 中文件的 lastModifiedDate() 和 fileSize()

Java:从 inputStream 读取和写入 outputStream 的最有效方式(加上一些修改)

java - 程序运行时JButton中的图标不显示,可能是什么原因?

java - 包含方法似乎不适用于我的多边形内的点