我正在使用 java2d 绘制一个简单的图形,目前我已经通过为每个对象/形状调用 contains(MousePoint) 来实现拾取,这可以工作,但可以线性缩放。
java2d中有没有更有效的拾取方法?
是的,尽管完整的答案对于这个空间来说太长了。
首先,除非你有一个lot节点,那么线性很可能没问题,并且您不应该更改任何内容unless性能已经受到影响。
其次,一般来说,您想要的是应用某种层次分解,例如quadtree http://en.wikipedia.org/wiki/Quadtree。这是一种使用更多内存(以及更多预先时间,在搜索过程中摊销)来消除所谓“广泛阶段”中考虑的项目的方法。在网络上进行一些努力会有所帮助,这本书也会有所帮助”实时碰撞检测 http://realtimecollisiondetection.net/”,作者:克里斯特·埃里克森。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)