求n维矩形的坐标

zaz*_*aza 4 c++ coordinates n-dimensional

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

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

[min1, max1, min2, max2, ...., minN, maxN]
Run Code Online (Sandbox Code Playgroud)

例如,在 2d 维度中,向量为

[min1, max1, min2, max2]
Run Code Online (Sandbox Code Playgroud)

我正在寻找的角坐标是

[min1, min2], [min1, max2], [max1, min2], [max1, max2]
Run Code Online (Sandbox Code Playgroud)

对于 n 维超矩形,我们如何做到这一点?

Soo*_*nts 6

该超矩形有 2^N 个顶点。

\n\n

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

\n\n

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

\n\n

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

\n