找到任意尺寸的2个矩形之间的最小和最大距离

时间:2017-03-30 10:37:28

标签: java geometry

我有一个Rectangle类,它代表一个d维矩形,每个维度都有2 * d个数字。对于每个维度,我都有一个下限和一个上限。 Dimensionality存储矩形的维数,对于下边界和上边界,我使用双数组。

我想创建两个方法,它们具有相同Dimensionality的另一个矩形对象作为输入,并返回矩形之间的最小和最大距离,即时尝试使用每个投影中的每个投影的最小/最大距离轴。我还有一个创建投影的方法。

//returns 2 position array
    public double[] project(int x)
    {
        //x is the selected dimension
        double proj[] = new double[2];
        proj[0] = this.lb[x];
        proj[1] = this.ub[x];
        return proj;
    }

你可以在第三组形状上看到我想要做得更清楚

https://s15.postimg.org/l8aijyl1n/imageedit_2_6689786765.jpg

1 个答案:

答案 0 :(得分:0)

  1. 找到矩形的相互方向(作为中心之间的矢量方向,足以得到center.x和center.y差异的迹象)

  2. 根据方向象限,获取第一个矩形的选定边到第二个矩形的选定边的距离。使用这些距离的符号,找到极值距离:

  3. 对于图片中的情况(第四象限的方向),必须检查从第一个矩形的右下角到第二个矩形的左边和上边缘的距离,以及从第二个矩形的左上角到第一个的右边缘和下边缘。

    <input type="checkbox" name="check[]" id="check[]" <?php if( $row['Delivery_no']) echo "checked"; ?> />
    

    似乎可以使用相同的方法来获得更高的维度。案例数量变得太高,因此选择与中心方向矢量分量对应的索引进行检查的平面是值得的。标志