gpt4 book ai didi

algorithm - 如何计算/描述相对位置(魔方)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:01:09 25 4
gpt4 key购买 nike

这是一道算法题。我似乎无法找到一种方法来比较 rubix 立方体中 2 个立方体的相对位置。

我已经在我的程序中对所有 20 个立方体进行了编号。我正在使用他们的坐标系,但现在我想在相对位置对两个立方体建模,我遇到了麻烦。

enter image description here

例如,假设我在位置 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

考虑以下两个位置:方 block A 在药水 19 处,方 block 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。无论如何,这是我最好的方法,我花了一整天才想出办法。

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

非常感谢您的帮助和对这个主题的考虑!

最佳答案

这里有两个问题:

  • 我认为你从立方体 13 计算相对位置时犯了一个错误。我得到:

    0  1  2  3     4  5  6  7     8  9  10 11 
    13 14 15 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 13

    根据需要,立方体 16 也出现在位置 5(我认为你在问题中混淆了一些东西。当你的意思是 5 时你提到索引 6。你将索引编号为 6,但在位置 6 处有立方体 8,不是立方体 16。请再次检查)。

  • 第二个问题是,如果只给定一个立方体位置,而没有一个方向引用立方体,则有两种方法可以对立方体进行编号。由于您的立方体没有着色,您可以将立方体旋转 180 度并为引用立方体重新编号。假设 19 号立方体的相对位置是正确的,我也可以像这样为 13 号立方体的相对位置编号:

    0  1  2  3     4  5  6  7     8  9  10 11 
    13 12 15 14 08 16 18 10 17 09 11 19

    请注意,这与您的版本很接近,但索引 1 到 3 的顺序不同。我认为您看待立方体的方式不一致。

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

For example, say I saw the two cubes I'm watching in position 8 and 10, then later I saw them in position 12 and 13, well in both situations they're both on the same face of the cube, and they're both across from each other, not adjacent. Relatively speaking, that's the same representation of their location.

对于每个立方体,还有两个其他立方体位于同一面上且彼此相对。为了消除这种歧义,您必须考虑方向或减少相对位置的数量(例如,当前方案中的索引 1 和 3 将表示相同的相对位置)。

关于algorithm - 如何计算/描述相对位置(魔方),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35146709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com