我有一个要用Java绘制到JPanel的节点集合,我想做的是使这些节点之间不相交,以便最终我可以尝试创建凸包问题的解决方案。我目前无法解决如何创建一个系统来检查是否有任何节点相交,然后只是更新它们的位置直到它们都没有相交。
while(!sorted) {
for(Node otherNodes : nodes) {
for(Node node : nodes) {
if( new Rectangle(node.x,node.y,20,20).intersects( new Rectangle(otherNodes.x,otherNodes.y,20,20))) {
node.setX(r.nextInt(300));
node.setY(r.nextInt(300));
}
else {
sorted = true;
}
}
}
}
这是我尝试创建解决方案的尝试,尽管它不起作用。
我已经将节点存储在这样的ArrayList中
ArrayList<Node> nodes = new ArrayList<Node>();
有帮助吗?谢谢:)