Algorithm 非负正态空间中轴对齐超立方体并集顶点的求解算法

Algorithm 非负正态空间中轴对齐超立方体并集顶点的求解算法,algorithm,geometry,language-agnostic,complexity-theory,computational-geometry,Algorithm,Geometry,Language Agnostic,Complexity Theory,Computational Geometry,假设我有一个D维的N轴对齐超立方体集合 每个超立方体在原点处有一个顶点,在正正点处有一个顶点(即所有坐标严格为正)。后一个顶点定义了超立方体,因此超立方体的集合可以由顶点集合给出,每个超立方体一个顶点 您可以假设我已经从超立方体列表中删除了严格包含在另一个超立方体中的任何超立方体。(目前我是通过一个天真的O(N^2*D)算法来实现的。附带问题:我能做得更好吗?) 我需要找到所有超立方体并集的顶点,不包括任何具有一个或多个零坐标的顶点 在二维中,有N-1个这样的顶点,可以通过在一个(任意)坐标上排

假设我有一个D维的N轴对齐超立方体集合

每个超立方体在原点处有一个顶点,在正正点处有一个顶点(即所有坐标严格为正)。后一个顶点定义了超立方体,因此超立方体的集合可以由顶点集合给出,每个超立方体一个顶点

您可以假设我已经从超立方体列表中删除了严格包含在另一个超立方体中的任何超立方体。(目前我是通过一个天真的O(N^2*D)算法来实现的。附带问题:我能做得更好吗?)


我需要找到所有超立方体并集的顶点,不包括任何具有一个或多个零坐标的顶点

在二维中,有N-1个这样的顶点,可以通过在一个(任意)坐标上排序顶点,即在O(N log(N))中有效地找到它们


在D维中有多少这样的顶点?(对于两个立方体,似乎只有一个新顶点,因此可能仍然是N-1?)我如何有效地找到这些顶点?

一些解释:
Hj
表示“Hiperculoid j”,在原点有一个顶点,在
{xi,yi,zi,wi等处有一个相反的顶点


如果
Hi
包含在
Hj
中,则
xi“我需要找到并集的顶点”-不清楚。是否要在某些数据结构中表示联合体的形状?如果是,那么是哪一个?另外,你关于N-1个新顶点的假设是错误的-看看你会得到什么,D=3,N=3和坐标(3,2,1),(2,1,3)和(1,3,2)的数据结构:列表是好的。与我的猜想相反的例子是:是的,你是对的。对于那些发现3D难以可视化的人(比如我),你可以使用MATLAB cube_plot函数和代码:cube_plot([0,0,0],3,2,1,[1,0,0]);等等立方图([0,0,0],2,1,3[0,1,0]);立方图([0,0,0],1,3,2[0,0,1]);拖延;结果是有4个新顶点(不包括坐标为0的顶点)。新顶点列表?你打算用它做什么?通常,设计一个数据结构并对其进行一组操作是有意义的。您当前表示为一组相交的超框也是一个数据结构,但它可能不支持您需要的所有操作-这就是为什么您要将其转换为其他内容,对吗?它们会对线性规划问题产生约束。所以一个列表就足够了。我不知道这是如何生成新顶点列表的。你能说明它如何适用于赫克托上面给出的例子,(3,2,1),(2,1,3)和(1,3,2)吗?