1

Я пытаюсь написать короткую мини-программу в Python, которая играет с force-based algorithms для графического рисования.Электрически заряжающие края в алгоритме рисования на основе силы?

Я пытаюсь свести к минимуму количество переходов линий. Википедия предлагает дать линии электрический заряд, чтобы они отталкивали друг друга. Я спросил своего учителя физики, как я могу имитировать это, и она упомянула, используя исчисление с Законом Кулона, но я не знаю, как начать.

Может ли кто-нибудь дать мне подсказку, как я могу это сделать? (Или, альтернативно, другой способ настроить алгоритм рисования на основе силы, чтобы минимизировать количество пересечений линий?) Я просто ищу намек; нет исходного кода.

В случае, если кто-то заинтересован, мой source code и youtube vid Я сделал об этом.

+0

Посмотрите на NetBeans или аналогичные инструменты, которые могут оптимизировать компоновку графиков, таких как диаграммы классов и т. Д. – Karussell

ответ

1

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

Смежные вопросы