网站大量收购独家精品文档,联系QQ:2885784924

台球类html5游戏的AI设计与核心算法的实现.pdf

台球类html5游戏的AI设计与核心算法的实现.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
台球类html5游戏的AI设计与核心算法的实现 前言: 08年的时候 写过一个台球游戏 用的是, , java, 不过代码真的是用传说中的 神器notepad写的 你信吗 其实是用( ? GVIM写的, ^_^), 很多类都在同一java 文件中编写。可见当时的JAVA水平真的不咋地 时过进迁 还是一样的不咋地。, , 效果展示入下图所示: , AI 本文想讲述下台球游戏中核心算法的实现 以及游戏 的设计技巧。当然 自己也有个小愿望 希望能实现一个, html5版的台球游戏。 基础物理知识: 1、摩擦阻力 其满足牛顿第二定律: f =m*a 速度与加速度关系公式: vt =v0 +a *t 地面摩擦力与运动物体的方向相反 阻碍物体的向前运动。, 2、动量守恒 A m1, v1, B m2, v2, 假设物体 质量为 速度为 物体 质量为 速度为 碰撞后 速度分别为v1,v2。 则满足动量守恒定律: m *v +m2*v2 =m *v1 +m2*v2 碰撞类型和能量守恒定律 1)完全弹性碰撞 动能没有损失 则满足如下公式:, 1/2*m *v1^2 + 1/2*m2*v2^2 =1/2*m *v1^2 + 1/2*m2* v2^2 注 前后物体的动能保持均衡 没有其他能量的转化。: , 结合之前的动量守恒定律 我们可以进一步得到:, v1 =[(m1-m2)*v +2*m2*v2]/ (m +m2) v2 =[(m2-m1)*v2 +2*m *v1]/ (m +m2) 2)完全非弹性碰撞 则存在其他能量的转化 动能不守恒。, , , v1=v2, 且此时两物体粘连 速度一致 即 此时动能损失最大。 3)弹性碰撞 介于完全弹性碰撞和完全非弹性碰撞两者之间。 动能有损失的。 物理模型: 台球游戏中 最核心的就是其物理模型的抽象及其碰撞算法的执行过程了。, 2D , , 鉴于是 版的台球游戏 因此我们对物理模型做下简化 球运动的方向必 然穿越球的中心。 把每个台球抽象为圆(x,y, radius), 而台球桌边框抽象为线段((x1,y1), (x2, y2))。 1、碰撞检测 1)检测球与球碰撞 A(x1,y1, r), B(x2,y2, r) 我们假定球 球 。 则满足条件: (x -x2) ^2 +(y -y2) ^2 =(2*r)^2 则发生碰撞 否则没有发生碰撞, 2) 检测球与球台边框碰撞 相对比较简单。求球心到边框的垂直距离即可 若小于等于则发生碰撞 若, , 大于则没有。 2、碰撞反应 1)球与球的碰撞反应 动量是向量 其在正交的两个方向上 互相守恒。我们选取两球圆心的直线, , x , y 为 轴 垂直于圆心直线的为 轴。 如上图所述。 x轴上满足动量守恒: m *Vx +m2*Ux =m *Vx +m2*Ux; 并假定两球碰撞是完全弹性碰撞 两球质量相等, m1=m2, 依据基础物理知 识篇的结论。 Vx =[(m1-m2)*Vx +2*m2*Ux]/ (

文档评论(0)

精品资源 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档