|
发表于 2009-11-10 23:32:00
|
显示全部楼层
Re:请教达人关于2D中球与矩形顶角碰撞问题
我觉得楼主用矩阵方法碰撞检测是否可以优化下。
已知球坐标posx,posy,半径r, 可以考虑只检测,线段和矩形Rect的碰撞。沿Rect的1条边作1条垂直于这条边且连接圆形的线段line1,如果line1的长度>r则没碰撞,=r则碰撞,注意监测不要让line<r 要不会产生"穿墙BUG" 。
如果要考虑反弹速度的话,你必须引入加速度a,加速度a是个矢量,假设球在接触矩形时,加速度不为0,则要进入反弹状态,为0则不进入反弹状态。 当球接触矩行且加速度不为0时候,沿矩形边的垂直方向,改变加速度和速度的方向和数值(注意通过计算夹角,计算出反弹后的加速度分量数值),由于真实环境下存在摩擦力等因素会产生类似阻尼系数的东西,加速度和速度都在逐渐减小,直至为0··。俺表达力不行,这个1下也讲不太清楚,只能讲个大概的。 |
|