Мне кажется
Inkscape тут поможет.
Живет на
https://inkscape.org/, есть под все популярные ОСи, опенсорсный, есть не просит.
Как мне это всё видится (в скобках хоткеи, либо можно кнопки в панелях/меню искать):
Создаем круг (F5) 20х20 пикселей. Размеры и координаты левого нижнего угла задаются на панели сверху (я не нашел как в Инкскейпе задать центр окружности, буду рад если кто-нибудь поправит):
![7c313fc1ce414ca19c7211a4e8dda282.png](https://habrastorage.org/files/7c3/13f/c1c/7c313fc1ce414ca19c7211a4e8dda282.png)
Дублируем (Ctrl+D) нужное количество раз, задаем цвета, раскидываем в нужные места.
Включаем привязку к центрам объектов (см. нажатые кнопочки на панели):
![13ddbc5727ec4f979796a7a10b0f055d.png](https://habrastorage.org/files/13d/dbc/572/13ddbc5727ec4f979796a7a10b0f055d.png)
Включаем режим создания кривых (Shift+F6). Подносим курсор к центру любого кружка, должна включиться привязка. Соединяем необходимое количество центров. После создания первого отрезка лучше сразу задать ему толщину и цвет, чтобы все последующие были такие же. Либо позже выделяем с шифтом нужные объекты, нажимаем Shift+Ctrl+F и настраиваем цвет/толщину/тип обводки.
Дальше используя клавиши PageUp и PageDown задаем порядок объектов. Можно для этих целей использовать слои, но я, как правило, ими не пользуюсь, поэтому тут ничего не подскажу.
Ну и дальше экспорт картинки в растр (Shift+Ctrl+E). Там всё просто.
Будут вопросы - постараюсь помочь.