当前位置: 首页 > 专利查询>山东大学专利>正文

柔性绳索的仿真方法技术

技术编号:7445479 阅读:628 留言:0更新日期:2012-06-17 02:16
本发明专利技术公开了一种柔性绳索的仿真方法,其步骤为:步骤一:制作3D绳索模型;步骤二:在引擎仿真场景中加载制作好的3D模型文件,并创建绳段实体;步骤三:创建对应绳段实体的节点;步骤四:设定该创建的绳段实体的空间坐标、放大比例、旋转角度参数;步骤五:依次创建其他绳段实体;步骤六:依次为所创建的每一段绳段实体创建具有物理属性的仿真体,称之为绳段body;步骤七:为创建的绳段body设定其物理属性;步骤八:为每一段绳段实体创建碰撞盒;步骤九:在各节仿真绳段之间创建关节;步骤十:设定关节的空间坐标及其属性;步骤十一:为每节绳段实体的添加伸缩控制;步骤十二:最终形成了一条柔性的仿真绳索。

【技术实现步骤摘要】

本专利技术涉及一种绳索的仿真方法,尤其涉及一种柔性绳索的仿真方法
技术介绍
柔性绳索的仿真是计算机仿真研究中的难点之一,绳索的动力学行为非常复杂,过去的仿真一直是程序设计者人为设定的行为脚本来实现的,这种方法的缺点是绳索仿真逼真度不够,代码复杂,程序可移植性差:1.逼真度不够表现在人为设定的行为脚本不能完全涵盖绳索运动特征,而在仿真系统中绳索的运动及碰撞情况具有不可预测性,这就更加大了编写行为脚本的难度。再者还有行为脚本是基于动力学公式编写出来的,理论性太强,情景太过理想化,尤其是绳索的运动为非线性运动,绳索之间的力的约束为变力(没有现成的物理学公式可以利用),这样编写出的行为脚本就更难具有真实性了。2.代码复杂体现在绳索的动力学行为是靠有限的行为脚本来执行,而行为脚本的编写是个复杂的过程,需要考虑非常多的情况来一一作出判断,执行不同的行为,绳索的受力及运动情况的复杂性决定了行为脚本代码编写的复杂度。3.程序的可移植性差体现在编写的行为脚本仅仅是针对仿真环境里的特殊场景而言的,绳索的受力及运动情况是事先人为设定好的,无法处理编程人员没有想到的情景(系统bug繁多,且不易发现),在新的场景下,绳索的行为脚本需要重新编写,程序不具有通用性。随着计算机运算能力及图形渲染处理能力的增强,为更好地仿真现实,基于物理引擎的仿真势在必行。物理引擎突破了以往按照预定脚本执行的方式,利用实体的物理属性来描述实体的行为。借助于专业的物理引擎,仿真系统能模拟真实世界中物体各种运动规律,而且易于理解和实现,具有良好的扩展性。基于物理引擎的计算机仿真已经被证明是一种代价低廉且行之有效的系统分析手段。
技术实现思路
本专利技术的目的就是为解决上述问题,提供一种柔性绳索的仿真方法,在物理引擎ode和三维图形渲染引擎ogre的系统结构基础上,将两者相结合,采用多节绳段相连接的方法来构建绳索的仿真模型,节数越多,绳索越柔软,仿真度越高。绳索的受力及运动情况靠操控相应位置上的绳段来实现,绳索的其他部位的运动情况则有物理引擎内部自动计算得出,三维图形渲染引擎则负责渲染计算结果,这样就在计算机中仿真了绳索的运动规律。为实现上述目的,本专利技术采用如下技术方案:步骤一:制作3D绳索模型;步骤二:在引擎仿真场景中加载制作好的3D模型文件,并创建绳段实体,绳段实体为引擎仿真场景中绳段的模型,它包含绳段的几何信息;步骤三:创建对应绳段实体的节点,该节点用来修改设置绳段实体的几何信息和空间坐标;引擎中模型的关联是靠节点的继承即创建其子节点来实现的,引擎中有一个整个仿真场景的根节点供其他节点继承,继承后的节点创建继承它的子节点;步骤四:设定该创建的绳段实体的空间坐标、放大比例、旋转角度参数;步骤五:依次创建其他绳段实体;步骤六:依次为所创建的每一段绳段实体创建具有物理属性的仿真体,称之为绳段body;步骤七:为创建的绳段body设定其物理属性即设定质量、设定绳段body在物理引擎中的阻尼系数,包括线性阻尼和角度阻尼;创建好的绳段body其引擎里默认值不满足要求时,则根据实际需要调整绳段body的设定质量来仿真质量不同的绳索,或调整绳段body的阻尼系数来仿真不同材质的绳索在空气中摆动幅度的不同;步骤八:为每一段绳段实体创建碰撞盒,碰撞盒用于检测绳段实体在物理引擎仿真环境中与其他物体的物理碰撞;步骤九:在各节仿真绳段之间创建关节,该关节选用物理引擎中的球形关节,球形关节的空间坐标设定在各节绳段的连接处,从而连接各仿真绳段;步骤十:设定关节的空间坐标及其属性;步骤十一:为每节绳段实体的添加伸缩控制;步骤十二:最终形成了一条柔性的仿真绳索。所述步骤一3D模型制作过程为,由3D模型制作人员使用3DMax软件制作出格式为.mesh的模型文件,该类型的模型文件包含了在引擎仿真场景中模型的本地坐标系及其贴图信息。所述步骤五的过程为,首先创建各个绳段实体,在上节绳段的末端依次创建其他绳段,利用绳段之间的空间坐标不同,使它们之间首尾相连。所述步骤六中,绳段Body具有实体物理属性的参量,绳段body所包含的物理参数主要有质量、阻尼系数、线速度、角速度;绳段实体创建绳段body后,其空间位置、旋转朝向参数需通过控制绳段body的相应参数来实现。所述步骤七中,线性阻尼主要对绳段boy的线性速度起到阻尼作用,旋转阻尼主要对绳段body的转动惯量起到阻尼作用。所述步骤八中,碰撞盒为引擎中不可侵入的模型包围盒,其表现了模型的外部形状,用于在系统中检测物理碰撞;碰撞盒创建完成后需要与绳段body相关联,其运动状态同其相关联的绳段body相一致。所述步骤十中,引擎中创建好关节,设置其连接两个相邻绳段,设置该关节的空间坐标在上端绳段与下端绳段的连接处;通过设定球形关节的阻尼系数来仿真柔性绳索的硬度,阻尼系数越大,绳索越僵硬,不易弯曲;通过设定球形关节的旋转角度限制参数来限制绳索的弯曲时的最大角度,以保证绳索会弯折太大影响视觉效果。所述步骤十一绳索伸缩控制流程如下:通过伸缩每节绳段实体来实现柔性绳索的伸缩,在引擎中绳段实体的伸缩是以模型中心点为中心进行伸缩的,在绳段实体伸缩后需要调整绳段的空间坐标和球形关节的空间坐标;相应计算的实现的方法如下,设绳段实体模型创建时的原始长度为L,伸缩的增量为dL;其旧坐标为P,顶端坐标为P(1/2*L)、尾端坐标为P(-1/2*L),伸缩后其顶端坐标为P(1/2*L+1/2*dL)、尾端坐标为P(-1/2*L-1/2*dL),伸缩后绳段实体的坐标应调整到的空间坐标为P’、球形关节空间坐标为jP;计算公式为:P’=P+P(1/2*L)-P(1/2*L+1/2*dL);该坐标调整后的绳段实体的尾端坐标为P’(-1/2*L-1/2*dL);则jP=P’(-1/2*L-1/2*dL);此时的球形关节坐标在伸缩后的两相邻绳段连接处,依次调整绳段实体的空间坐标及球形关节的空间坐标后,用球形关节在新坐标处重新连接各相邻绳段,从而完成整个绳索的伸缩控制。本专利技术的有益效果是:基于物理引擎的绳索计算机仿真提供了一种仿真度高、代码简洁、程序可移植的计算机仿真方案。柔性绳索的计算机仿真模型基于物理引擎,成功解决了以往计算机仿真中动作脚本编写困难,代码复杂,仿真度差的问题。在计算机仿真应用中,该方案可可为门本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种柔性绳索的仿真方法,其特征是,它的具体步骤为:
步骤一:制作3D绳索模型;
步骤二:在引擎仿真场景中加载制作好的3D模型文件,并创建绳段实体,
绳段实体为引擎仿真场景中绳段的模型,它包含绳段的几何信息;
步骤三:创建对应绳段实体的节点,该节点用来修改设置绳段实体的几何
信息和空间坐标;
引擎中模型的关联是靠节点的继承即创建其子节点来实现的,引擎中有一
个整个仿真场景的根节点供其他节点继承,继承后的节点创建继承它的子节点;
步骤四:设定该创建的绳段实体的空间坐标、放大比例、旋转角度参数;
步骤五:依次创建其他绳段实体;
步骤六:依次为所创建的每一段绳段实体创建具有物理属性的仿真体,称
之为绳段body;
步骤七:为创建的绳段body设定其物理属性即设定质量、设定绳段body
在物理引擎中的阻尼系数,包括线性阻尼和角度阻尼;
创建好的绳段body其引擎里默认值不满足要求时,则根据实际需要调整绳
段body的设定质量来仿真质量不同的绳索,或调整绳段body的阻尼系数来仿
真不同材质的绳索在空气中摆动幅度的不同;
步骤八:为每一段绳段实体创建碰撞盒,碰撞盒用于检测绳段实体在物理引
擎仿真环境中与其他物体的物理碰撞;
步骤九:在各节仿真绳段之间创建关节,该关节选用物理引擎中的球形关节,
球形关节的空间坐标设定在各节绳段的连接处,从而连接各仿真绳段;
步骤十:设定关节的空间坐标及其属性;
步骤十一:为每节绳段实体的添加伸缩控制;
步骤十二:最终形成了一条柔性的仿真绳索。
2.如权利要求1所述的柔性绳索的仿真方法,其特征是,所述步骤一3D模
型制作过程为,由3D模型制作人员使用3DMax软件制作出格式为.mesh的模型
文件,该类型的模型文件包含了在引擎仿真场景中模型的本地坐标系及其贴图
信息。
3.如权利要求1所述的柔性绳索的仿真方法,其特征是,所述步骤五的过程
为,首先创建各个绳段实体,在上节绳段的末端依次创建其他绳段,利用绳段
之间的空间坐标不同,使它们之间首尾相连。
4.如权利要求1所述的柔性绳索的仿真方法,其特征是,所述步骤六中,绳
段Body具有实体物理属性的参量,绳段body所包含的物理参数主要有质量、

【专利技术属性】
技术研发人员:田岚亓国强陆冬雨
申请(专利权)人:山东大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术