我有四个随机排序的点,我似乎无法用这些点绘制凸/凹Polygon
。这是我正在使用的代码:
int xPoly[] = new int[4];
int yPoly[] = new int[4];
for(int i = 0; i < quad.size(); i++){
g2d.fill(quad.get(i));
xPoly[i] = (int) (quad.get(i).getX());
yPoly[i] = (int) (quad.get(i).getY());
}
Polygon poly = new Poylgon(xPoly, yPoly, xPoly.length);
g2d.draw(poly);
quad
定义为ArrayList<Point> quad = new ArrayList();
的位置。 Point是我写的一个简单的类,它是自我解释的。但是,我的解决方案一直在生成这样的多边形:
黑点是quad
的一部分。我想要的结果是一个看起来很正常的多边形,而不是一个不规则的多边形。
quad
ArrayList:
(0,0), (5,3) (9,10), (6, 7)
这些点没有指定的顺序,因此xPoly and yPoly
也不必订购。
答案 0 :(得分:0)
切换回答:
您必须自己在多边形中对点进行排序 - 多边形中的点描述将绘制的固定顺序。它不会插入您想要的形状类型。