我正在寻找一些高级教程,或者可能是用C++或.NET编写的开源应用程序,它们可以实现一个复杂的基于矢量的应用程序,比如MS Visio或Autocad。我需要知道的是,当用户可以将一个复杂对象移动到其他复杂对象上时,这些应用程序的大师是如何管理鼠标移动时复杂对象(> 1000矩形)的渲染的。我知道XOR绘画之类的东西,但如果你检查上面的应用程序,你会发现它们显然没有使用这种技术。整个对象在另一个对象的顶部平滑移动,而不仅仅是它的XOR反射。此外,移动对象在移动时会显示一些额外的信息,如当前坐标或其他信息,因此不是保存在位图中的静态表示。
欢迎任何建议。
Thx
发布于 2012-12-21 00:48:02
许多图形应用程序使用某种spatial partitioning来减少它们需要查看的对象的数量。例如,如果移动一个矩形,应用程序将在quadtree中查找边界框与移动的矩形重叠的2个或3个其他对象。然后,它只需要对2到3个对象进行完整的碰撞检测和图形处理,而不是1000个对象。
https://stackoverflow.com/questions/13976695
复制相似问题