多物理场仿真 Chrono(1.10) 可视化系统 Visualization system

为方便查阅,此文是原网站文档翻译,如有侵权,请与本人联系。

Visualization system


可视化资源表示可附着到刚体以进行可视化的可选对象。 Chrono可视化系统允许定义可视化模型、形状和材料。 各种具体的实现是可用的(例如,基于Irrlicht或OpenGL),并且正在开发基于VulkanSceneGraph(VSG)ius的新系统。 Chrono是引擎不可知论者。事实上,如果使用IRRLICHT模块,则由IRRLICHT模块将可视化资产转换为可以呈现的内容。同样,如果使用POSTPROCESS模块,则该单元预计会将可视化资产转换为具有POVray渲染工具形状的脚本。 一旦构建了可视化系统,就可以将Chrono系统连接到其上,以进行运行时或后处理渲染。 可视化系统的主要组件如下:
  • 可视化材质(chrono::ChVisualMaterial)定义颜色(漫反射、环境光、镜面反射和发射)、纹理和其他相关财产。
  • 可视化形状(chrono::ChVisualShape)是具有一个或多个相关可视化材质的几何图形(基本体、曲线、曲面或三角形网格)。如果形状没有关联的材质,则使用默认材质。
  • 可视化模型(chrono::ChVisualModel)是形状的集合(指向)和指定相对于模型参考框架的形状位置的变换。模型中的可视化形状保存在ShapeInstance的向量中(这只是一个typedef,用于包含指向ChVisualShapeChFrame的共享指针的对)。请注意,当前无法将可视化模型实例放置在另一个可视化模型中,但将来可能会添加该实例。
  • 可视化模型实例(chrono::ChVisualModelInstance)是对具有相关物理项的可视化模型的引用。物理项可以具有关联的可视化模型实例。

chrono::ChVisualSystem为可能的具体运行时可视化系统定义了一个基类,并提供了最少的公共功能。使用ChVisualSystem::AttachSystem将ChSystem连接到视觉系统。然后,Chrono物理系统将根据需要触发可视化系统的自动更新,具体取决于正在进行的特定类型的分析.可视化系统的设置方式使得派生类可以允许同时渲染多个Chrono系统;目前只有ChVisualSystemOpenGL支持此功能。

Visualization models

Chrono物理项目的可视化形状和材料定义机制在以下片段中进行了阐述:

// Create a visual material and set properties
auto vis_mat = chrono_types::make_shared<ChVisualMaterial>();
vis_mat->SetDiffuseColor(ChColor(0.9f, 0.4f, 0.2f));
// set other material properties
 
// Create a visual shape and add one or more materials
auto vis_sphere = chrono_types::make_shared<ChSphereShape>();
sphere->GetSphereGeometry().rad = 0.5;
sphere->AddMaterial(vis_mat);
 
// Create a visual model and add one or more shapes
auto vis_model = chrono_types::make_shared<ChVisualModel>();
vis_model->AddShape(vis_sphere);
// add more visual shapes to the model
 
// Attach an instance of a visual model to a physics item
body->AddVisualModel(vis_model);

Visualization shapes

有许多现成的资源可以定义可视化形状。请注意,可以将多个可视化形状附加到一个可视化模型。
可视化资产继承自一个名为ChVisualShape的基类。有关API详细信息,请参见chrono::ChVisualShape。
每个形状都具有相对于其所有者视觉模型的参考框架定义的平移和旋转。然后,通过指定相对于REF主体框架的平移和旋转,将视觉模型附着到所有者主体(请注意,这不是COG框架,如下图所示)。
在这里插入图片描述
可视化资产示例:

  • chrono::ChSphereShape
  • chrono::ChBoxShape
  • chrono::ChCylinderShape
  • chrono::ChEllipsoidShape
  • chrono::ChConeShape
  • chrono::ChCapsuleShape
    请参见demo_irr_assets以了解在Chrono系统中定义与实体相关的各种视觉形状的示例。

返回首页目录,交流学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值