2013-08-12 2 views
4

Я пытаюсь постепенно объединить две группы узлов, чтобы имитировать своего рода приторную круговую диаграмму, используя силовую схему. Для этого я использую две группы узлов, подключенных через ссылки на два фиксированных, анимированных узла фокусов, соответственно. Когда они сочетаются с ruffly одинаковое количество узлов, эффект работает хорошо.Загадочные силы в d3 силы направленного макета?

см: http://bl.ocks.org/vicapow/6191895

Однако, когда есть большая разница в группах узлов (скажем, 1/100), кажется, есть какая-то таинственная дополнительная сила, приложенная к небольшой группе узлов далека от большая группа

см: http://bl.ocks.org/vicapow/6191896

кто-нибудь есть какие-либо идеи о том, где эта дополнительная сила может исходить от?

некоторые из вещей, которые я пробовал, не работают: + заставляя альфа остаться 1 + уменьшая трение

+1

Во-первых - я ничего не знаю. С этой стороны: это не похоже на отказ или дополнительную силу. Похоже, когда вы один или два красных узла, они недостаточно сильны, чтобы заставить себя синим. – Kobi

+0

Я собирался сделать аналогичное упоминание Коби - не могли бы вы рассказать о том, что вы подразумеваете под «таинственной силой»? Я чувствую, что первая анимация выглядит медленнее, но это просто потому, что красные узлы и синие узлы должны располагаться отдельно друг от друга, в отличие от второй анимации, которая просто имеет один узел, который отходит в сторону. – aug

+0

Таинственная сила, о которой я говорил, заключалась в том, что во второй версии только с одним красным узлом она, похоже, навешивает большое расстояние над синими узлами. Этот эффект не наблюдается в первой версии, и я пытаюсь выяснить, почему его удалить. Я бы хотел, чтобы красная точка была наткнулась на синие точки, как в первой версии. Все узлы имеют те же силы пружины и силы заряда, которые применяются к ним, поэтому я не могу придумать, что еще может вызвать такое поведение. –

ответ

0

Я считаю, что вы видите, является отсутствие гравитации. Без гравитации узлы не будут стремиться к центру экрана. Я смог получить желаемый результат для вашего края, установив force.gravity(1) и плату за узлы до -100. https://bl.ocks.org/david4096/6264697

+0

, который просто сжимает все узлы в центре. Если бы я хотел достичь этого эффекта, я бы связал все узлы с одним фокусом. Или еще лучше, просто добавьте все узлы с силой тяжести, не беспокоясь о том, чтобы связать узлы с одним фокусом. Но вместо этого я хочу взять две группы узлов и объединить их в одну большую группу узлов без этой таинственной дополнительной силы. А потом, возможно, позже, объедините эти группы узлов в другие группы. Может быть, это лучше демонстрирует то, что я получаю. [link] (http://bl.ocks.org/vicapow/6265529) –

+0

возможно [эта визуализация] (http://blog.vctr.me/posts/simpsons-paradox.html) лучше иллюстрирует, почему Я хочу сделать это в первую очередь, а также показывает артефакт, о котором идет речь, когда узлы объединяются в конце анимации. –