两个球,在一大球面上以不同的方向直线运动,因此,这两个球的运动轨迹必定相交。已知:两个球质量为m,半径为r,速度v1,v2,当前位置分别为A,B,两球预计的运动轨迹球心交叉点为C,AB,AC的长度已经知道,∠ACB也知道。如何检测他们是否碰撞?如果碰撞,他们的碰撞点在哪个位置?
有人说,如果AB/v1=AC/v2,他们就碰撞了,否则不为碰撞。其实并不是这样,他们忽略了球的大小。也有人说,检测两球球心距离,球心为2r的时候,两球碰撞,但是说得容易,做起来难,两球球心为2r的时候,我知道是碰撞了,但我总不能不停的检测吧,这样的效率应该很低。
那朋友说得很对,两球球心距离为2r时,他们碰撞了,但他们的碰撞位置呢?∠ACB和2r作为对边长,形成一个三个形,他们的任何一个点都有可能发生碰撞是,同时,亦可能在∠ACB的对角部分发生对碰。对这部分的数学知道,现在了解也生疏了,你们有什么好的办法预计碰撞与计算碰撞位置?
有人说,如果AB/v1=AC/v2,他们就碰撞了,否则不为碰撞。其实并不是这样,他们忽略了球的大小。也有人说,检测两球球心距离,球心为2r的时候,两球碰撞,但是说得容易,做起来难,两球球心为2r的时候,我知道是碰撞了,但我总不能不停的检测吧,这样的效率应该很低。
那朋友说得很对,两球球心距离为2r时,他们碰撞了,但他们的碰撞位置呢?∠ACB和2r作为对边长,形成一个三个形,他们的任何一个点都有可能发生碰撞是,同时,亦可能在∠ACB的对角部分发生对碰。对这部分的数学知道,现在了解也生疏了,你们有什么好的办法预计碰撞与计算碰撞位置?
解决方案 »
- ***如何从上千万条数据文件中提取数据,恳请高高手高抬贵手***
- 关于HOOK的问题:HOOK中无法访问全局变量,如何解决?
- 在Indy的IdTCPServer中,如何向所有连接上来的IdTCPServer同时发一个消息?
- 各位帅哥,请教关于窗体界面打印有关问题!SOS SOS !~~!!~!!
- delphi有那些打印控件?请评价以下?
- 一个关于Installshield的问题~~~
- 使用dephi6开发服务程序,为什么打开数据库出错?
- 急!!帮我参考一下!!!
- Delphi ADO 控件的问题?
- 打印高手请进,,,,,,,,,,
- 如何利用SendMessage向StringGird 中某一指定单元格 发送文本信息??
- delphi自定义的过程,函数作不作为窗体函数有什么区别?
不单是2D的,3D也非常轻松的实现。