[发明专利]一种面向虚拟装配的基于粒子的晶格形状匹配变形方法无效
申请号: | 201110334638.5 | 申请日: | 2011-10-28 |
公开(公告)号: | CN102521872A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 周天;齐越 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06T17/00 | 分类号: | G06T17/00 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 许玉明;顾炜 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 虚拟 装配 基于 粒子 晶格 形状 匹配 变形 方法 | ||
技术领域
本发明属于计算机虚拟现实领域,具体地说,是一种面向虚拟装配的基于粒子的晶格形状匹配变形方法。
背景技术
传统的虚拟装配系统主要面向刚体零部件,对可变形部件不能有效的仿真。为解决这个问题,将晶格形状匹配变形算法与虚拟拆装系统相结合,可高效的仿真出直列四缸发动机中进出气门金属弹簧的变形效果。
在计算机图形学的研究领域中,变形技术已经发展了很多年,但研究成果很少被应用在虚拟拆装系统里。长期以来,变形体物理仿真的固有难点制约着实时仿真的发展。例如一些算法时间复杂度高且不够鲁棒,在交互式虚拟环境中不能够满足实时的应用需求。另一些算法虽然达到了实时可交互的计算速度,但却加入过多的约束条件,例如限制了物体变形的区域范围,或限制了用户的交互方式。此外,许多算法原理复杂,实现难度很大。因此在应用领域,传统的虚拟拆装系统主要面向刚体零部件,对于变形体不能有效仿真。以直列四缸汽车发动机为例,每个进气门和出气门都受一个金属弹簧的控制。当安装气门的时候,需要先将弹簧压缩变形,然后放置气门盖子。作为仿真的需求,我们要以交互的方式模拟弹簧的变形。而且算法要求必须具有稳定性,高效性,和可交互性。
大量试验证明,当把晶格区域宽度设置为特定数值时,可以模拟不同刚度物体的变形效果,对于小于2万个三角面片的中等规模模型可以实现实时可交互的仿真效果。
本发明的主要贡献在于,将晶格形状匹配变形方法应用于虚拟拆装领域,通过大量实验,找到了适用于模拟金属形变的晶格宽度值。在虚拟拆装系统里,我们用该方法模拟了发动机气门弹簧的形变效果。结果表明,我们的仿真达到了可交互、高鲁棒性和高真实性的多重要求。同时以算法为辅助,我们设计并实现了一个虚拟拆装系统。在变形算法的辅助下,虚拟拆装系统适用于复杂的航空发动机拆装,汽车发动机拆装以及简单的自行车拆装等多种背景。
发明内容
本发明的目的是弥补虚拟拆装系统缺乏对于变形体支持的现状,将基于粒子的晶格形状匹配变形算法应用于虚拟拆装系统,使得在系统中,实时可交互的对变形体进行操作。
为达到上述目的,本发明提出一种面向虚拟装配的基于粒子的晶格形状匹配变形方法,具体的步骤如下:
1)载入三维模型;
2)通过提取模型顶点信息对模型进行体素化;
3)生成晶格区域和晶格列表,利用宽度优先搜索设置粒子关系,建立晶格与粒子之间的关系,计算每个粒子的初始位置,以及每个粒子下一时刻的速度,计算每个粒子下一时刻的位置,根据晶格区域的平均值计算每个粒子的终止位置;
4)渲染背景,渲染模型;
5)通过实验找到适合模拟真实金属硬度的晶格宽度值;
上述方法中,步骤1)中,载入工作需要从模型文件中提取顶点的位置坐标,顶点法线坐标,三角面片中点的索引信息。
上述方法中,步骤2)中,根据采集到的顶点坐标信息,对三维物体进行体素化处理,将物体用点阵表示。
上述方法中,步骤3)中,利用宽度优先搜索设置粒子关系,建立晶格与粒子之间的关系,计算每个粒子的初始位置,计算每个粒子下一时刻的速度,计算每个粒子下一时刻的位置,根据晶格区域的平均值计算每个粒子的终止位置。
上述方法中,步骤5)中,通过多组对比试验,找到适合模拟真实金属变形硬度的晶格宽度值。
本发明的优点在于:
1、变形算法实时可交互;
2、通过设置晶格宽度值,变形体的硬度可以随意调整,适合于模拟软体到硬金属等多种不同物理属性的物体。
附图说明
图1示出本发明的操作流程图;
图2示出通过增加晶格宽度值,可以改变物体变形的硬度;
图3示出粒子之间的牵制关系。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明。
本发明的主要流程图如图1所示,具体步骤如下:
(1)载入模型,通常载入OBJ格式的模型,根据文件行标记v、vn、f分别提取出模型的顶点信息,顶点法线信息,三角面片信息等等;
(2)根据提取出的模型顶点信息,将模型进行体素化处理;
(3)利用宽度优先搜索设置粒子关系,由初始位置和目标位置的差值计算每个粒子的初始位置和变形后的位置,求解旋转矩阵R和平移向量t,根据当前的移动时间和预设的加速度值来计算每个粒子下一时刻的速度,计算每个粒子下一时刻的位置;
求解公式如下所示:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110334638.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种筷子
- 下一篇:跨平台的智能卡在线售卡方法