在一个平面中有两个球体延直线运动。这个球是这样定义的:
角度 0-359 表示球运动的方向
速度 0-10 表示球每个时间单位移动的像素
直径 10-30 定义球的大小,这里假设有可能是10-30像素宽的球
坐标 (x,y) 球中心点当前在这个平面中的坐标有一个时钟循环来控制球的运动,根据以上条件算出球的新坐标,这样做出球体的运动不难,算出球体碰撞到平面边框反弹也不难。问题:如果两个球相遇碰撞,如何产生各自的新角度以及速度?
角度 0-359 表示球运动的方向
速度 0-10 表示球每个时间单位移动的像素
直径 10-30 定义球的大小,这里假设有可能是10-30像素宽的球
坐标 (x,y) 球中心点当前在这个平面中的坐标有一个时钟循环来控制球的运动,根据以上条件算出球的新坐标,这样做出球体的运动不难,算出球体碰撞到平面边框反弹也不难。问题:如果两个球相遇碰撞,如何产生各自的新角度以及速度?
解决方案 »
- 我分割了界面,用了好几个视图,是不是应该建立多文档程序?
- 突然想到一个tcp四次挥手的问题。
- 利用mfc模仿画图程序中的问题
- 让人疼痛难受的问题,如何给listbox 控件 增加选项
- 问个对话框的问题。
- VC++6.0 ADO数据库链接问题
- 在DLL中定义一个函数返回字符串,应该声明成什么类型。
- 怎么样判断一个字符串中全是数字而没有字符?
- IE地址栏控件!
- Qeustion about Connection Point Object?
- 急..在线等,CTypedPtrString报错error C2143: syntax error : missing ';' before '<'
- 请教高手,为什么我安装的WH_CALLWNDPROC钩子的处理函数中得不到WM_PAINT消息
台球碰撞与运动 顺便硕一下碰撞检测用途非常广,可以使用虚拟碰撞实现风力比较大时的变形等,视角碰撞更始用处很大,端着AK47走在山脉里就需要这种检测。
首先要决定碰撞点,这样可以虚拟运动的轨迹,减少系统资源的使用
至于碰撞后的速度,这个要看你考虑的程度
如果理想状态,那就简单了
可以使用坐标方式进行球速度的描述:
Vx,Vy
这样计算碰撞时也方便,速度分量简单加减就可以了