- 积分
- 10896
- 明经币
- 个
- 注册时间
- 2015-8-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2024-4-21 19:38:16
|
显示全部楼层
本帖最后由 你有种再说一遍 于 2024-4-21 19:53 编辑
我不知道你的水平去到哪里...
1,每个扫描线和每个图元遍历时间复杂度O(m*n),这是难以接受的.你需要降到O(m*log(n))或者O(m).
2,怎么降低呢?构造有序结构,"跳过前面,末尾break",你可以清晰感觉只需要判断中间了.
3,怎么构造这个有序结构呢?有很多方法,四叉树,包围盒有序数组都可以,图元包围盒中心点y排序,然后break是不是可以横向扫描了.x排序就是竖向了.二分法四分法可以快速找到扫描线起始点和结束点.
4,批量bo概念还可以参考此处:
http://bbs.mjtd.com/thread-189551-1-1.html
5,想要速度快,无非就是开图时候并行构造索引,数据库图元加入事件上面也加一个构造,这样用户边画边构造.使用时候就是立马能够获取全图封闭区.
|
|