Автор Тема: Программы для решения головоломок, Filler3d  (Прочитано 17827 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #15 : 21 февраля 2015, 00:47:20 »
Исправил еще 2 ошибки (по той же ссылке: http://kosshams.ru/Files/Filler3d/Filler3d.exe).
Возможно, в перспективе добавлю возможность задавать "цвета" некоторых клеток поля и фигурок. У "цвета" клетки фигурки и "цвета" клетки поля будет задано отношение совместимости. В BurrTools, по-моему, так и сделано. Шахматная раскраска является частным случаем таких "цветов". Рисовать буду кружками выбранного цвета внутри клетки. В 3-мерном показе - тоже кружками по центру граней кубиков.

Цветами граней и ребер, наверное, не буду заниматься. Зачастую условия на цвета накладываются в случае единичных кубиков. Тогда зачем совмещать это с задачей замощения, если она сводится к перестановкам и поворотам кубиков? Непонятно, как редактировать эти цвета и изображать раскрашенные ребра.

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #16 : 22 февраля 2015, 04:16:40 »
По программе написал справку с рисунками: http://kosshams.ru/Files/Filler3d/Filler3d.doc .

Оффлайн Isaev

  • Старожил
  • ****
  • Сообщений: 376
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #17 : 24 июля 2016, 22:24:20 »
Filler3d
- Под не русскими Windows интерфейс частично иероглифами.
- Експорт ещё бы прикрутить сразу в STL, чтобы сразу на печать можно было отправлять что сделал

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #18 : 25 июля 2016, 15:19:06 »
У меня под нерусским Windows7 все шрифты правильно отображаются.
Посмотрел формат STL. Наверное, сделаю. Интересно, какой формат нужен для лазерной резки?

Оффлайн Isaev

  • Старожил
  • ****
  • Сообщений: 376
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #19 : 25 июля 2016, 16:11:10 »
У меня под нерусским Windows7 все шрифты правильно отображаются.

Частично, плюс все хинты
В Delphi 7 был такой баг, но это вроде на Borland C++ написана... Просто Unicode сделать и всё будет отлично

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #20 : 25 июля 2016, 16:40:03 »
Пока я на RadStudio 2007, которая не поддерживает в элементах окон юникод. Постараюсь перейти на более старшую версию.

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #21 : 25 сентября 2021, 14:45:01 »
Обновил программу Filler3d: http://kosshams.ru/Programs/Filler3D/Filler3D.zip.
- Реализован многослойный случай для шестиугольной решетки. Правда в 3-мерном показе ячейки показываются кубиками, в какой-то системе координат это эквивалентно.
- Можно задавать условия на касания фигурок одного цвета (см. Условия->Условия на касание фигурок одного цвета).
- Антислайд реализован для всех видов клетки. Естественно, не проверяются повороты фигурок или совместные повороты со смещением.
- В режиме просмотра решений сохраняются в файл все найденные решения.
- В режиме просмотра решений отображаются настройки задачи.
- Можно делать скриншоты всех показываемых изображений.
- Более точно показывается время, оставшееся до конца просчета, особенно при наличии пустых клеток. Можно посмотреть состояние слоев перебора.
- Исправлены ошибки.
Справка по программе и скриншоты на странице моего сайта пока не обновлены (http://kosshams.ru/Programs/Filler3D/Filler3D.htm).

Также исправил ошибки в программе FindSym: http://kosshams.ru/Programs/FindSym/FindSym.zip.

Просьба сообщать об ошибках и своих предложениях по этим программам сюда или мне на почту kosshams@mail.ru
« Последнее редактирование: 25 сентября 2021, 15:33:50 от kosshams »

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #22 : 16 марта 2023, 09:54:11 »
Обновил программу Filler3d: http://kosshams.ru/Programs/Filler3D/Filler3D.zip.
- Исправление в случае "Не все фигурки".

Оффлайн Isaev

  • Старожил
  • ****
  • Сообщений: 376
  • Пол: Мужской
Re: Программы для решения головоломок, Filler3d
« Ответ #23 : 16 марта 2023, 11:52:05 »
Кстати, тексты тоже стали лучше. Осталось только пара полей в не правильной кодировке

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Кстати, тексты тоже стали лучше. Осталось только пара полей в не правильной кодировке
Большое спасибо за замечание. Это изъян всех моих программ, которые я написал в RadStudio.
Подправил отображение русских букв в интерфейсе 4 своих программ по головоломкам в случае, если в Windows установлен не русский язык у программ, не поддерживающих Юникод.
Filler3d: http://kosshams.ru/Programs/Filler3D/Filler3D.zip
SBP: http://kosshams.ru/Programs/SBP/SBP.zip
FindSym: http://kosshams.ru/Programs/FindSym/FindSym.zip
Emelya: http://kosshams.ru/Files/Emelya/Emelya.zip
Но пока это не полноценный вариант с Юникодом. В том числе, не будут открываться файлы, в пути которых встречаются русские буквы (только в выше описанном случае настройки Windows). Потом, возможно, доделаю, а может быть, также переведу эти программы на английский язык.

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Реализовал в программе http://kosshams.ru/Programs/Filler3D/Filler3D.zip разрезание фигуры на N равных частей по клеточкам для всех типов сеток, в том числе в 3D.

Отметьте флажок "Разделить на равные фигуры", нарисуйте поле и добавьте требуемое число фигур (от 2 до 16), на которое нужно разделить поле. Фигуры могут не содержать клеток, их форма не играет роли, используется только их количество и цвета. Выберете возможность поворота и переворота фигуры. Последнее в 3-мерном случае означает зеркальное отражение. Выберете "Связность фигуры", также можно отметить флажок "Решать мелко" для двух типов сеток.

Алгоритм основан на перечислении всех движений, которые могут перевести фигурку, содержащую первую клетку поля в другие фигурки. Не реализован алгоритм, перечисляющий все полимино для заполнения, который быстрее в каких-то случаях.

Вот довольно сложная для человека задача разрезания на 2 части с последнего Кубка Москвы по пазлспорту:



Если нажать "Решить", то получится ответ:



Деление фигуры на 7 частей за 23 секунды (ответ был бы моментальным, если последовательно перебирать заполнение каждым из 12 пентамино):



Разделение правильного шестиугольника 5x5 по треугольным клеточкам на 5 одинаковых не связных фигур, отдельно показана красная часть, считалось 230 секунд:



Буду признателен за указание ошибок, предложения и результаты, полученные с помощью этой возможности. Я пока ее поисследовал слегка.
« Последнее редактирование: 05 мая 2024, 15:53:10 от kosshams »

Оффлайн Plut`on

  • Глобальный модератор
  • *****
  • Сообщений: 1 643
  • Пол: Мужской
  • коллекционер
    • мои коллекции
Буду признателен за указание ошибок, предложения и результаты, полученные с помощью этой возможности. Я пока ее поисследовал слегка.
Как всегда отлично. Попозже обязательно поэкспериментирую.
Костя, подскажи, а программа показывает количество возможных решений или ищет одно и на этом останавливается?

PS
Хотелось бы поднять вопрос применимости твоих программ.
Я считаю, что большинство твоих программ нужно сделать недоступными "обычным" головоломщикам.
Доступ к ним должен быть только у изобретателей головоломок.
Иначе получается читерство.
С ужасом жду когда кто-нибудь напишет универсальный решатель для моих головоломок.

Оффлайн T4r4sB

  • Постоялец
  • ***
  • Сообщений: 186
Спорный вопрос - тот же пкубес убил интерес к физическим воплощениям или наоборот подстегнул? А что до решателей то тут каждый сам решает хочет ли он сам справиться с вызовом или подсмотреть решение, это для любых головоломок и задач верно

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Костя, подскажи, а программа показывает количество возможных решений или ищет одно и на этом останавливается?

Программа показывает до 10 тыс уникальных решений и считает число таких решений, пока они умещаются в 1 ГБ памяти.

Оффлайн kosshams

  • Новичок
  • *
  • Сообщений: 45
  • Пол: Мужской
Хотелось бы поднять вопрос применимости твоих программ.
Я считаю, что большинство твоих программ нужно сделать недоступными "обычным" головоломщикам.
Доступ к ним должен быть только у изобретателей головоломок.
Иначе получается читерство.
С ужасом жду когда кто-нибудь напишет универсальный решатель для моих головоломок.
На очных чемпионатах по пазлспорту воспользоваться программой не получится, а в других случаях каждый решает, что ему интереснее - вручную порешать или с помощью программы.
Твои головоломки, например, с вращающимися кругами, только будут пользоваться большим спросом, если будет не только симулятор - программа Жени Григорьева, но если бы в ней был решатель. Я же думал, как его сделать, и это задача реализуема. Цели такого алгоритма:
1) перемешать головоломку,
2) определить, достижима ли данная позиция из начальной,
3) определить число достижимых позиций,
4) найти по возможности как можно более короткое решение для заданной позиции.
Частично данная задача решена в программных пакетах для групп перестановок, заданных образующими, например:
https://www.maplesoft.com/support/help/maple/view.aspx?path=GroupTheory
Другой сложной задачей, которую можно было бы решить программно - проволочно-веревочные и другие топологические головоломки. Я начал обдумывать этот вопрос и хотел пообщаться с Димитром Вакареловым, который сделал обзор этих головоломок и методов их решения, но не успел.