0

我正在寻找一些高级教程,或者可能是用 C++ 或 .NET 编写的开源应用程序,它们将实现复杂的基于矢量的应用程序,例如 MS Visio 或 Autocad。我需要知道的是,当用户可以将复杂对象移动到其他复杂对象上时,此类应用程序的专家如何在鼠标移动时管理复杂对象(> 1000 个矩形)的渲染。我知道 XOR 绘画之类的东西,但如果你检查上面的应用程序,很明显他们没有使用这种技术。整个对象在另一个对象上平滑移动,而不仅仅是它的 XOR 反射。另外,移动对象在移动时会显示一些附加信息,例如当前坐标或其他信息,因此它不是保存在位图中的静态表示。

欢迎任何建议。

谢谢

4

1 回答 1

1

许多图形应用程序使用某种空间分区来减少他们需要查看的对象数量。例如,如果您移动一个矩形,应用程序在四叉树中查找并找到边界框与移动矩形重叠的 2 或 3 个其他对象。然后它只需要对 2 或 3 个对象而不是 1000 个对象进行完整的碰撞检测和图形处理。

于 2012-12-20T16:48:02.340 回答