我打算制作一个程序,它会有一些圆形的形状在一个奇形怪状的多边形内移动。
我似乎无法弄清楚如何使用边缘进行碰撞检测并使形状正确地反弹。
我确信这个问题以前已经解决了,但我找不到一个很好的例子。
我的主要问题是: 弄清楚圆圈是否已经碰到其周围多边形的边缘。 一旦命中发生,计算命中点的法线以计算出反射矢量。
有人能指出我正确的方向吗?
谢谢,杰森
答案 0 :(得分:1)
您需要执行circle line intersection test。
为了加快速度,您可以先检查边界框。例如,如果线的起点和终点都位于圆的最左边坐标的左侧,则不能有交点。