这是一个算法问题。我似乎找不到一种方法来比较两个立方体在一个红宝石立方体的相对位置。
我已经把我程序中的20个立方体都编号好了。我使用他们的坐标系,但是现在我想在相对位置上模拟两个立方体,我遇到了麻烦。

例如,我在第8和第10位置看到了两个立方体,然后我在12和13位置看到了它们,在这两种情况下,它们都在立方体的同一面上,它们都在对方的对面,而不是相邻的。相对地说,这是他们的位置的相同的代表。
(顺便说一句,我现在只关心“边立方体”,那不是角,所以:8 10 9 11 12 13 14 15 16 17 18 19位置)
因此,无论如何,我想,如果我列出每个起始点的每个位置,使用相同的算法列出每个位置,那么我就可以比较这些索引,如果它们是相同的,相对位置将是相同的(但我错了,我可能在正确的轨道上,但它并不总是有效的):
08 10 18 16 12 13 14 15 09 11 19 17
09 11 19 17 13 14 15 12 10 08 16 18
10 18 16 08 14 15 12 13 11 09 17 19
11 19 17 09 15 12 13 14 08 10 18 16
12 13 14 15 11 19 17 09 16 08 10 18
13 14 15 12 08 16 18 10 17 09 11 19
14 15 12 13 09 17 19 11 18 10 08 16
15 12 13 14 10 18 16 08 19 11 09 17
16 08 10 18 19 17 09 11 13 12 15 14
17 09 11 19 16 18 10 08 14 13 12 15
18 16 08 10 17 19 11 09 15 14 13 12
19 17 09 11 18 16 08 10 12 15 14 13考虑以下两个位置:立方体A位于药剂19,立方体b位于16,它们在底层相邻。这里是"19“行,指数为16:
0 1 2 3 4 5
19 17 09 11 18 16 08 10 12 15 14 13现在比较一下立方体c和d在13和9的相对位置。C和D在右边是相邻的,所以它们应该有相同的相对位置。但我的方法不能决定这一点。
0 1 2 3 4 5 6 7 8 9
13 14 15 12 08 16 18 10 17 09 11 19索引6不等于索引9。不管怎样,这是我最好的方法,花了一整天才提出。
有没有人会想到计算/表达立方体上两个位置之间的相对位置的其他策略?
非常感谢你的帮助,并考虑这个问题!
发布于 2016-02-02 08:30:03
这里有两个问题:
本段中的主要问题已经很明显:
例如,我在第8和第10位置看到了两个立方体,然后我在12和13位置看到了它们,在这两种情况下,它们都在立方体的同一面上,它们都在对方的对面,而不是相邻的。相对地说,这是他们的位置的相同的代表。
对于每一个立方体,有另外两个立方体在同一张脸上,并且彼此相隔。为了消除这种模糊性,您必须考虑到方向或减少相对位置的数量(例如,当前方案中的索引1和3表示相同的相对位置)。
https://stackoverflow.com/questions/35146709
复制相似问题