var dt:Number=1/30;
var y0:Number=_body.GetPosition().y;
var y:Number=y0+_body.GetLinearVelocity().y*dt+_world.GetGravity().y*dt*dt;
trace(y0, "y:"+y);

b2Island中的实现:

var l_gravity:b2Vec2=b.m_customGravity?b.m_customGravity:gravity;
//==============================added================================
// Integrate velocities.
//b.m_linearVelocity += step.dt * (gravity + b.m_invMass * b.m_force);
b.m_linearVelocity.x += step.dt * (l_gravity.x + b.m_invMass * b.m_force.x);
b.m_linearVelocity.y += step.dt * (l_gravity.y + b.m_invMass * b.m_force.y);
b.m_angularVelocity += step.dt * b.m_invI * b.m_torque; // Apply damping.
// ODE: dv/dt + c * v = 0
// Solution: v(t) = v0 * exp(-c * t)
// Time step: v(t + dt) = v0 * exp(-c * (t + dt)) = v0 * exp(-c * t) * exp(-c * dt) = v * exp(-c * dt)
// v2 = exp(-c * dt) * v1
// Taylor expansion:
// v2 = (1.0f - c * dt) * v1
b.m_linearVelocity.Multiply( b2Math.Clamp(1.0 - step.dt * b.m_linearDamping, 0.0, 1.0) );
b.m_angularVelocity *= b2Math.Clamp(1.0 - step.dt * b.m_angularDamping, 0.0, 1.0);

角度:

var dt:Number=1/30;
var ang:Number=_body.GetAngle(); var angV:Number=_body.GetAngularVelocity();
angV += dt * _body.m_invI * _body.m_torque;
angV*=dt
angV *= b2Math.Clamp(1.0 - dt * _body.m_angularDamping, 0.0, 1.0); var nextAng:Number=ang+angV;
/*trace("ang:",ang);
trace("angV:",angV);
trace("nextAng:",nextAng+"\n");*/

LinearVelocity与像素的关系:

不考虑摩擦,刚体质量为1,无重力的情况下
linearVelocity*dt=distancePixel(像素距离)/ptm_ratio(像素到b2World单位)

最新文章

  1. FineUI(开源版)v6.0中FState服务器端验证的实现原理
  2. How To Install Proxmox Nested on VMware ESXi (Full Support OpenVZ & KVM)
  3. 使用jQuery+PHP+Mysql实现抽奖程序
  4. 算法:二分查找(python版)
  5. JavaScript(一)——简介(简单介绍)
  6. 数据结构算法C语言实现(二)---2.3线性表的链式表示和实现之单链表
  7. CSS自定义弹出框
  8. Selenium中expected_conditions下text_to_be_present_in_element_value方法的使用
  9. 【mongoDB基础篇②】PHP-mongo扩展的编译以及使用
  10. 如何快速的开发一个完整的iOS直播app(原理篇)
  11. Mina入门实例
  12. 应用程序无法启动,因为应用程序的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行SxsTrace.exe工具
  13. OpenGL—Android 开机动画源码分析二
  14. Tomcat源码分析(一)
  15. Tomcat 日志分割
  16. Python/MySQL(三、pymysql使用)
  17. 使用poi根据模版生成word文档,支持插入数据和图片
  18. Substr与mb_substr区别
  19. 添加浏览器back操作时的响应事件
  20. liunx rm 命令修改

热门文章

  1. php的curl封装类
  2. [ios2]ASIHTTPReques 清除所有持久连接
  3. [jQuery]on和bind事件绑定的区别
  4. iOS开发-内存管理
  5. 一个简单的使用restc demo
  6. Head First设计模式——策略设计模式
  7. DataFrame的构建及一些操作
  8. 解读<!doctype html>
  9. CSS3效果收集
  10. iOS软件架构——架构模式(Architectural Pattern)