团队项目开发日志(三)

团队项目开发日志(三)

动力学计算对像的刚体(body)和作为碰撞检测对像的形状(geometry):

在ODE中,动力学计算和碰撞检测计算是独立封装的。其中碰撞检测库OPCODE是标准。在ODE中使用碰撞检测功能的时候需要生成碰撞检测用的Space和动力学计算用的World。物体有两个属性:作为动力学计算的对像的Body(刚体)和作为碰撞检测对像的Geometry(形状)。

Body的制作方法

1)Body生成: dBodyID dBodyCreate(dWorldID world);在world中生成body,返回Body的ID
2)质量参数的初始化 void dMassSetZero(dMass mass); 初始化包含质量、重心位置的质量参数masss。
3)质量参数计算 void dMassSet
**Total(dMass *mass, dReal total_mass, ...)。
4)为Body设置质量参数 void dBodySetMass(dBodyID body, const dMass *mass); 为body设置质量参数设置为mass。
5)设定Body的位置 void dBodySetPosition(dBodyID body, dReal x, dReal y, dReal z)。

Geometry的制作方法

比较简单,只需要调用函数 dGeomID dCreateSphere(dSpaceID space, dReal r); 即可生成球。

Body和Geometry对应

调用函数 void dGeomSetBody(dGeomID geom, dBodyID body);

原文地址:https://www.cnblogs.com/New-Lee/p/6268170.html