Box2D基础

2022-05-23  本文已影响0人  大龙10

书名:代码本色:用编程模拟自然系统
作者:Daniel Shiffman
译者:周晗彬
ISBN:978-7-115-36947-5
目录

5.3 Box2D基础

先概述一下Box2D的使用流程

5.3.0、实现流程对比

1、前4章中每个程序

2、Box2D程序的实现流程

3、Box2D的神奇

  这就是Box2D的神奇之处。我们摆脱了所有痛苦的计算步骤,不需要根据速度和加速度计算对象的移动,Box2D会替我们接管这些计算任务。
  Box2D就像一个魔术盒,替我们完成了整个模拟流程,这真是一个令人欣慰的消息!

4、Box2D的准备

  还有一个坏消息:情况并不像上面描述的那样简单。

5.3.1 SETUP

5.3.2 DRAW

  现在我们知道Processing Sketch中的所有物体都要被放到Box2D的世界中,下面来看看Box2D世界由哪些元素组成。

5.3.3 Box2D世界的核心元素

5.3.4 Vec2

  在这里,我们必须了解一些关于物理库的事实。任何物理模拟都要涉及向量的概念。
  这是件好事,因为在前面几章,我们一直在学习如何用向量描述运动和力的作用,所以并不需要在本章学习任何新的向量概念。
  但有个坏消息:Box2D没有PVector类。虽然rocessing为我们提供了PVector类,但任何物理库都有它自己的向量实现。这是合情合理的,因为物理库怎么会知道PVector类的任何信息?一般情况下,为了兼容其他代码,物理库会按自己的需求实现一个向量类。虽然我们不需要接触任何新的概念,但还是要学习新的命名规则和语法。

  参照PVector类,下面列出了Vec2的基础用法。

  从以上几个表中可以看出,PVector和Vec2涉及的基本概念是一样的,但函数名和参数却有细微差异。
  比如,Vec2没有用静态和非静态函数区分两种不同用途的add()函数和mult()函数,如果Vec2对象在调用过程中被修改,那么函数名将包含“Local”——addLocal()、multLocal()。

如果你想知道Vec2的更多信息,请查看它的文档,文档放在JBox2D的源代码中

(http://code.google.com/p/jbox2d/)。
上一篇下一篇

猜你喜欢

热点阅读