Chai 3D之形状基元

推荐:将 NSDT场景编辑器 加入你的3D开发工具链

介绍

  虽然网格对象的通用性令人难以置信,但当多边形数量变大时,在工具和对象之间执行碰撞检测所需的计算量可能会变得很大。为了解决这个问题,CHAI3D 提供了一系列可用于模拟简单形状的基元,如球体、圆柱体、盒子等。隐式模型不是计算与大型三角形集的碰撞,而是用于快速计算工具是位于形状内部还是外部。通过将这些模型与触觉效果相结合,我们可以大大减少计算触觉设备和环境之间交互力所需的计算量。

形状基元

长方体对象

下面的示例演示如何创建框对象并指定表面触觉效果。

using namespace chai3d;
// create a box and define its dimensions
object = new cShapeBox(0.1, 0.2, 0.3)
// add object to world
world->addChild(object);
// set haptic properties
object->m_material->setStiffness(500);
// create a haptic surface effect
object->createEffectSurface();

球体对象

下面的示例说明如何创建球体对象并指定表面触觉效果。

using namespace chai3d;
// create a sphere and define its radius
object = new cShapeSphere(0.3);
// add object to world
world->addChild(object);
// set haptic properties
object->m_material->setStiffness(500);
// create a haptic surface effect
object->createEffectSurface();

圆柱体对象

下面的示例演示如何创建圆柱对象并指定表面触觉效果。

using namespace chai3d;
// create a cylinder by defining its bottom and top radius, and its height
object = new cShapeCylinder(0.1, 0.1, 0.3)
// add object to world
world->addChild(object);
// set haptic properties
object->m_material->setStiffness(500);
// create a haptic surface effect
object->createEffectSurface();

圆环体对象

下面的示例说明如何创建圆环对象并指定表面触觉效果。

using namespace chai3d;
// create a torus
object = new cShapeTorus(0.25, 0.50);
// add object to world
world->addChild(object);
// set haptic properties
object->m_material->setStiffness(500);
// create a haptic surface effect
object->createEffectSurface();

line对象

下面的示例说明如何创建线条对象并分配磁性触觉效果。

using namespace chai3d;
// create a line
line = new cShapeLine(cVector3d(0.0, 0.0, 0.0), cVector3d(1.0, 1.0, 1.0));
world->addChild(line);
// set color at each point
line->m_colorPointA.setWhite();
line->m_colorPointB.setWhite();
// create haptic effect and set haptic properties
line->createEffectMagnetic();
line->m_material->setMagnetMaxDistance(0.05);
line->m_material->setMagnetMaxForce(5.0);
line->m_material->setStiffness(500);

3D建模学习工作室翻译整理,转载请标明出处!

posted on   tuyg  阅读(40)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示