Всем привет!
Я хочу представить программу
DOTS³ , над которой работал последние полгода.
Ознакомиться с ней можно скачав с моей странички на Github
https://github.com/b10101101/DOTS-advancedПрограмма представлена как в виде WEB-приложения .html исполняемого в браузере, так и в виде самостоятельного приложения под Windows и Linux.
Для кого предназначена эта программа? Прежде всего это полноценный инструмент для тех, кому интересно создание и изучение головоломок с пересекающимися кругами. Это инструмент, который можно запустить на любом компьютере, т.к. код написан на JavaScript и может быть запущен на всех популярных платформах.
Как я пришел к этому? Однажды я познакомился с утилитой dots
http://codercontest.com/dots.html Thomas Rokicki, это было когда Evgeniy Grigoriev выложил обучающее видео по созданию головоломок с пересекающимися кругами. Программа Томаса изначально была нацелена на генерацию фрактальных узоров из двух пересекающихся окружностей, но так же с ее помощью можно было находить интересные конфигурации для головоломок из 2 кругов. Тогда же я стал обладателем 3Д-принтера и мне захотелось найти что-то своё, создать головоломку для себя. Однако, быстро выяснилось, что конфигурации с 2 кругами уже практически все имеют своих авторов. Пришло понимание того, что нужно исследовать более продвинутые комбинации - с 3 и более кругами.
Да, была еще одна версия этой программы - это расширенная Евгением версия dots с более гибкой конфигурацией углов поворота круга, и при определенной сноровке на ней можно было делать гораздо большее, чем в оригинале, и именно с ее помощью Евгений вместе с Andrey Yerashkevich нашли класс цикличных головоломок и много других красивых идей.
И всё же хотелось большего. Не скрываю, что мой проект - это результат плотной работы с ИИ, так как программирование вообще не является моей работой и я совсем не профессионал в этой области, а до этого я никогда не имел опыта в работе с JavaScript. Но я очень много посвятил этому времени и труда, и получил опыт, знания и удовольствие от проделанной работы.
За основу разработки мною был взят оригинальный алгоритм от Томаса и идеи Евгения. Была разработана и опробована промежуточная версия на 3 окружности, и затем к началу 2026 года была выпущена версия с 4 кругами, на которой мне стало понятно, что механизм работает, но интерфейс далек от совершенства. К тому же по ходу работы стали намечаться другие интересные идеи, которые я решил реализовать в моей программе.
Итак, что представляет собой DOTS³ ? ...
Не стану повторяться и самоцитироваться, ведь я постарался сделать так, чтобы общение с программой было простым, понятным и гибким, поэтому в самой программе при первом запуске Вас встретит окно помощи, где будут описаны все её возможности. Постарайтесь прочитать его, и обращаться у нему в случае затруднений - интерфейс расчитан на использование мыши, но много функций реализованы горячими кнопками.
Для демонстрации работы давайте создадим что-нибудь, с самого начала. Итак:

Для начала базовые функции. Размещение окружностей, изменение параметров.

Пробуем конфигурации из 2 окружностей. Наблюдаем как получаются известные головоломки.

Добавим третью окружность.

Система сввязанных центров. Перемещение нескольких связанных окружностей.

Поворот нескольких связанных окружностей.

Добавим еще один круг.
Данная демонстрация показывает отрисовку только в одном режиме - FastChaos. Изучить работу других режимов предоставлю Вам для самостоятельного исследования.
Примечание: Было замечено, что производительность WEB-приложения зависит от используемого браузера, в частности наблюдалась заторможенность интерфейса на Egde, но на той же системе отлично работало в Firefox. Если наблюдаются какие-то тормоза, то можно попробовать запустить Windows или Linux приложение, где браузер уже встроен в дистрибутив.