воскресенье, 10 декабря 2017
Короче, в субботу я подумал, шо это - раз уж ни хера не делаю, может, Кубиком Рубиком заняцца? Чо-то в последнее время он мне в голову лезет. Я ж так и не сделал то, ради чего его писал - дерево ходов.
читать дальше
Недавно подумал, а вот если, например, собирать кубик, который не кубик, а размером, скажем 1х1х2. У него всего 4 возможных состояния! И кубик размером 1х1хn всегда будет собираться легко! У него 4^n возможных состояний, но дело не в этом - понятно, как его собирать, какой бы длины он ни был!
Это была линия. А если плитка? Плитка размером m x n x 1 или даже n x n x1? Вот это уже хз. И вчера я поднапрягся и часа за четыре перепилил свою программу двухгодичной давности. Или годичной? В сторону упрощения. Половину кубика оставил. Почему так долго - четыре часа? Ну бля, ещё надо было вспомнить, что у меня там что и как работает. Короче, если мы хотим делать кубики переменного размера, там надо по-другому всё переписывать.
В общем, плитка толщиной 1. В ней возможны только повороты на 180 градусов, за исключением одного поворота, который ничего не меняет, т.к. поворачивает плитку целиком. Через это любой элемент плитки может перемещаться в ней между 4-мя возможными положениями. На любой грани возможны только два цвета - основной цвет и цвет противоположной грани. Через это собрать такую плитку будет легко. Я проверял только для 2х2х1, но для других размеров при толщине 1, думаю, то же самое.
При толщине больше 1 расклад другой. Если все размеры разные - ни хера не меняется. Повороты возможны только на 180 градусов, а значит, цвет смешивается только с цветом противоположной грани. Если же размеры будут n x n x m, то по одной оси разрешаются повороты 90 градусов. Значит, у четырёх граней цвет может переходить на прилегающую грань, а не только противоположную. И две грани будут по-прежнему двухцветные, а на четырёх будут возможны четыре цвета. такое собрать уже сложнее. Но неизвестно, насколько сложнее.
И самый сложный случай - n x n x n, то есть куб. В нём повороты на 90 градусов разрешены по 3 осям, любой цвет может переходить на любую грань. Видимо, поэтому, именно его и выбрали для головоломки, остальные слишком простые.
Согласно моей теории, куб 2х2х3 собрать легче, чем 2х2х2. Чтобы это проверить, надо, видимо, прогу написать, поддерживающую изменение размеров. Ну как будет время, мож займусь.
@темы:
программирование
А ты программы пишешь какие-нибудь? Оно ж стоит только начать...
Ну и кроме того, появились всякие Питоны, Пёрлы и прочее. Точнее, появились-то они давно, но стали популярны щас. К ним понаписали всякие графические библиотеки и т.д. и с ними тоже можно начать писать довольно быстро ))