在n维中查找矩形的坐标

Finding coordinate of rectangle in n-dimension

C++中计算n维矩形(超矩形)坐标的最佳方法是什么?

我在一维向量中定义了矩形的尺寸,例如:

[min1, max1, min2, max2, ...., minN, maxN]

例如,在二维维度中,向量是

[min1, max1, min2, max2]

而我要找的角坐标是

[min1, min2], [min1, max2], [max1, min2], [max1, max2]

我们如何为 n 维的超矩形执行此操作?

hyper-rectangle 有 2^N 个顶点。

要计算第 i 个顶点的坐标,其中 i[ 0 .. 2^N-1 ] 区间内,从 0(最低的一个)到 N 循环 i 中的位-1。如果设置了该位,则使用该维度的最大坐标,如果该位为 0,则使用该维度的最小坐标。

例如,对于立方体 N=3,它有 8 个顶点。

第一个索引为 0,0b000,您将获得所有 3 个坐标的最小值。 最后一个索引为 7,0b111,您将获得所有 3 个坐标的最大值。 其余顶点介于两者之间,您将得到最小和最大坐标的某种组合。