http://blog.csdn.net/u014327084/article/details/41984719

如果你之前有过开发游戏,你写的代码可能看起来有些像这样:

[html] view plain copy
  1. _vx += _accelerationX;
  2. _vy += _accelerationY;
  3. player.x += _vx;
  4. player.y += _vy;

vx 是玩家对象的水平速度(horizontal velocity),vy是它的垂直速度(vertical velocity)。

玩家的移动是通过它的当前位置加上他的速度。如果你执行一个帧循环,玩家角色将会发生移动。

这些代码的本质是说:“这里有一个对象,它是在一定的速度和一定的方向移动。所以我们知道下一帧它会出现在那里。”

这很有道理。如果你开车每小时100KM,你知道,10分钟就会驶过10KM,简单的东西!

这是一个被称作Euler integration(欧拉积分——以18世纪数学家莱昂纳多·欧拉命名)的定理用来计算物体位置。它是通过一个对象基于它的当前位置和当前速度来预测它的位置。

它不会让处理器压力过大,易于实现,所以被广泛使用。如果速度是常速它是稳定的,但是如果速度由于摩擦力和加速度发生改变,它将会变得非常不稳定。在复杂的有大量移动物体的物理场景中,它也会有一个崩溃的趋势。

欧拉积分的问题

想象一下,你驾驶着一辆时速100公里的汽车。你的朋友,雷昂纳多 欧拉,酝酿了一个通过每10分钟记录一次你当前位置来预测你下一个位置的计划。他需要每次记录推测出你下一次的位置在哪里,但这所有的工作都来源于你此刻的速度和位置。

听起来足够合理(reasonable),但是问题就出在物理力学,就像摩擦力(friction)和风的阻力(resistance),它们作用于你开车的整个过程,并且欧拉同学木有想到,每隔10分钟进行快照的间隔。这也就意味着你的速度(guarantee)并不能保持不变,你停止的最终位置实际上不是欧拉同学理想的地方。如果你决定为了喝杯咖啡或者吃个面包圈而靠边停车(pull over )了又会怎样呢?

雷昂纳多能解决的是如此的少。他的记录越频繁越能提高预测你的位置。例如每时每刻都在记录。但是任然有很大一片灰色地带(

一般来说,大家对是非的认知很明朗,不是对就是错,不是白就是黑。。其实在这两个极端中间有个很大的灰色地带,他暧昧不明,难以界定。可是说是黑白之间的缓冲区和过渡区吧

他没有办法去知道一些意外情况的发生,像是咖啡和面包圈的情况。

Verlet integration (Verlet 积分法)相关推荐

  1. Verlet Integration

    Verlet Integration Verlet 积分法是一种用于求解牛顿运动方程的数值方法,被广泛运用于动力学模拟以及视频游戏中.尔莱算法的优点在于:数值稳定性比简单的欧拉方法高很多,并保持了物理 ...

  2. 网格弹簧质点系统模拟(Spring-Mass System by Verlet Integration)附源码

    模拟物体变形最简单的方法就是采用弹簧质点系统(Spring-Mass System),由于模型简单并且实用,它已被广泛应用于服饰.毛发以及弹性固体的动态模拟.对于三角网格而言,弹簧质点系统将网格中的顶 ...

  3. 粒子运动模拟 - Verlet积分算法简介

    http://www.techbrood.com/zh/news/webgl/%E7%B2%92%E5%AD%90%E8%BF%90%E5%8A%A8%E6%A8%A1%E6%8B%9F---verl ...

  4. verlet rope

    https://github.com/MitaPirsLud/UnityFishing https://www.youtube.com/watch?v=w_qdI6daqyo https://www. ...

  5. Unity 布料仿真笔记2 欧拉积分 Verlet积分分析

    前言 An object at rest remains at rest, unless acted upon by an exterior force. An object in motion re ...

  6. 比较分子动力学模拟中Verlet算法、Speed Verlet算法及辛算法的精度

    比较分子动力学模拟中Verlet算法.Speed Verlet算法及辛算法的精度 原理 分子动力学模拟是一种研究凝聚态系统的有力方法,对于经典体系,分子动力学假定所有粒子的运动服从牛顿运动方程,只要给 ...

  7. 整理Silverlight资源列表(四)——Silverlight案例补充

    在过去整理资料中,发现其中有一部分案例偏小 实用 适合于初学者开发.完全可以做参考,其中包含一些难的源码项目案例,今天整理出其中一部分发上来.因为过去资料时间有点长,可能其中有些连接的资源失效或无法访 ...

  8. [翻译] 物理引擎javascript实现

    转自: How Physics Engines Work 高中物理全还给老师了啊啊啊啊啊啊 牛顿第二定律 物体加速度的大小跟物体受到的作用力成正比,跟物体的质量成反比,加速度的方向跟合外力的方向相同. ...

  9. 图形学笔记(二十)粒子、刚体、流体的模拟—— 欧拉方法、Errors 和 Instability、中点法、自适应步长、隐式欧拉方法、Runge-Kutta方法、刚体与流体模拟(质点法、网格法、MPM)

    图形学笔记(十九)粒子.刚体.流体的模拟-- 欧拉方法.Errors 和 Instability.中点法.自适应步长.隐式欧拉方法.Runge-Kutta方法.刚体与流体模拟(质点法.网格法.MPM) ...

最新文章

  1. oracle字符串提取函数,oracle字符串分割和提取函数定义
  2. attribute 'groups' of type 'int' is not usable in a script method
  3. Selenium3自动化测试——19.读取数据文件
  4. 5.Hadoop的学习(Hadoop的配置(伪分布式的搭建)-1)
  5. UE4 使用VaRest的最佳实践
  6. Mysql的命令行操作
  7. 计算机c语言等级考试PDF,国家计算机等级考试c语言精华.pdf
  8. paip.快捷方式分组管理最佳实践ObjectDock
  9. Ajax 重新绑定 webgrid 数据,绑定WebGrid表单AJAX
  10. 书签collection
  11. Android 动画 Kotlin 教程
  12. 定制开发 app 的好处都有哪些?
  13. 【PyTorch】13 Image Caption:让神经网络看图讲故事
  14. 通用微PE工具箱下载_通用微PE使用教图文程
  15. QT软件开发之基础控件--2.4.4 QTextEdit文本编辑器
  16. Introduction to Track-To-Track Fusion
  17. 单元测试技巧之PowerMock
  18. Dwarves (有向图判环)
  19. 南华大学计算机调剂,2020南华大学考研调剂系统开通通知
  20. ZZULIOJ 1800: 少水群多刷题

热门文章

  1. 实体词典 情感词典_基于词典的情感分析——简单实例
  2. html li去掉黑点_10分钟教你Python爬虫(上) HTML和爬虫基础
  3. 云存储服务器销售,云存储服务器销售
  4. linux成功mysql数据直接拷贝_mysql数据库数据从一个linux系统移植到另一个linux系统的方法...
  5. python文本相似度分析_文本相似度分析(基于jieba和gensim)
  6. 鸿蒙报名什么时候推送,鸿蒙系统手机版什么时候推送?鸿蒙系统手机版推送时间详解...
  7. docker 不包含依赖 打包_Docker打包深度学习项目(解决:Opencv依赖库、共享内存)...
  8. 前端如何查看音频的长度_Android音频可视化
  9. 二次规划问题matlab,matlab5二次规划问题.doc
  10. 计算机英语讲课笔记01