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单位)

转载于:https://www.cnblogs.com/kingBook/p/6149903.html

box2d 计算下一帧的位置/角度相关推荐

  1. Transformers预测未来:关注下一帧和时间序列预测

    Transformers预测未来:关注下一帧和时间序列预测 关注人工智能学术前沿 回复 :ts35 5秒免费获取论文pdf文档,及项目源码 摘要 直到最近,递归神经网络还是捕获时序相关性的最佳方法之一 ...

  2. 10没有基于策略的qos_基于强化学习的用户移动场景下空中基站3D位置高效部署...

    Efficient 3D Aerial Base Station Placement Considering Users Mobility by Reinforcement Learning 摘要: ...

  3. 硬盘在计算机内部,计算机硬盘内部结构如图所示,读写磁头在计算机的指令下移动到某个位置,硬盘盘面在电机的带动下......

    计算机硬盘内部结构如图所示,读写磁头在计算机的指令下移动到某个位置,硬盘盘面在电机的带动下高速旋转,通过读写磁头读写下方磁盘上的数据.磁盘上分为若干个同心环状的磁道,每个磁道按圆心角等分为18个扇区. ...

  4. iis7下站点日志默认位置

    iis7下站点日志默认位置 原文:iis7下站点日志默认位置 iis7下站点日志默认位置 在iis6时,通过iis管理器的日志配置可以找到站点日志存储的位置. 但是在iis7下,iis管理器下的日志配 ...

  5. Intel Realsense D435 测试摄像头在不同曝光值下的帧生成时间(防止曝光时间过长导致fps下降)auto_exposure_priority(没成功)

    文章目录 不用测了 下面测试auto_exposure_priority参数在自动曝光下的作用 下面测试在自动曝光模式下如何实时获取曝光值 测试摄像头在不同曝光值下的帧生成时间 不用测了 参考文章:I ...

  6. printf输出颜色和ANSI控制码(高亮,下划线,闪烁,光标位置,清屏等)

    printf输出颜色和ANSI控制码(高亮,下划线,闪烁,光标位置,清屏等) 帝都码农 2010-05-28 23:52:00 4560 收藏 2 文章标签: function file printf ...

  7. Java黑皮书课后题第5章:**5.35(加法)编写程序,计算下面的和:1/(1+根2) + 1/(根2+根3) + 1/(根3+根4)+……1/(根624+根625)

    @[TOC](5.35(加法)编写程序,计算下面的和:1/(1+根2) + 1/(根2+根3) + 1/(根3+根4)+--1/(根624+根625)) 题目 题目概述 5.35(加法)编写程序,计算 ...

  8. html 下拉到一定位置,浏览器向下滚动到一定位置继续滚动时,侧边导航固定在页面顶部,再滚动到一定位置时页面再向下滚动侧边导航不再固定。这种效果怎么实现呢...

    1.浏览器向下滚动到一定位置继续滚动时,侧边导航固定在页面顶部,再滚动到一定位置时页面再向下滚动侧边导航不再固定.页面向上滚动到一定位置继续滚动时,侧边导航保持在原来位置.这种效果怎么实现呢 2.. ...

  9. 随机样本一致性:一种用于图像分析和自动制图的模型拟合模型(4)--(计算透视中心的三维位置)

    (一)计算透视中心的三维位置 给出了透视四面体的三个控制点和三条腿的长度,透视中心的三维位置可以确定如下: (1)构造一个平面P1,它相对于平面P-ABL是正交的.这个平面的构造不需要知道透视中心L的 ...

最新文章

  1. Project interpreter not specified(eclipse+pydev) (转)
  2. Python开发【Part 4】:数据类型操作
  3. [数字图像处理]图像去噪初步(1)--均值滤波器
  4. verilog中wire和reg的区别,什么时候用wire?什么时候用reg?
  5. exo文件_您在eXo平台上的第一个Juzu Portlet
  6. Go_笔试题记录-不熟悉的
  7. http 与https 区别浅析
  8. CCF NOI100002 取数游戏
  9. Attention机制的小理解
  10. GIS设备局部放电在线监测的研究设计报告
  11. 熟练运用计算机的重要性,计算机*实习目的和意义
  12. 史上最详细的5-Why解说|优思学院
  13. 利用python实现判断两条直线是否平行,若相交,输出交点。
  14. CSS基础班笔记(三)
  15. 硬件开发总结笔记一:电阻
  16. 漫威java_10年漫威,到底有多少角色。
  17. swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法
  18. 模型微调(finetune)
  19. 主板电池(华硕主板,电池是KTS的)问题导致电脑无法启动
  20. php错误1064,求助,phpmyadmin导入sql文件提示1064错误

热门文章

  1. Vijos1775 CodeVS1174 NOIP2009 靶形数独
  2. [bzoj 3226]校门外的区间
  3. WriteableBitmap 巧学巧用
  4. 用Create Fishnet来生成格网
  5. HBase之HFile详解
  6. KafkaConsumer分析
  7. (26)FPGA编码器设计(第6天)
  8. FPGA复位激励编写(方法三)
  9. python多个函数组成_由多个激活函数组成的神经网络
  10. 单例模式代码_设计模式之单例:程序员必知必会,举例子+代码示例,通俗易懂...