Браузер не умеет рисовать 3D — показываем развёртку.
Глава 8 из 11
Углы на свои места
Углы пока могут быть повёрнуты как угодно — сейчас важно лишь, чтобы каждый стоял в своём гнезде.
Последние четыре детали
Всё собрано, кроме четырёх верхних углов. Они путаются двумя способами сразу: стоят не на своих местах и смотрят жёлтым куда попало. Разделим задачу надвое. В этой главе расставим углы по гнёздам, в следующей — повернём.
Рёбра наверху уже стоят как надо, поэтому отдельно крутить верх на этом шаге не нужно: любой лишний U сдвинет их с мест. Работаем только алгоритмом, а нужный угол выводим вперёд поворотом всего кубика.
Как понять, что угол на месте
Угол на месте, если его три цвета — те же, что у трёх центров вокруг него. В каком порядке они смотрят и куда повёрнут угол, сейчас неважно.
Возьмём правый передний верхний угол. Его цвета — жёлтый, зелёный, оранжевый. Вокруг — жёлтый, зелёный и оранжевый центры. Совпало: угол дома, хотя жёлтая наклейка у него смотрит вперёд. А вот остальные три угла здесь не на своих местах — проверь каждый.
Проверяй по кругу, чтобы ничего не пропустить: передний правый, задний правый, задний левый, передний левый. Для каждого называй про себя три цвета угла и три цвета центров. Поначалу медленно, через пару сборок — с одного взгляда.
Приём: три угла по кругу
Поверни весь кубик так, чтобы угол, стоящий на месте, оказался справа спереди сверху. Потом:
U R U' L' U R' U' L
Этот угол останется где был, а три других переедут по кругу — против часовой стрелки, если смотреть сверху. Здесь одного раза хватило: все четыре угла на своих местах. Повёрнуты они, правда, по-прежнему как попало, но это уже дело следующей главы.
Заметь: в алгоритме четыре поворота верха — два туда и два обратно, так что в сумме верх никуда не уезжает. Рёбра жёлтого креста, которые мы расставили в прошлой главе, к концу стоят где стояли.
Иногда — дважды
Три угла можно провезти по кругу в две стороны, а наш алгоритм возит только в одну. Если углам нужно в другую сторону, одного прохода не хватит: после него углы всё ещё не на местах. Не беда — сделай алгоритм ещё раз. Два круга против часовой — это то же, что один по часовой.
Здесь как раз такой случай: после первого прохода углы стоят не там, после второго — дома.
Почему двигаются только три угла
Алгоритм устроен по схеме «сделай А, сделай Б, отмени А, отмени Б». Здесь А — это U R U', Б — это L'. Такая конструкция называется коммутатором.
Хитрость в том, что А и Б почти не мешают друг другу. U R U' работает справа и сзади, L' — слева. Общая у них всего одна деталь — угол слева сзади сверху. Всё, что задел только один из ходов, отменится, когда этот ход прокрутят назад. А из-за одной общей детали по кругу переезжают ровно три угла.
Коммутаторы — главный инструмент тех, кто придумывает алгоритмы. Пиф-паф, кстати, тоже коммутатор: А = R, Б = U. Только там у ходов общих деталей больше, поэтому он и задевает семь деталей, а не три.
Зная этот принцип, можно сочинять алгоритмы самому: найди два действия, которые пересекаются в одной-двух деталях, и сложи их по схеме «туда — туда — обратно — обратно».
Ни один угол не на месте
Бывает, что на месте нет ни одного угла. Тогда сделай алгоритм один раз, держа кубик как угодно. После этого на месте обязательно окажется ровно один угол.
Здесь это угол справа сзади сверху. Поверни весь кубик y, чтобы он оказался справа спереди, — и дальше как обычно.
А вот ровно двух или трёх углов на своих местах не бывает. Это третий закон из первой главы: нельзя поменять местами только две детали. Рёбра наверху уже стоят как надо, значит, углы могут быть перепутаны лишь «по-честному» — все четыре парами или три по кругу. Поэтому на месте всегда либо ни одного угла, либо один, либо все четыре.
Где спотыкаются
- Проверяют угол по одной наклейке. Жёлтая сверху ещё ничего не значит. Сверяй все три цвета с тремя центрами.
- Крутят верх отдельно от алгоритма. Лишний
Uсдвигает собранные рёбра. Чтобы вывести угол вперёд, поворачивай весь кубик. - Держат не тот угол. Справа спереди должен стоять угол, который уже на месте. Иначе алгоритм будет бережно хранить как раз неправильный угол, а остальные гонять по кругу впустую.
- Ждут, что углы встанут ровно. Нет: повёрнутый угол, стоящий в своём гнезде, — это успех.
Попробуй сам
Расставь все четыре угла по местам. Сначала найди угол, который уже дома, — он здесь один, и он уже спереди справа. Потом алгоритм, сколько потребуется раз.
🧩 Попробуй сам
Поставь жёлтые углы на свои места.
🎉 Получилось! Можно листать дальше.
Дальше: финальный поворот
Все углы на своих местах, но некоторые смотрят жёлтым вбок. Остался последний шаг — повернуть их на месте.
Приём для этого покажется безумным: на полпути кубик развалится почти целиком. Но потом соберётся сам — и в последней главе мы разберёмся, почему он просто не может поступить иначе.