【发布时间】:2017-05-20 06:02:44
【问题描述】:
我想画一个多边形并像这样用 AffineTransform 旋转它。
float theta = 90;
Polygon p = new Polygon(new int[]{0, 4, 4, 0}, new int[]{0, 0, 4, 4}, 4);
AffineTransform transform = new AffineTransform();
transform.rotate(Math.toRadians(theta), p.xpoints[0], p.ypoints[0]);
Shape transformed = transform.createTransformedShape(p);
g2.fill(transformed);
但是,我希望能够以与多边形相同的方式访问点 (transformed.xpoints[0])。一种看待这种情况的方法是将 Shape 转换为 Polygon——但据我所知这是不可能的。
最好的选择是什么?
附带说明:这是一个创建由 4 边多边形(矩形)组成的分形树的练习。我选择使用多边形来分别将分支锚定到左上角和右上角。如果这不必要地复杂,请告诉我。
【问题讨论】:
标签: java polygons affinetransform fractals