我想模拟真实模具的3D配置。我知道对面的总和等于7(顶部:1 +底部:6 = 7)。让我们说顶面是1,正面是5,右边是4,背面是2,左边是3,底部是6,as this image suggests。
真正的位置对我的代码很重要,那么如何正确地随机化模具呢?例如,如果随机化结果top为1且front为5,则右侧 为4.它不能为3,因为在实际模具中,3将在左边。 该程序必须随机化2个相邻的面,其他面必须根据2个随机相邻面放置。
Pseudocode很好,但如果你能用文字解释我,我也很感激。
答案 0 :(得分:0)
从立方体的八个角来看,这可能是最容易的。大多数情况下,最靠近观察者的角落会有一个角落,因此该角落周围的三个面将会显示出来。有时两个角落距离相等,所以只会出现两个面。很少(可能永远不会,如果你的视角不与桌子平齐),四个角将同样遥远,只有一个面会显示。
保留一个预先计算的列表,该列表由立方体顶点索引,每个顶点包含三个面围绕它的面,以及每个面的哪个角。然后滚动,随机化上面,然后随机旋转,并查找表中的面。
美国骰子在一个角落顺时针方向有ace,deuce和trey,而 点的线指向那个角落(所以pips在角落周围形成一个三角形)。我不知道六人的方向是否标准化。东方骰子是不同的。