在我的 Silverlight 3 应用程序中,我显示了一棵树。一个自制的用户控件用于树节点,LineArrow 对象用于连接。初始显示树后,我希望节点按以下“物理属性”移动
- 有一种引力,将节点拉下
- 有一个力向量到它的父级
- 是孩子们把它拉到他们中间
自然,我的用户控件很快就会重叠。但我不希望它们重叠。用物理术语来说,我希望它们是固体物体,并强制执行物理规则,即没有两个物体可以居住在同一个空间中。
任何建议如何解决这个问题?我不想为此使用像 farseer 这样的物理引擎,因为所描述的部分是我项目中唯一使用的物理引擎。
提前致谢,
弗兰克