网站大量收购独家精品文档,联系QQ:2885784924

人体与流体的交互仿真中的内外体化素.docVIP

人体与流体的交互仿真中的内外体化素.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
人体与流体的交互仿真中的内外体化素.doc

人体与流体的交互仿真中的内外体化素   【摘 要】体素化(Voxelization)模型是为了解决描述模型内部属性如材料、密度等信息时产生的,体素化则是将物体的几何信息转化成最接近物体的体数据(Volume Datas)。体素化后的模型不仅包含模型的表面信息,而且能描述模型内部的属性。体素是由一组三维的立方体格子组成。   【关键词】体素化;尺度空间理论;距离场   体素化模型根据各自的特点各有不同,文献[1]是根据法向量的函数作为标准将模型离散的体素模型,文献[2]根据尺度空间理论(Scale-space Theory)的反走样体素模型,文献[3]是根据距离场(Distance Fields)和距离变换(Distance Transform)的方法建立体素模型。   1 预处理过程   根据人体、流体在世界空间中的范围大小,设定网格模型的范围。方向与欧氏空间的,轴方向相同,体素空间是离散空间,坐标是整数坐标,每一个坐标序列对应模型唯一的体素网格。由于体素化存在精度的问题,网格范围不应该大于实际模型空间范围,不然一个模型顶点将对应多个网格。   在体素空间中存在拓扑关系,下面给出定义:   定义1 如果两个体素间存在一个公共顶点或一条公共边或一个公共面,则称两个体素是26-邻接的。   定义2 如果两个体素间存在一条公共边或一个公共面,则称两个体素是18-邻接的。   定义3 如果两个体素间存在一个公共面,则称两个体素是6-邻接的。   这3种邻接体素模型,约束力关系可以表示为:6-邻接18-邻接26-邻接。   从定义中可以看出,6-邻接体素模型只能表示体素网格周围6个面的邻接关系,18-邻接体素模型可以表示与体素网格12条棱相接的体素网格,而26-邻接体素模型则可以额外表示体素网格上8个顶点相接的体素网格。本文采用的是26-邻接的体素模型,在体素化过程中提高仿真精度,使仿真更接近真实物理特性。   2 八叉树数据结构   一般的八叉树仅对灰节点(gray)进行分解,在本文中,需要对所有的节点均进行分解操作,这样才能对人体与流体的交互信息进行判断。   我们只需要标识体素网格对应模型的实际属性,如果是-1则表示落在人体外面,不进行交互;如果是0则表示恰好落在人体边界,进行交互处理;由于精度问题,上一次探测失败的点有可能落在人体里面,表示为1,仍然进行交互处理。   3 线性编码及算法   体素网格的边界关系由顶点、边、面3种关系组成,在实际遍历的方便以及效率的考虑,我们建立一种索引机制来对应这种边界关系。   线性八叉树有很好的编码方案,如Meagher给出了线性八叉树编码方案。设定第个结点的编码为公式(1)。   根据公式(2),可以由八叉树的体素化坐标得到编码位的二进制组合。再根据公式(1)求得线性八叉树编码。对于不同的编码,按照建立的索引表中的对应关系找到对应的体素位置。   例如,三角形的体素化,由于三维物体大部分是由三角面片组成的,所以三角形具有代表性。   1)对于三角形面片的体素化,可以分为点、边、面的处理。三个顶点分别为。点的体素坐标则表示为:为体素空间的距离大小。根据公式(1)、公式(2),由体素空间坐标求得体素网格的索引编码,然后由索引编码可以得到体素位置。   2)在对点进行体素化后,接下来对边进行处理。一般位置的边不垂直和平行坐标面,处理这样的边时,相当于在边的一个顶点发出射线,指向边的另一个顶点,途中经过的所有网格均被标记。由于已经求得了顶点的体素编码,可以根据编码找到边的顶点与体素网格相交的方式是点、边或者是面,然后由得到的相交方式求得相邻的体素网格,依次递归下去。对于特殊边的体素处理,只需要将相应坐标忽略掉即可。如垂直于平面,其体素的分量只需要从第一个体素网格的开始递增或递减。这样就可以得到边所占据的所有体素网格的编号。   3)在处理三角面时,需要先将三角面投射到具有最大阴影面积的平面上,假设为平面,投射三角形为。已经找到三角形顶点和边的体素网格和索引,根据网格坐标分量、的范围来确定三角面的体素网格。具体做法是先在平面上找到满足条件的点集坐标,然后以点集的点为原点,垂直平面,方向朝向原平面的射线,相交于点,为轴分量,交点为体素网格的坐标。最后根据公式(1)、公式(2),求出八叉树编码,并对其进行标记,计算体素点在人体模型的位置信息。   4 纹理切片   按照上述内外体素化算法流程,可以对人体、流体所在的体素网格进行体素化。体素化后的信息是离散的,将数据存入三维数组,便可得到一组有标识位组成的信息。每一组二维数组对应一层纹理切片。   在计算出纹理切片信息后,需要遍历所有层,探测在每层中流体与固体接触的边界位置,从而得到交互信息。而探测

您可能关注的文档

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档