I am currently reading Christer Ericson's Real-Time Collision Detection Book. The topic I'm particularly interested in, is the chapter about Discrete-orientation Polytopes (k-DOPs). In his words "...k$k$-DOPs are convex polytopes, almost identical to the slab-based volumes except that the normals are defined as a fixed set of axes shared among all k$k$-DOP bounding volumes. The normal components are typically limited to the set {−1, 0, 1}$\{−1, 0, 1\}$, and the normals are not normalized... Only the min-max intervals for each axis must be stored." So for example a Cube of side-length 2$2$ can be written as a 6$6$-DOP with face-normals [(1,0,0),(0,1,0),(0,0,1)]$[(1,0,0),(0,1,0),(0,0,1)]$ and the min intervals would be [-1,-1,-1]$[-1,-1,-1]$ and the max intervals [1,1,1]$[1,1,1]$. Another example would be aan octahedron (8$8$-DOP) with face-normals [(1,1,1),(1,1,-1),(1,-1,1),(-1,1,1)]$[(1,1,1),(1,1,-1),(1,-1,1),(-1,1,1)]$.
Given the face-normals and the min-max intervals, I'm interested in calculating the vertices of the polytope. My first intuition was to calculate the linear equation system of every combination of 3x3$3\times 3$ Matrices (face-normals) with every combination of 3x1 Vectors$3\times1$ vectors (corresponding min-max values). This works very well for the 6$6$-DOP example, since there is only one 3x3$3\times3$ Matrix and exactly 8$8$ combinations of Vectorsvectors, leading to exactly 8$8$ linear equation systems. The result of these equations, are the Verticesvertices of the cube. In other words, I just calculate the intersections of all groups of three faces that are not parallel to each other. However, this approach fails for higher values of k$k$, like the 8$8$-DOP, since there are intersections out of the k$k$-DOP and therefore far too many Vertices calculated.
I am looking for a simple algorithm, to calculate the vertices of every given k$k$-DOP. The algorithm can be a brute-force approach, as computation time is not relevant to me. What is important to me is an approach that is easy to understand. In another question (Finding a bounding volume (line segments) from a kDop definition.another MathOverflow Q&A), a fast approach was suggested. As embarrassing as it is, the suggested approach is currently way over my head. In his question the author said he used a "Brute force method. Intersect each plane with each other plane to get a set of lines and then intersect these lines with each plane to find the correct line segment (or discard the line)." I'm not sure how to determine whether a line segment should be discarded or not.
Thanks to everyone helping in advance!