gpt4 book ai didi

java - 按坐标排列正方形

转载 作者:行者123 更新时间:2023-12-02 06:30:48 26 4
gpt4 key购买 nike

我用Java做了一个项目。对于该项目,我必须根据它们的坐标(窗口的左上角选择为0,0)来排列方 block (我创建的一个类,我将在最后给出代码)。现在这些方 block 位于 ArrayList 中。我认为重要的是,并非所有这些都具有相同的大小,但它们一起形成一个矩形(或正方形)。我考虑过将它们排列在二维数组中。有人知道如何做吗?

    public class Square3D extends Frame {

public Point3D p1, p2, p3, p4;
public Color color;
public Square3D() {
this.p1 = new Point3D(0, 0, 0, 1);
this.p2 = new Point3D(0, 60, 0, 1);
this.p3 = new Point3D(60, 60, 0, 1);
this.p4 = new Point3D(60, 0, 0, 1);
this.color = Color.blue;
}
}

您可以假设所有“正方形”都是矩形或正方形(每个“正方形”中 X 和 Y 之间的比例相同)。

最佳答案

您可以使用 kd 树或矩形树。当你只有正方形时,你也可以尝试四叉树。如果要打包树,可以使用 TreeMap 算法并将矩形放在适合的位置,然后沿 2 轴分割树。这是一个示例:http://codeincomplete.com/posts/2011/5/7/bin_packing/ .

关于java - 按坐标排列正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20073685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com