Перейти к содержимому

Как запутать кубик рубика

  • автор:

Можно ли запутать кубик-рубика, так чтобы вообще нераспутать? Если можно, то как?

Если не разбирать на составные части — на маленькие кубики, — то запутать нельзя. Из любой ситуации кубик можно собрать быстро и неприхотливо, за несколько десятков секунд.

Остальные ответы
Переклеив парочку цветных наклеек.
наклей парочку других цветов
расхуярь об стену

сборка кубика начинается с одной стороны . соответственно собрав одну сторону остальные кубики встанут в известные схемы . и да если переклеить наклейку на одном кубике кубик всё ровно можно будет собрать просто второй кубик тоже встанет не правильно

Похожие вопросы
Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Кубик Рубика — простая схема. 2 часть

Продолжение заметки по сборке кубика Рубика — простая схема (1 ЧАСТЬ)
Сначала небольшое отступление — приведем некоторый язык обозначений, с помощью которого можно записывать эти последовательности вращений, чтобы иметь под рукой, пока они не запомнятся. В этом методе таких последовательностей будет всего четыре, и все они достаточно короткие и легко запоминаются, однако, все же сначала можно записать на бумаге.
Если мы вращаем верхнюю грань по часовой стрелке “на один шаг” (90 градусов), то обозначается это просто буквой В. Если мы вращаем верхнюю грань против часовой стрелки “на один шаг” (90 градусов), то обозначается это буквой В со штрихом — В’. И, наконец, если мы вращаем верхнюю грань “на два шага” (180 градусов), то обозначается это буквой В с двойкой — В2. Соответственно, если мы вращаем не верхнюю грань, а правую, то буква будет П, для левой — Л, для нижней Н, для переднейФ (от слова “фасад”), для задней Т (от слова “тыл”)
В — верх
Н — низ
Ф — фасад
Т — тыл
Л — левая
П — правая
Направление вращения берется так, как если бы мы смотрели на вращаемую грань. Не всем начинающим куберам понятно “по” и “против” часовой стрелки, кому-то можно привести аналогию с водопроводным краном — “по часовой” закрываем воду, “против часовой” — открываем. Если же запомнить никак не удается, то просто выучите последовательности вместе. После нескольких повторений они запоминаются у всех мышечной памятью.
Ну, теперь можно приступать к сборке верхнего слоя.
Первый этап — мы будем расставлять по местам боковые кубики, но без учета их ориентации. То есть, если кубик стоит в своём гнезде “вверх ногами”, то будем всё равно считать, что кубик на месте. Теперь, вращая верхнюю грань по одному шагу, попробуйте добиться того, чтобы два соседних боковых кубика стояли по своим местам (пусть какие-то и вверх ногами), а два других нужно было поменять местами. Вот, например, так:

Схема сборки Кубика Рубика Как собрать кубик 3Х3

Здесь у нас соседние желто-оранжевый и желто-зеленый кубики стоят на своих местах, а желто-красный и желто-синий нужно поменять местами. При этом ещё желто-синий и желто-оранжевый кубики стоят “вверх ногами” (не обращаем пока внимания).
Теперь развернем весь куб (а не верхнюю грань) так, чтобы наша пара, желающая поменяться местами находилась вот в таком положении. То есть один сверху-спереди, а другой сверху-слева. Это и есть исходное положение для первой нашей последовательности-формулы.

Схема сборки Кубика Рубика Как собрать кубик 3Х3

ВФПВП’В’Ф’
Выполняем последовательность и вот результат:

Схема сборки Кубика Рубика Как собрать кубик 3Х3

Желто-красный с желто-синим поменялись местами и теперь все на своих местах, несмотря на то, что все четыре “вверх ногами”. То есть первый этап завершен.
Что делать, если нам не удается поворотом верхней грани добиться положения, чтобы два соседних боковых стояли на своих местах, а два других надо поменять между собой? Здесь возможны два варианта. В первом случае у нас получается, что мы можем поставить два кубика на места, но это не соседние кубики, а противоположные, а два других тоже противоположные должны меняться местами. Тогда в любом положении (сохраняя верх и низ) выполняем последовательность ВФПВП’В’Ф’. После чего пробуем снова и теперь уже гарантированно мы сможем поворотом верхней грани поставить два соседних боковых по местам. Ну и во втором случае, может получиться так, что поворотом верхней грани мы все четыре боковых поставим по местам, тогда делать ничего не надо — этап уже завершен и переходим к следующему этапу.
Как запомнить последовательность ВФПВП’В’Ф’, используемую в первом этапе? Это единственная из четырех последовательностей, для которой у меня нет никаких идей кроме как ее вызубрить, а затем запомнить мышечной памятью после нескольких повторений. Если вы придумаете какую-нибудь мнемонику для этой последовательности, поделитесь.
Следующий этап — это переворачивание стоящих на местах боковушек желтым цветом вверх.
Какие у нас здесь варианты? Вариант первый — после выполнения первого этапа все четыре боковушки повернуты неправильно. Бывает достаточно редко, ровно с такой же вероятностью, как и вариант два — все четыре боковушки повернуты правильно. Тогда этот этап пропускается. Однако, чаще всего случается вариант третий, когда надо перевернуть только две боковушки.
А что если одну или три? Такого быть не может, это противоречит математике Куба. Если вы встретите такое положение, значит ваш Куб был физически разобран на части и собран обратно. Единственное решение — разобрать снова Куб и собрать правильно, затем запутать “по-честному”, вращая грани, а не вытаскивая кубики со своих мест. Тогда число перевернутых боковушек последнего слоя всегда будет четным. Кстати, кому интересно знать, возможно ли, что после “физического” перемешивания Куба методом разборки и сборки, Куб можно собрать вращением граней? Ответ — да, возможно. Но вероятность этого равна 1/12.
Итак, переворачиваем две боковушки последнего слоя, ну или два раза по две, как получилось в нашем примере.
Ставим Куб так, чтобы переворачиваемая боковушка находилась вверху справа (в нашем примере это желто-зеленый кубик) и выполняем последовательность

Схема сборки Кубика Рубика Как собрать кубик 3Х3

(ПСH)4
СH означает поворот по часовой стрелке среднего слоя, если смотреть снизу! Обратите внимание на направление вращения среднего слоя — по часовой стрелке, если смотреть СНИЗУ. Выполняется это так: одной рукой держим верхнюю грань на месте, а другой поворачиваем по часовой стрелке нижнюю грань вместе со средним слоем. Затем нижнюю грань возвращаем обратно. А четверка обозначает, что последовательность надо повторить четыре раза подряд. То есть, поворачиваем по часовой стрелке правую грань, потом среднюю снизу и так четыре раза. Должно получиться так:

Схема сборки Кубика Рубика Как собрать кубик 3Х3

Правая верхняя боковушка перевернулась, однако перевернулись также на своих местах три боковушки в среднем слое (одну не видно, она слева-сзади). Затем мы поворотом верхней грани, (а не всего куба!) подставляем на верхнее правое место следующую боковушку, которую надо перевернуть и снова выполняем последовательность. Теперь те же самые боковушки в среднем слое перевернутся повторно и встанут правильно.
Таким образом мы можем переворачивать попарно нужные боковушки в верхнем слое. Перевернем их все, после чего поворотом верхней грани совместим их по цветам с центрами боковых граней, то есть окончательно поставим на места. Результат — все верхние боковушки на местах и правильно повёрнуты.

Схема сборки Кубика Рубика Как собрать кубик 3Х3

Думаю, что с запоминанием последовательности (ПСH)4 проблем ни у кого возникнуть не должно из-за ее краткости. Мои дети ее так и называют — “правый средний снизу”.
Этим же способом можно “подлечить” последнюю боковушку среднего слоя, если мы её при сборке оставили на своём месте перевёрнутой. Тогда, разумеется, в верхнем слое у нас будет одна или три “неправильных” боковушки. Поверните верхнюю грань, чтобы одна из “неправильных” боковушек верхнего слоя оказалась рядом с “неправильной” средней. Затем временно разверните Куб так, чтобы эта пара оказалась в одном слое и этот слой будет верхним.
Выполните разворот этой пары боковушек методом “правый средний снизу”, после чего обязательно поверните Куб обратно — белой стороной вниз.
Следующий этап — расстановка угловых кубиков верхнего слоя по местам. И снова без учета ориентации, то есть они пока могут быть неправильно повёрнуты на своих местах.
Делаем следующее — осматриваем все четыре угловушки (верхнюю грань не крутим, у нас ведь боковушки уже расставлены!) и смотрим, какая из них стоит на своем месте, пусть даже неправильно повернутая.
Какие у нас варианты в этом случае? Первый вариант и наиболее часто встречающийся — мы находим одну угловушку, которая стоит на своём месте, а три других нужно как бы “переставить по кругу”, чтобы они тоже попали на свои места. Вариант два — ни одна угловушка не стоит на своем месте. И последний вариант — все четыре стоят на местах, но, возможно, некоторые неправильно повёрнуты. Тогда пропускаем этот этап. Внимательный читатель заметит, что я забыл вариант, когда две угловушки на своих местах, а две других надо поменять местами. Это снова математика Куба — такое невозможно, если это случилось, то это результат разборки Куба на части и неправильной сборки.
Итак, допустим, у нас первый вариант. То есть мы нашли угловушку, которая стоит на месте, а три других нужно переставлять. Теперь смотрим на место, которое находится по диагонали от “правильной” угловушки. И в это место должна попасть одна из оставшихся “неправильных” угловушек. Нарисуем мысленно стрелку вдоль пути, по которому должна двигаться эта угловушка. И теперь расположим Куб так, чтобы эта воображаемая стрелка смотрела на нас. При этом эта стрелка “расположится” либо вдоль левой, либо вдоль правой стороны Куба, а “правильная” угловушка будет у нас вдоль задней стороны тоже слева или справа.

Схема сборки Кубика Рубика Как собрать кубик 3Х3

П’Ф’Л’ФПФ’ЛФ
Рассмотрим подробно этот пример. У нас на месте стоит одна угловушка — желто-оранжево-синяя (на рисунке она слева сзади). Эта угловушка ещё и правильно повёрнута, но это могло бы быть и не так. На месте по диагонали от нее должна быть угловушка желто-красно-зеленая. Она у нас на рисунке справа-сзади и должна попасть на своё “желто-красно-зеленое” место вдоль воображаемой стрелки, такой как на рисунке. Мы повернули Куб, так, чтобы эта стрелка смотрела на нас. И стрелка оказалась вдоль правой стороны. Поэтому мы выполняем последовательность П’Ф’Л’ФПФ’ЛФ. Если бы воображаемая стрелка расположилась вдоль левой стороны (и также смотрела бы на нас), то и последовательность была бы “зеркальная”, вот такая: ЛФПФ’Л’ФП’Ф’
Вот тут, казалось бы, запомнить крайне сложно, восемь поворотов, да еще и два “зеркальных” варианта. Но, на удивление, запоминается легко. Мнемоника у нас тут такая. Обратите внимание, что первый поворот выполняется левой или правой гранями в направлении “воображаемой” стрелки, то есть как бы “на себя”. Дальше повороты чередуются слева-направо и обратно, “левый-фасад-правый-фасад-левый-фасад” и т.д. И направления у них меняются через 3, затем через 2, потом через один поворот. То есть три поворота в одну сторону (в направлении стрелки), потом два в другую, потом снова один поворот в ту же сторону и снова два в другую. То есть 3-2-1-2. Вот этим “кодовым словом” мы и называем эту последовательность. Мышечная память “настраивается” буквально за два-три раза.
Если же у нас “Вариант 2”, то есть все угловушки стоят не на своих местах, то сначала нужно из любого положения (сохраняя верх и низ) выполнить последовательность 3-2-1-2 — любой из “зеркальных” вариантов, какой больше нравится. В результате этого гарантированно получим “Вариант 1”.
Итак, выполним последовательность в примере выше. В результате получим следующее:

Схема сборки Кубика Рубика Как собрать кубик 3Х3

Все кубики верхнего слоя (и вообще все) на своих местах, но две угловушки повернуты неправильно. Одна на 1/3 оборота по часовой стрелке, другая на 1/3 против. Какие варианты возможны здесь? Здесь тоже есть математический закон, закон такой — все повороты угловушек в сумме должны быть целым числом. То есть это одна или две пары “+-” либо три угловушки “одного знака”, то есть три повернутые на 1/3 в одну сторону — против или по часовой стрелке. Если это не так, то это снова “сигнал о сломанном Кубе”.
Ставим любую неправильно повернутую угловушку в положение “сверху-спереди-справа” и выполняем последовательность

Схема сборки Кубика Рубика Как собрать кубик 3Х3

(Ф’ПФП’)2
Здесь тоже два зеркальных варианта, если бы у нас желтая наклейка угловушки “смотрела” бы не вправо, а влвео, то последовательность была бы (ПФ’П’Ф)2. Напомню, двойка означает повтор два раза. Запоминается крайне легко: первый поворот такой, чтобы желтая наклейка угловушки оказалась сверху, а вся последовательность это как бы поочередные повороты боковых граней сначала “от себя” или вверх, затем “к себе” или вниз. Мы называем это мнемонической фразой “от себя, от себя, к себе, к себе”. При этом само собой, что первый поворот такой, чтобы желтая наклейка ушла наверх и что последовательность повторяется два раза подряд.
Выполним последовательность. Результат вот такой

Схема сборки Кубика Рубика Как собрать кубик 3Х3

Наша угловушка повернулась как надо. И еще мы запутали два первых слоя. Теперь мы поворотом верхней грани, (а не всего куба!) подставляем на верхне-передне-правое место вторую “неправильную” угловушку. Как я уже говорил, она повернута в другую сторону и последовательность будет зеркальльная — (ПФ’П’Ф)2. Если посмотреть внимательно, то эта последовательность такая же, как и первая, но выполненная в обратном порядке. Поэтому у нас угловушка повернется в другую сторону (а ей так и нужно), а два первых слоя распутаются обратно (поскольку последовательность обратная).
Теперь нужно повернуть верхнюю грань, чтобы вернуть на место угловушки.

Схема сборки Кубика Рубика Как собрать кубик 3Х3

В результате, все кубики стоят на своих местах и правильно повёрнуты. Иными словами, Куб собран.
Если есть какие-либо неясности по первой части — перейдите по ссылке 1 ЧАСТЬ

Выберите достойную оценку заметке:

Решатель Кубика Рубика

Нажмите кнопку Перемешать и попытайтесь собрать кубик Рубика, поворачивая его в разные стороны.

Прежде, чем вы начнете

Используйте небольшие вкладки, расположенные над кубиком, чтобы выбрать наиболее подходящий вариант отображения или нажмите Помощь для получения более подробной информации.

Для начала перемешайте цвета на кубике

Используйте один из способов:

    Выберите один из цветов палитры и закрасьте один из кубиков или нажмите на нужное вам поле несколько раз, выбирая нужный вам цвет

Rubik

D: вращение нижнего слоя по часовой стрелке

Вращайте стороны кубика, используя кнопки для вращения

Обозначения Кубика Рубика

Идет расчет решения

После выбора цветов сторон вашего кубика нажмите кнопку Собрать и дождитесь пока программа найдет оптимальный способ решения вашего кубика. Следуйте указаниям программы, выполняя необходимые повороты для каждой из сторон.

Как я смогу научиться собирать Кубик Рубика?

Может показаться, что собрать Кубик Рубика невероятно сложно, однако, вы можете сделать это, запомнив всего несколько простых алгоритмов.
Научитесь собирать Кубик Рубика прямо здесь!

Как лучше всего управлять кубиком рубика

Так вот теперь хочу сделать 4хмерный кубик или пирамиду рубика. В первом случае — не знаю как 4д рисовать, во втором — проблема с координатами и рисованием тетраэдра.
А самая главная проблема — как определить, на какой грани находится мышка — ума не приложу(((
Также, хотелось бы спросить, какое управление вы считаете наилучшим — как я сделал? или цифрами 1-9(на основной клавиатуре, моя прога их поддерживает)? или по-другому? Я имею ввиду в смысле удобства управления.

  • Dpyr_uMnEPATOPA
  • Новичок

#1
21:47, 4 апр 2007

Объяснил бы хоть, что за 4D такое, и главное — как ты собираешься ПРОЕКТИРОВАТЬ его на 2D?

#2
0:09, 5 апр 2007

alex19921992, посмотри, как у меня сделано. Проект делался чисто для освоения OpenGL, несколько лет назад, так что за красивость кода не ручаюсь 🙂
По крайней мере, откомпилировался и запустился!

#3
11:31, 5 апр 2007

твой кубик имеет неудобное управление. это ж сока нужно кликать блин чтоб добраться до нужной грани)))

это конечно сложнее, но попробуй сделать что бы был курсор, и им можно было бы выбрать какую часть вращать)

зы
приложение такого типа лучше делать не полно-экранным, имхо

#4
12:12, 5 апр 2007

Stargazer, как ты сделал, чтоб можно было кликать на грань и она вращалась? как по координатам мыши определить, какой кубик нажат?
Zakus, в чем недостатки полноэкранного режима?

зы
мне предложили вращать скроллером грани, но как получать от него сообщения, я не знаю (WM_MOUSEWHEEL не работает)

#5
12:55, 5 апр 2007

Управление только при помощи мыша и его 1 кнопки (курсор мыша отображается):
Dragndrop на фоне — вращает кубик целиком.
Dragndrop на кластере — вращает кластер в направлении движения мыша.

#6
13:36, 5 апр 2007

Что такое ДрагнДроп? И что вы имеете ввиду под словом «кластер»? Я понимаю, что примерно надо делать, но я не знаю КАК?

#7
13:57, 5 апр 2007

Кластер — это я так обозвал вращающийся кусок кубика. Не знаю как правильно назвать. «Грань» — нечто иное?
Drag`n`drop — это когда кликаешь что-то мышой и тащишь не отпуская кнопку. Иконки в виндовз так таскаются, например. Базовое понятие, короче.
Делается просто: при нажатии кнопки мыша объект под курсором помечается как таскаемый. При перемещениях мыша с ним можно проводить соотв. манипуляции, вплоть до отпускания кнопки мыша.
Как перевести линейные смещения мыша во вращательные — пораскинь моском или ищи по форуму, было уже.

#8
14:56, 5 апр 2007

alex19921992

Я использую режим выбора:

glRenderMode(GL_SELECT);

Каждому кубику назначается имя, и при щелчке мышью OpenGL определяет все примитивы, «пронзённые» лучом, проходящим от наблюдателя через курсор мыши. А можно область клика увеличить, и это даст возможность «захватывать» целую область.
Определив примитив, можно на основе этой информации реализовать любую логику.
Я разбивал поверхность кубика на треугольники, и в зависимости от треугольника, направление вращения определялось автоматически.
Основной принцип, которого я придерживался при разработке этого интерфейса — «отсечь лишнее», чтоб не грузить пользователя дополнительными задачами на поворот грани.

Посмотри в коде, там более-менее прозрачно.

#9
17:09, 5 апр 2007

alex19921992
не тот жанр, шоп весь экран занимать.
такие игрушки мне кажется должны стартовать в окошке. например для тех же секретарш что в линии играют, удобней когда линии в окне. чтоб начальство не наезжало. а там пока оно зайдёт в полноэкранный , пока выйдет))) да и не аськи не видно, не времени.
да и чисто психологически, кубик в реале же маленький, ожидаешь увидеть маленький кубик, а тут блин фигня на весь экран такая стартует)))

хотя конечно возможность переключится по желанию в фулскрин можешь оставить)

зы
драг’н’дроп это хорошо конечно же, реалистично так. но мне кажется не совсем удобно (видел я с таким управлением, кубик, на флеше =))
тем более зачем юзвера напрягать, лучше просто кликами) но это , если гра. кластерами,
а вращение кубика в целом, перетаскиванием, по любому придётся делать, если будет курсор

ззы
всё как обычно имхо

зззы
что то я за много «же» стал использовать :crazy:

#10
21:48, 5 апр 2007

alex19921992
два момента — не у всех ЖК монитор, поэтому надо брать текущее разрешение экрана (если уж так хочется в полном экране запускать). И дико неудобное управление.
надо курсор сделать, чтобы кликать по одному из средних квадратиков текущей стороны.
А вторая кнопка мыши — вращение.
Это привычнее.

#11
13:38, 6 апр 2007

На мой взгляд, драгндроп — не совсем удобно. У меня есть одна идея — в зависимости от положения кубика программа автоматически будет выбирать грань(кластер?), которую вращать. И мне надо проверить, какой из полигонов(эти полигоны кстати не нарисованы!) находится под мышкой. Насколько я понял, это делается glRenderMode(GL_SELECT); а по-подробнее можете объяснить, че это такое?

#12
15:34, 6 апр 2007

alex19921992

>в зависимости от положения кубика программа автоматически будет выбирать грань(кластер?), которую вращать

Э-э, а кто занят решением кубика — тоже программа? 🙂 По моему, выбор кластера — дело исключительно человека!
Возьмите настоящий кубик, положите перед собой и попытайтесь понять, как человек указывает на кластер.
Вариантов я вижу несколько:
1. Ткнуть пальцем, задав кластер и направление вращения.
2. Притопнуть ногой и хлопнуть в ладоши.
3. Вытянуть правую (левую) руку в сторону и сделать n оборотов вокруг своей оси, громко повторяя «и-и, раз», задав вращение кластера.
4. И т.п.

Лично мне больше всего нравится первый вариант 🙂

Есть столько справочников на эту тему, что разводить тут ещё один просто лень!

#13
15:45, 6 апр 2007

Теперь осталось научить программу собирать кубик (одну сторону, две стороны, шесть сторон) — и тогда уже можно продавать.

#14
18:13, 6 апр 2007

Stargazer, положение камеры, я имел ввиду))) то есть вы вращаете камеру, и как вы ее повернете, так и выделится грань(кластер).

Jeff_Walker, у меня есть дурацкое решение этой проблемы: надо при любом повороте кубика запоминать вращение в стек, а при нажатии определенной кнопки — стек «раскручивается» и кубик собирается))) (причем, как програма запутала кубик — она тоже помнит)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *