Это алгоритмическая проблема. Кажется, я не могу найти способ сравнить относительные положения двух кубов в кубике rubix.Как рассчитать/описать относительное положение (rubix cube)
Я пронумеровал все 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
Рассмотрим следующие две позиции: кубик а на зельем 19 и куб Ь в 16 лет они» re смежным на нижнем уровне. Вот «19» строки и это индексы 16:
0 1 2 3 4 5
19 17 09 11 18 16 08 10 12 15 14 13
Теперь сравните, что относительное положение куба с и й на 13 и 9. С и 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. В любом случае, это был мой лучший подход, и потребовался целый день, чтобы придумать.
Есть ли у кого-нибудь другие стратегии, которые приходят на ум для вычисления/выражения относительного положения между двумя точками на кубе?
Большое спасибо за помощь и внимание на эту тему!
Многие вещи непонятны. Я боюсь. «Так или иначе, я думал, что если бы я перечислил каждую позицию по отношению к каждой точке звезды, используя тот же алгоритм для перечисления каждого из них, то я мог бы сравнить индексы, и если бы они были одинаковыми, относительная позиция была бы одинаковой "- ??? Я не знаю, как интерпретировать приведенную ниже таблицу. Что такое «относительное положение»? –
Правильно ли, что вас интересуют только позиции, а не ориентация? Каждый краевой куб может иметь две ориентации в одном и том же положении. – lex82
@j_random_hacker: У него есть определенный рисунок, чтобы пересечь кубики ребер от некоторой начальной точки. Когда он начинается с куба 8, он проходит через верхнюю грань куба 10, затем на следующее лицо до 18 и т. Д. Начиная с куба 9 (просто мысленно поверните куб так, что 9 - это где-то 8), вы переходите через верхнюю грань до 11, затем вниз до 19 ... См. Мой ответ, почему это не помогает решить проблему , – lex82