首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算/描述相对位置(rubix立方体)

如何计算/描述相对位置(rubix立方体)
EN

Stack Overflow用户
提问于 2016-02-02 06:39:57
回答 1查看 414关注 0票数 1

这是一个算法问题。我似乎找不到一种方法来比较两个立方体在一个红宝石立方体的相对位置。

我已经把我程序中的20个立方体都编号好了。我使用他们的坐标系,但是现在我想在相对位置上模拟两个立方体,我遇到了麻烦。

例如,我在第8和第10位置看到了两个立方体,然后我在12和13位置看到了它们,在这两种情况下,它们都在立方体的同一面上,它们都在对方的对面,而不是相邻的。相对地说,这是他们的位置的相同的代表。

(顺便说一句,我现在只关心“边立方体”,那不是角,所以:8 10 9 11 12 13 14 15 16 17 18 19位置)

因此,无论如何,我想,如果我列出每个起始点的每个位置,使用相同的算法列出每个位置,那么我就可以比较这些索引,如果它们是相同的,相对位置将是相同的(但我错了,我可能在正确的轨道上,但它并不总是有效的):

代码语言:javascript
复制
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:

代码语言:javascript
复制
0  1  2  3    4   5   
19 17 09 11   18  16  08  10    12  15  14  13

现在比较一下立方体c和d在13和9的相对位置。C和D在右边是相邻的,所以它们应该有相同的相对位置。但我的方法不能决定这一点。

代码语言:javascript
复制
0  1  2  3    4   5   6   7     8   9
13 14 15 12   08  16  18  10    17  09  11  19

索引6不等于索引9。不管怎样,这是我最好的方法,花了一整天才提出。

有没有人会想到计算/表达立方体上两个位置之间的相对位置的其他策略?

非常感谢你的帮助,并考虑这个问题!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-02 08:30:03

这里有两个问题:

  • 我认为你在计算立方体13的相对位置时犯了错误。我得到: 0 1 2 3 4 5 6 7 9 10 11 13 14 12 17 09 11 19 08 16 18 10 这与另一条成直线,所以多维数据集9出现在位置5。 0 1 2 3 4 5 6 19 17 09 11 18 16 08 10 12 15 14 根据要求,立方体16也出现在第5位(我想你把问题搞混了。)当你的意思是5的时候,你提到了索引6。你把索引编号到6,但是在第6位置有多维数据集8,而不是多维数据集16。请再次检查)。
  • 第二个问题是,仅给定一个立方体位置,而没有参考立方体的方向,有两种方法来对立方体进行编号。由于您的立方体没有着色,您可以将立方体旋转180度,然后对引用立方体进行另一个编号。如果多维数据集19的相对位置是正确的,我也可以为多维数据集13的相对位置编号如下: 0 1 2 3 4 5 6 7 9 10 11 13 12 15 14 16 18 10 17 09 11 19 请注意,这与您的版本很接近,但是索引1到3的顺序不同。我认为你看立方体的方式不一致。

本段中的主要问题已经很明显:

例如,我在第8和第10位置看到了两个立方体,然后我在12和13位置看到了它们,在这两种情况下,它们都在立方体的同一面上,它们都在对方的对面,而不是相邻的。相对地说,这是他们的位置的相同的代表。

对于每一个立方体,有另外两个立方体在同一张脸上,并且彼此相隔。为了消除这种模糊性,您必须考虑到方向或减少相对位置的数量(例如,当前方案中的索引1和3表示相同的相对位置)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35146709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档