我有一个立方体的 8 个顶点,它们只是索引。我想获得每个顶点在标准化立方体中的各自位置。在下图中,假设 +x 位于右侧,+y 位于上方,+z 位于屏幕外。(顶点 2、3、6 和 7 在前面,如果很难看到的话)。
(忽略边缘索引)
这是我所拥有的:
for (int v = 0; v < 8; v++) {
float x, y, z;
if(v < 4) y = -1;
else y = +1;
if(v == 1 || v == 2 || v == 5 || v == 6) x = +1;
else x = -1;
if(v == 2 || v == 3 || v == 6 || v == 7) z = +1;
else z = -1;
}
没有这么多逻辑 OR,有没有更合乎逻辑的方法来做到这一点?