我玩过看起来相当不错的 JTS 拓扑套件。但是,我无法解决两个 Geometry 实例之间的冲突。我想在几何 A 和 B 之间进行墙壁滑动(见下面的截图)。
我尝试实施此评论中发布的解决方案(解决方案 2): https ://gamedev.stackexchange.com/questions/104099/how-to-go-about-an-intermediate-collision-resolution-system/104105#104105
但是,我无法计算光线投射,甚至无法计算 A 碰撞的 B 边界矢量的法线。
有人能给我一个如何使用 JTS 实现墙壁滑动的起点吗?
- 如何沿运动矢量进行光线投射(计算两个 Geometry 实例的碰撞位置)?
- 如何计算碰撞法线?
编辑:几何类提供了可能帮助我“相交”和“相交”的方法。如果参数几何与此几何相交,则“相交”返回 true。“intersection”返回一个几何图形,表示两个几何图形共有的点集。也许我可以使用“交叉点”来找到第一个碰撞点。
有人用 JTS 做过这个吗?也许该套件已经提供了执行此任务的算法。
提前致谢