в моем приложении Silverlight 3 я отображаю дерево. Самодельный пользовательский элемент управления используется для триодов, объект LineArrow для соединений. После первоначального отображения дерева я хочу, чтобы узлы двигались по следующим «физическим свойствам»
- есть гравитационная сила, которая тянет узел вниз
- есть вектор силы для его родителя
- это дети рисуют его на середине
Естественно, мои пользовательские элементы управления скоро будут перекрываться. Но я не хочу, чтобы они перекрывались. С точки зрения физики я хочу, чтобы они были твердыми объектами и соблюдали физическое правило, согласно которому никакие два объекта не могут занимать одно и то же пространство.
Есть предложения, как решить эту проблему? Я не хочу использовать для этого физический движок, такой как предсказатель, потому что описанная часть - единственная физика, которая используется в моем проекте.
Заранее спасибо,
Frank