[OpenSim]Plot工具绘图窗口

官网链接:点击此处链接

一、Plot绘图界面

打开方式:菜单栏 -> tool -> plot
                                

1.1 绘图窗口Plot

                       
        在绘图窗口,你可以添加绘图标题,坐标轴以及坐标轴标签,还可以添加图例等必要的绘图要素。

1.2 曲线创建窗口Curve Create

                       
详见本章第二节。

1.3 绘图摘要窗口Plot Summary

                       
        用于显示当前显示的曲线的名称和摘要信息。也有按钮来从曲线图面板添加和删除曲线,以及更改plot面板的显示属性。所做的任何更改都将反映在左边的曲线列表中。
单击选择Properties绘图属性按钮,可以调出绘图属性的编辑信息窗口,即Plot Properties窗口。
                       
        该窗口,如上图所示,可以编辑Plot面板的一些绘图信息,例如标题text,字体Font以及虚线颜色Color等。在Plot和Other选项下属面板中,还可以更改绘图的坐标轴标签等一些列信息。这与我们其他编程软件的曲线绘图逻辑是一样的。
        对Plot Properties窗口的访问,还可以通过鼠标右键单击Plot面板(在1.1节所示面板)调出下拉菜单。
        关于绘图摘要窗口绘图属性编辑,以及曲线属性信息查询,可以按照一般的绘图窗口使用思路进行操作,英文不明白翻译一下,使用逻辑基本就没有问题了。

二、曲线创建窗口 - 创建曲线

        在plot面板中显示的曲线要么基于OpenSim生成的数据(内置曲线),要么基于从外部源读取的数据(外部曲线)。
                       
1)通过单击Y-Quantity… 按钮,选择要沿Y轴绘制的数量。将出现一个下拉菜单,显示可用选项。选项会依据实际情况而有所不同,具体取决于数据源(即来自OpenSim分析或外部源)。
2)可能需要其他信息才能完全指定感兴趣的数量。在这种情况下,数量的右侧会出现一个小三角形,可用于显示第二个菜单。例如,力矩臂moment arm必须相对于特定的广义坐标系定义,因此,如果从Y-Quantity… 菜单中选取moment arm ▶,则会出现另一个菜单,以便您可以选择广义坐标系。
3)如果选择Y-Quantity… 需要明确肌肉, 则启用Muscles… 按钮。您可以从当前模型中选择多个肌肉,也可以对部分肌肉求和。如果未选择任何肌肉,则图摘要面板中的Add 按钮将变暗(即不可添加该曲线)。
4)按下Muscles… 按钮将弹出用于选择肌肉的筛选对话框。访问“选择过滤窗口”部分 ,以获取有关选择肌肉的更多信息。在这种情况下,可以使对话框保持打开状态,并且仍然可以在其他窗口中进行更改,例如,更改Y数量选择。当为同一组肌肉绘制不同的数量时,这很有用。
5)通过单击X-Quantity… 按钮,选择要沿X轴绘制的数量。将出现一个下拉菜单,显示可用选项。
6)你将可能已经注意到,选择Y-Quantity… 时会创建一个自动生成的名称。如果需要,可以通过在“曲线名称”框Curve Name中输入名称为曲线指定新名称。在使用曲线下拉菜单生成曲线后,也可以更改这个名称。访问Plot Summary面板上的部分,了解关于曲线下拉菜单的更多信息。这个名称将用于在Plot Summary面板和图例中识别曲线。
7) 在Plot Summary面板中按Add 按钮以运行所需的分析并在Plot 面板中显示结果曲线。

2.1 内置曲线

这一部分超出作者解释范围,英文原文请参考官方链接(点击此处

        OpenSim为一些常用的计算量提供了内置的分析,比如力矩和力矩臂。由这些分析产生的曲线称为内置曲线。内置曲线是为当前模型计算的。有以下内置曲线可用:
1)力矩臂:关于广义坐标( g y g_{y} gy)相对于广义坐标( g x g_{x} gx)的特定肌肉的力矩臂曲线(m)使广义坐标 g x g_{x} gx沿着其有效值范围以相等的增量(默认为100)改变。随着模型的移动,所选肌肉的力矩臂在广义坐标 g x g_{x} gx下被报告。
2)力矩:关于广义坐标( g y g_{y} gy)相对于广义坐标( g x g_{x} gx)的特定肌肉的力矩曲线(m)类似于上面的力矩臂曲线,只是所选肌肉的力矩在广义坐标 g y g_{y} gy下被报告。
3)肌肉-肌腱长度:特定肌肉(m)相对于广义坐标(g)的肌肉-肌腱长度曲线沿有效值范围以相等的增量变化(默认为100)。随着模型的移动,肌肉-肌腱复合体的总长度被报道。
4)纤维长度、肌腱长度、标准化纤维长度:这些曲线是在一个广义坐标(g)上绘制的。OpenSim通过使g沿着有效值范围等增量变化来生成这些曲线。对于每个位置,根据当前的结构和肌肉属性(考虑了肌肉肌腱力、肌肉力和pennation角),让肌肉达到平衡。
5)肌腱力,主动纤维力,被动纤维力,总力:这些类似于纤维长度、肌腱长度和标准化的纤维长度曲线集。在这种情况下,为x量选择的广义坐标是可变的,模型将保持平衡。报告肌腱中的力、主动力和被动力(例如,根据肌肉的力-长度关系)以及纤维中的总力。

2.2 运动曲线

        可以使用运动文件来更改模型配置并计算与“内置曲线”中所述相同的数量,而不用改变广义坐标来计算“ 内置曲线” 中的曲线。在这种情况下,与X-Quantity… 按钮关联的下拉菜单包含运动文件列的名称。运动文件必须已经与模型关联,以便绘图仪使用。
        添加新动作后,它们将显示在与Y-Quantity… 按钮关联的下拉菜单中。
        尽管可以选择要绘制的运动的任何列,但习惯选择“时间”,以便通过给定运动绘制感兴趣的量。例如,在绘制完整运动轨迹期间产生的力矩时,这可能很有用。

2.3 外部曲线

        可以在OpenSim中绘制由其他工具生成的数据。例如,运行FD Tool会生成一组存储(.sto)文件,用于记录模型状态以及前向动力学仿真过程中模型中各个执行器产生的力。这些可以在“绘图仪”窗口中绘制。
        要绘制这些结果,请选择Y-Quantity… -> Load file… 。出现一个对话框,选择所需要的包含数据的文件。指定文件后,将提示选择文件中的哪一列用于X轴(域),以及哪一列用于Y轴。可以选择多个列以沿Y轴绘制。一旦文件已经存在,它将一直可用,直到绘图器窗口关闭。

三、导出及打印
3.1 将数据写入外部文件

        可以保存代表曲线的数据,以供以后在OpenSim中使用或导入到其他应用程序(如Excel)中。保存的文件使用.sto格式的文本文件,其中包含运动捕捉系统中常见的时间序列数据。数据按列排列,每列表示例如关节角度或地面反作用力的分量。运动文件中的每一行都对应一个不同的时间点。这些文件与MusculoGraphics,Inc.的SIMM运动文件(.mot)非常相似,不同之处在于它们具有处理行之间非均匀时间间隔的更大灵活性。
        有两种保存曲线的方法。第一种方法是在绘图面板Plot中单击鼠标右键,然后从出现的下拉菜单中选择“ 导出数据 ”。第二种方法是在图摘要面板Plot 中右键单击树的根节点,然后从出现的菜单中选择“ 导出数据 ”。选择此选项将导致出现文件浏览器。使用文件浏览器,选择文件名称和保存文件的目录。按保存。
        “导出数据”选项将显示的图形中的所有曲线并保存到文件中。由于具有不同域(x轴)的多条曲线可以同时显示在同一个图中,因此单个存储文件可能不足以表示该数据。在这个场景中,为每个不同的域(x轴)创建一个单独的文件。如果一个域有不同数量的点,则认为它是不同的。

3.2 导出图像

        当前,仅支持PNG图像格式。要将图导出为.png图像文件,请在图面板中单击鼠标右键,然后从出现的下拉菜单中选择“ 导出图像”。将出现一个文件浏览器,并提示您选择文件名和保存文件的目录,按保存。
        如果图像需要包含在出版物中,则更好的选择是将图像导出为PostScript格式,因为可以使用高级编辑工具(例如Adobe Photoshop)来修改图像文件(例如,更改线型,标签和注释)。

3.3 导出到PostScript

        可以将图像文件导出为PostScript文件格式。如果想在OpenSim所提供的功能范围之外对图进行更改(例如,更改线条样式或添加批注),这将特别有用,因为Adobe Photoshop之类的软件工具可以对PostScript文件的各个组件进行操作。
        要将图像文件导出到PostScript,请在绘图面板上单击鼠标右键,然后从出现的下拉菜单中选择Export PostScript。将出现一个文件浏览器,并提示您选择文件名和保存文件的目录,按保存。

四、选择筛选窗口

        当从曲线创建面板中按下Muscles…按钮时,将显示以下“ 筛选选项” 中显示的对话框窗口。
                               
此窗口在整个OpenSim的许多地方都使用,并允许用户使用不同的分组机制从可能很长的名称列表中进行选择。在这种情况下,该窗口包含模型中所有肌肉的名称。要选择几条肌肉,可以向下滚动列表并选中感兴趣的肌肉旁边的复选框。如果要在所有选定肌肉上增加数量,请选中窗口底部的仅求和框。
        但是,对于多个选择,窗口提供了更强大的筛选机制:模式筛选和肌肉组筛选(都在下面解释)。如果一个名称被选中并且筛选规则发生了变化(例如,从模式切换到肌肉组或反之亦然),选中的条目仍然被选中。您可以通过按“显示全部”按钮来显示可供选择的所有名称。

4.1 模式筛选

        如果感兴趣的名称具有一些公共后缀、前缀或任何公共子字符串,请选择filter by旁边的pattern选项,并开始在单词“pattern”旁边的文本框中键入该模式。在输入字母时,可用名称列表会缩短,以便只显示与输入模式(大小写不敏感)匹配的名称。例如,如果用户键入字母“g”,那么只有名称中包含字母“g”的肌肉才会显示在列表中。如果使用了命名约定(例如,使用后缀“l”或前缀“l”),那么选择身体左侧的肌肉就很方便了。另一个例子是从包含左右膝盖的模型中选择广义坐标。在这种情况下,输入“kn”可能会过滤掉除了与膝盖相关的坐标之外的所有坐标。
        OpenSim使用正则表达式(一种搜索模式语言)来过滤可用名称列表中的项目。有些字符在正则表达式中具有特殊含义,可用于加快过滤速度。下面使用示例解释这些字符:

PatternFiltered quantities
^ l_匹配所有以子字符串 l_ 开头的名称
X $匹配所有以字母 X 结尾的名称
。*通配符,匹配0或多个字母的任何序列
4.2 肌肉组筛选

                           
        可以根据肌肉的功能而不是名字来选择它们。这可以通过在OpenSim模型(.osim)文件中定义一个肌肉组来实现,该肌肉组包含执行更高级别功能的肌肉。例如,与OpenSim一起发布的一些模型包含名为_R_knee_ext_(用于右膝关节伸展器)的肌肉组,该肌肉组仅包含rect_fem_r和vas_int_r等的肌肉。要将肌肉名称的显示限制在这个肌肉组,请为model选择radiobutton,然后从下拉菜单中选择模型和模型中的特定肌肉组。只有属于所选肌肉组的肌肉才会显示在列表中。之后,我们仍然需要从筛选列表中选择肌肉。
        在某些情况下,只启用only sum复选框。如果勾选此选项,将在所有选择的肌肉上添加数量。在任何时候,所选项目的当前总数都会以“x iterms selected”字样显示在窗口的右下角。

其他

                                  
        通过曲线创建面板的Advanced…按钮,还可以使用一些高级选项。这些包括:
1)校正:取要绘制的数量的绝对值;
2)钳位:将要绘制的值钳位在相应文本框中指定的ymin和ymax值之间的范围内;
3)xmin,xmax:使用该行以使得生成的曲线并不在全域范围内包含“出错”的值;
4)激活值覆盖:选中“激活值覆盖”框时,正在绘制的每条肌肉的激活值均设置为“激活值”字段中的值。如果未选中,则绘图仪对每块肌肉使用激活值为1.0(或者说,从运动中绘制数据时,无论运动中指定了什么激活值,都将使用“激活值”字段中的值)。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值