文件名称:Physique:用于 Javascript 的 3d 物理引擎
文件大小:61.36MB
文件格式:ZIP
更新时间:2024-07-02 17:53:26
JavaScript
实时物理引擎。 这是一个刚体模拟器。 碰撞检测使用 GJK 进行测试,EPA 用于报告接触点,而碰撞解决使用 PGS 顺序脉冲。 在分解阶段之前,物体被分成岛,并应用根德曼冲击传播来提高稳定堆叠。 碰撞检测 ##Broadphase 我正在使用扫描和修剪方法快速有效地确定确定 AABB 身体之间的潜在接触。 Sweep 和 Prune 充分利用了时间相干性,因为物体在帧之间移动不多,它们可以存储在每个轴的数组中,并与数组中相同区域的物体进行比较。 ##窄相 来自宽相的接触被传递到窄相中以准确测试接触。 我采用了常用的 GJK 和 EPA 算法,因为它们在精确碰撞检测方面的效率和多功能性。 ##GJK GJK 是一种高效且通用的相交测试算法。 由于其处理多种形状的效率和可扩展性,该算法在许多游戏中被广泛采用。 GJK 只适用于凸多面体,所以更复杂的物体必须拆分成多个形状。 GJK 也
【文件预览】:
Physique-master
----index.html(10KB)
----textures()
--------stone.png(404KB)
--------grass.jpg(184KB)
--------ThickCloudsWater()
----styles()
--------main.css(2KB)
--------libs()
----scripts()
--------profiler.js(2KB)
--------main.js(13KB)
--------physics()
--------libs()
--------scene.js(820B)
--------renderer.js(10KB)
--------input.js(7KB)
--------keys.js(296B)
----examples()
--------rolling-ball.js(1KB)
--------rand-stack.js(1KB)
--------funnel.js(3KB)
--------catapult.js(992B)
--------box-stacking.js(630B)
--------wall.js(976B)
----README.md(2KB)
----screenshots()
--------funnel.gif(12.58MB)
--------stable-stack.O1.gif(7.19MB)
--------stable-stack.gif(11.42MB)
--------stable-stack.O2.gif(8.34MB)
--------baumgarte.gif(14.85MB)
--------ballrolling.gif(4.33MB)
----.gitignore(14B)