一种动态层进式装备零部件分解的实现方法技术

技术编号:21377742 阅读:43 留言:0更新日期:2019-06-15 13:24
本发明专利技术提供了一种动态层进式装备零部件分解的实现方法,该方法能够根据装备层级关系,通过递归法对装备进行动态层进分解,动态地展示不同层级上的部件分解过程以及分解进度可调节的零部件分解方式,解决了现有技术中工作量大、操作复杂、不具备通用性的问题。动态层进式装备零部件分解方法作为一种可以展示部件分解过程的认知方式,比静态分解更直观、更形象,可以大大提高部件认知效率。

【技术实现步骤摘要】
一种动态层进式装备零部件分解的实现方法
本专利技术涉及虚拟现实
,具体而言,涉及一种动态层进式装备零部件分解的实现方法。
技术介绍
近年来,随着机械电子技术以及制造技术的发展,各种装备的复杂程度越来越高,从而导致对装备进行认知的难度越来越大。一种合理的装备认知方式可以提高工作人员的装备认知效率。传统的装备认知实现方法是针对装备的每个零部件分别编写分解动画脚本,然后同时执行所有零部件的分解脚本,从而将装备分解为多个零部件,来实现装备认知。但这种方法存在工作量大、操作复杂、不具备通用性的缺点。
技术实现思路
本专利技术的主要目的在于提供一种动态层进式装备零部件分解的实现方法,以解决现有技术中工作量大、操作复杂、不具备通用性的问题。为了实现上述目的,本专利技术提供了一种动态层进式装备零部件分解的实现方法,包括以下步骤:步骤一,定义装备零部件:将装备的单个零部件或含多个子部件的组合定义为一个Part,Part具有deploy、deploy_direction_start、deploy_direction_end、positive_children和negitive_children属性;deploy为布尔型,当Part为含多个子部件的组合时,deploy的值为真,表示Part有子部件需要分解,当Part为单个零部件时,deploy的值为假,表示Part无子部件需要分解;deploy_direction_start和deploy_direction_end是用户定义的两组空间坐标,用于表示Part在分解时的分解向量,(deploy_direction_end-deploy_direction_start)是Part的正分解向量,(deploy_direction_start-deploy_direction_end)是Part的负分解向量;positive_children是Part自根部件起沿正分解向量排列的n个子部件对应的子Part数组Part(1)、Part(2)……Part(n);negitive_children是Part自根部件起沿负分解向量排列的m个子部件对应的子Part数组Part(1)、Part(2)……Part(m);步骤二,将步骤一所定义的多个Part按照父子关系组合为装备分解树,则装备分解树包括父Part和子Part;步骤三,按照递归法依次从装备分解树的父Part到子Part进行分解:指定装备分解树父Part的一个部件为活动部件,父Part的各子Part按照定义的正分解向量/负分解向量进行分解;在父part完成分解的基础上,指定子Part的一个部件为活动部件,子Part的各子Part按照定义的正分解向量/负分解向量进行分解,直到所有Part都分解为单个零部件为止;进一步地,活动部件为Part的最外侧部件;进一步地,Part还具有deploy_zoom属性,deploy_zoom用于控制Part的分解速度,当deploy_zoom>1时,分解速度加快,当0<deploy_zoom<1时,分解速度减慢;进一步地,分解Part时,Part包含的各子Part的位移不同,定义分解因子f(0<f<1),则在正分解向量上的子Part的位移SPart(n)为:SPart(n)=(deploy_direetion_end-deploy_direetion_start)f(a-n)其中,n为正整数,a为常数;在负分解向量上的子Part的位移SPart(m)为:SPart(m)=(deploy_direetion_end-deploy_direetion_start)f(a-m)其中,m为正整数,a为常数。应用本专利技术的技术方案,通过递归法对装备进行动态层进分解,解决了现有技术中工作量大、操作复杂、不具备通用性的问题。动态层进式装备零部件分解方法作为一种可以展示部件分解过程的认知方式,比静态分解更直观、更形象,可以大大提高部件认知效率。具体实施方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面结合实施例来详细说明本专利技术。应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。现在,将更详细地描述根据本申请的示例性实施方式。然而,这些示例性实施方式可以由多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的实施方式。应当理解的是,提供这些实施方式是为了使得本申请的公开彻底且完整,并且将这些示例性实施方式的构思充分传达给本领域普通技术人员。本专利技术提供了一种动态层进式装备零部件分解的实现方法,以unity插件(deploy)的形式给出了其实现程序进行实现,具体方法包括以下步骤:步骤一,定义装备零部件:将装备的单个零部件或含多个子部件的组合定义为一个Part,Part具有deploy、deploy_direction_start、deploy_direction_end、positive_children和negitive_children属性;deploy为布尔型,当Part为含多个子部件的组合时,deploy的值为真,表示Part有子部件需要分解,当Part为单个零部件时,deploy的值为假,表示Part无子部件需要分解;deploy_direction_start和deploy_direction_end是用户定义的两组空间坐标,用于表示Part在分解时的分解向量,(deploy_direction_end-deploy_direction_start)是Part的正分解向量,(deploy_direction_start-deploy_direction_end)是Part的负分解向量;positive_children是Part自根部件起沿正分解向量排列的n个子部件对应的子Part数组Part(1)、Part(2)……Part(n);negitive_children是Part自根部件起沿负分解向量排列的m个子部件对应的子Part数组Part(1)、Part(2)……Part(m);步骤二,将步骤一所定义的多个Part按照父子关系组合为装备分解树,则装备分解树包括父Part和子Part;步骤三,按照递归法依次从装备分解树的父Part到子Part进行分解:指定装备分解树父Part的一个部件为活动部件,父Part的各子Part按照定义的正分解向量/负分解向量进行分解;在父part完成分解的基础上,指定子Part的一个部件为活动部件,子Part的各子Part按照定义的正分解向量/负分解向量进行分解,直到所有Part都分解为单个零部件为止;Part的Deploy函数代码如下所示:这里将装备树上的一个部件定义为活动部件,用户可以在定义的分解向量上移动活动部件,活动部件移动的距本文档来自技高网
...

【技术保护点】
1.一种动态层进式装备零部件分解的实现方法,其特点在于,包括以下步骤:步骤一,定义装备零部件:将所述装备的单个零部件或含多个子部件的组合定义为一个Part,所述Part具有deploy、deploy_direction_start、deploy_direction_end、positive_children和negitive_children属性;所述deploy为布尔型,当所述Part为含多个子部件的组合时,所述deploy的值为真,表示所述Part有子部件需要分解,当所述Part为单个零部件时,所述deploy的值为假,表示所述Part无子部件需要分解;所述deploy_direction_start和所述deploy_direction_end是用户定义的两组空间坐标,用于表示所述Part在分解时的分解向量,(deploy_direction_end‑deploy_direction_start)是所述Part的正分解向量,(deploy_direction_start‑deploy_direction_end)是所述Part的负分解向量;所述positive_children是所述Part自根部件起沿所述正分解向量排列的n个子部件对应的子Part数组Part(1)、Part(2)……Part(n);所述negitive_children是所述Part自根部件起沿所述负分解向量排列的m个子部件对应的子Part数组Part(1)、Part(2)……Part(m);步骤二,将步骤一所定义的多个Part按照父子关系组合为装备分解树,则所述装备分解树包括父Part和子Part;步骤三,按照递归法依次从所述装备分解树的所述父Part到所述子Part进行分解:指定所述装备分解树父Part的一个部件为活动部件,所述父Part的各所述子Part按照定义的所述正分解向量/负分解向量进行分解;在所述父part完成分解的基础上,指定所述子Part的一个部件为活动部件,所述子Part的各所述子Part按照定义的所述正分解向量/负分解向量进行分解,直到所有所述Part都分解为单个零部件为止。...

【技术特征摘要】
1.一种动态层进式装备零部件分解的实现方法,其特点在于,包括以下步骤:步骤一,定义装备零部件:将所述装备的单个零部件或含多个子部件的组合定义为一个Part,所述Part具有deploy、deploy_direction_start、deploy_direction_end、positive_children和negitive_children属性;所述deploy为布尔型,当所述Part为含多个子部件的组合时,所述deploy的值为真,表示所述Part有子部件需要分解,当所述Part为单个零部件时,所述deploy的值为假,表示所述Part无子部件需要分解;所述deploy_direction_start和所述deploy_direction_end是用户定义的两组空间坐标,用于表示所述Part在分解时的分解向量,(deploy_direction_end-deploy_direction_start)是所述Part的正分解向量,(deploy_direction_start-deploy_direction_end)是所述Part的负分解向量;所述positive_children是所述Part自根部件起沿所述正分解向量排列的n个子部件对应的子Part数组Part(1)、Part(2)……Part(n);所述negitive_children是所述Part自根部件起沿所述负分解向量排列的m个子部件对应的子Part数组Part(1)、Part(2)……Part(m);步骤二,将步骤一所定义的多个Part按照父子关系组合为装备分解树,则所述装备分解树包括父Part和子Part;步骤...

【专利技术属性】
技术研发人员:蒋坚鸿徐文胜张春魁武博赵崇卫汪伟岚
申请(专利权)人:上海精密计量测试研究所上海航天信息研究所
类型:发明
国别省市:上海,31

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

1