тк появился живой интерес к данной теме, то решил оживить свою старую статью
источник тут:
http://old.playlab.ru/forum/viewtopic.php?t=392------------------------------------------------------------------------------------------------------------
Хочу рассказать о своем методе сборки любого кубика (2-7,...) с помощью только ОДНОЙ формулы (правда сам когда собираю пользуюсь для ускорения процесса еще несколькими алгоритмами).
Когдато в детстве прочитал что какой-то математик собирал кубик 3*3 с помощью всего лишь 1-2 тривиальных формул, но делал он это за несколько часов, меня тогда еще зацепило ...
сейчас я 4*4 собираю этим методом мин за 15, 7*7 за пару часов.
(наверное ничего нового я не придумал, но почемуто нигде больше подобного подхода не видел, может мало искал)
Несколько базовых понятий:
1. я подразумеваю что вы уже знакомы со сборкой кубика, и у вас уже есть какой-то любимый подход,
2. я человек не ученый, доморощенный, возможно что нового ничего не открываю, изобретая велосипеды, к тому же использую какуюто свою терминологию, если что просветите меня пожалуйста.
3. Обозначение граней: F,U,L,R,D,B. Средних слоев: f,u,r и т.п. Элементов: FRU, RU и т.п.
4. картинки рисовать не буду (нет времени), хотя было бы нагляднее ;( , можно интуитивно после тренировки понять логику передвижения кубиков, и помня только формулу, быстро в уме восстанавливая схему перемещения кубиков.
Основная формула для сборки кубика в общем виде - упорядочивания любых элементов: FR'F'L FRF'L'
(если честно я и саму формулу то не помню, в разное время по разному ее восстанавливаю, тут нужно понять откуда она появляются и почему переставляет кубики по 3-циклу, позже покажу откуда она появляется)
или FR'F'L2 FRF'L2, в некоторых случаях можно использовать только второй вариант. другие варианты: FRF'L FR'F'L', FR'F'L' FRF'L и т.п.
1. в этом виде формула провернет по циклу 3 угловых кубика - FR'F'L FRF'L'
2. что бы получить 3-циклы для ребер заменим вращение одной грани на вращение среднего слоя - Fr'F'L FrF'L' или fR'f'L fRf'L' или FR'F'l FRF'l'
3. что бы получить 3-цикл для центральных элементов (для кубов от 4*4) заменим вращение двух граней на вращение средних слоёв - fr'f'L frf'L' (обратите внимание что тут перемещается 3 элемента а не 2
как может показаться). Для 5*5, 7*7 и т.д. один из слоев не должен быть центральным.
4. можно работать и с центральными кубиками: если затрагивать центральный слой - fr'f'L frf'L' или fr'f'l frf'l' - где r,f,l все центральные слои. тут первая формула крутит 2 кубика на местах, а вторая дает 2 трицикла.
5. Обратные алгоритмы получаются если последнее вращение поставить вперед: L'FR'F' LFRF' и т.п.
6. Возможно нужно будет использовать обратные алгоритмы для ускорения работы и зеркальные (F<->F', R<->L'), а так же ротацию алгоритма т.е. перестановка последнего движения в начало: L' FR'F'L FRF' и т.п.
7. Иногда можно для ускорения работы на этапе R захватывать сразу несколько слоев: например для 4*4 - F(rR)'F'L F(rR)F'L', F(lr')F'L2 F(l'r)F'L2 можно захватывать и по 3 слоя и т.д.
Ориентация элементов стоящих на своих местах: можно стараться сразу все ставить правильно.
1. Используем ту же формулу только дважды, один трицикл по часовой стрелке второй против часовой:
вращение 2 ребер: U (FuF'U Fu'F'U') U' + R (RDrD' R'Dr'D') R' - (18 поворотов)
вращение 2 углов: (FR'F'L FRF'L') + F (BLF'L' B'LFL') F' - (18 поворотов)
немножко мутноватый этап, но если к концу сборки эта ситуация возникнет 1-2 раза то сойдет.
(хотя я помню простые схемы и этими редко пользуюсь, только когда память подведет)
Разрешение паритетов: т.к. Паритеты возникают из-за одного лишнего поворота на 90 градусов, следовательно паритет угловых кубиков устраняем 1 поворотом грани, а реберных кубиков 1 поворотом соответствующего среднего слоя на 90 градусов, а затем с помощью трициклов возвращаем на свои места сдвинутые кубики.
(логику их возникновения объясню чуть позже)