Мы используем обходное решение для этого.Вероятно, это скорее взлом, чем полное решение, но его легко реализовать и он отлично работает в большинстве случаев.
Что мы делаем, так это то, что мы определяем количество частиц в системе при каждом добавлении частицы илиудален.Если это число равно единице, мы добавляем в систему новую частицу, цвет которой установлен на цвет фона холста.Поскольку цвет узла такой же, как и у фона, он не виден.
Так что ни на одной точке нет ни одного узла на графике.Всякий раз, когда это происходит из-за добавления или удаления, мы добавляем этот скрытый узел балансировки.Вы можете взглянуть на наш веб-сайт, чтобы увидеть живой пример выше: http://www.graphthinker.com. Когда вы добавляете узлы, вы можете увидеть, что график продолжает реагировать, даже если у него есть только один (видимый) узел.
Этот скрытый балансировочный узел может быть удален, когда он больше не нужен, например, когда добавляется другой узел или когда удаляется только видимый узел.