两个边界框之间的距离

时间:2018-09-27 10:02:20

标签: c# math distance

问题定义:

-3D

-由最小x,y,z角和最大x,y,z角定义的两个边界框

目标/目标:

-检查它们是否重叠,一个包含另一个或是否相隔一定距离

边界条件:

-目前,我正在使用c#进行编码

目前为止的方法:

检查每个坐标方向(x,y,z):

   if (a.Max.X < b.Min.X || b.Max.X < a.Min.X)
    {
        /*
         * x    x      o   o
         * o    o      x   x
         * */
    }
    else if ((b.Min.X < a.Max.X && b.Max.X > a.Max.X) ||
        (a.Min.X < b.Max.X && a.Max.X > b.Max.X))
    {
        /*
         * x   o x   o
         * o   x o   x
        */
    }
    else if((b.min.X < ...........

不幸的是,我不确定这是否是最干净,最快的选择。在我看来,我想必须有一些聪明的数学策略来解决我的问题,但到目前为止,我还是没能做到。

0 个答案:

没有答案