0

我正在做一个需要我做简单几何变换的项目:

  • 翻译
  • x 和 y 轴上的反射

Java小程序上绘制的一些图形上。

之前在小程序上工作的人正在从代表每个图形顶点的笛卡尔点的数组中绘制图形。

我决定将这些数字表示为多边形,因为它为代码添加了一些更好的组织,我可以使用他用来构造一个数组,还因为我认为转换会变得更容易。

在发现 Polygon 没有任何反射方法后,我尝试了另一条路线:

我将多边形投射为一个形状,然后是一个区域,然后应用了一个AffineTransform应该可以完成我想要的操作;不幸的是,Graphics 没有绘制 Area 对象的方法,而且我无法重新转换为形状。

那么,有人知道使用多边形进行几何反射的方法吗?或者,我可以通过其他方式执行此操作吗?

4

1 回答 1

2

有什么理由不能为此编写自己的函数吗?喜欢:

Polygon reflectX(Polygon p) {
    Polygon np = new Polygon();
    for (int i = 0; i < p.npoints; i++) {
        np.addPoint(p.xpoints[i], -p.ypoints[i]);
    }
    return np;
}
于 2009-08-18T19:39:02.463 回答