微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

优化2D光线投射

如何解决优化2D光线投射

我一直在进行2D射线投射,并且一直在考虑要检查的对象是否多时进行优化。

该程序当前的工作方式是

  1. 创建从光源位置到每个多边形和多边形交点(如果它们重叠)的每个顶点的光线
  2. 针对每个对象(多边形)检查每个射线,并为每个对象返回最近的命中值。

例如,在生成100个多边形的情况下,实际上只有少数几个多边形保持“可见”状态。多边形数为100时,光线的数量会大于1000(每个顶点3个光线+交点),但是绝大多数物体不在视线范围内,任何给定位置的“所需”光线数量将大大降低。>

Refrence picture

是否有一种优化投放的方法?我很感兴趣,因为我只是在玩耍,所以在学术上很有趣,但是我认为这是一个有趣的问题。

我能想到的一种方法是计算方向性死区,并排除驻留在死区中的对象或排除指向死区的光线,但是我不确定这样做是否会更便宜且不确定如何做到聪明。我可以想象的另一种方式是,以类似网格的方式或沿着这些方式预先计算这些死区,但这不适用于非静态环境。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。