第7章_3D网格划分
- 格式:pdf
- 大小:828.66 KB
- 文档页数:12
三维网格模型分割的研究及其在人体测量中的应用三维网格模型分割的研究及其在人体测量中的应用摘要:在计算机科学领域中,三维网格模型分割是将3D模型分成各个独立的部分的过程。
现代科技中的三维扫描技术使得三维网格模型的获取变得越来越容易,因此三维网格模型分割也变得更加重要。
本文旨在探讨三维网格模型分割技术的研究进展,并着重讨论其在人体测量中的应用。
在本文中,我们将首先介绍三维网格模型分割的定义和研究背景,重点讨论三维网格模型分割算法的分类和性能指标。
然后,我们将深入探讨三维网格模型在人体测量中的应用,包括医学影像处理、虚拟现实和机器人定位导航等。
特别地,我们将详细讨论利用三维网格模型分割技术实现人体测量的方法和应用。
该论文所涉及的实验数据基于一个标准化的三维模型库,包含来自不同人群和不同种族的模型。
我们使用各类三维网格模型分割算法对这个模型库进行了实验比较,并得出了各个算法的优缺点。
结果表明,三维网格模型分割技术在人体测量中具有很好的应用潜力。
关键词:三维网格模型分割;人体测量;医学影像处理;虚拟现实;机器人定位导航。
I. 引言三维网格模型是用来描述物体表面的三维形状和纹理信息的一种数字化表示方法。
随着三维扫描技术的发展和基于三维网格模型的计算机应用的广泛应用,三维网格模型分割技术成为了一个热门研究课题。
三维网格模型分割是将三维网格模型分成各个独立的部分的过程,它是三维网格分析和应用中的一个核心问题。
分割后的每个部分都可以单独进行处理,并且可以对不同部分进行不同的操作,例如形状分析、局部纹理分析和对称性分析等。
本文旨在探讨三维网格模型分割技术的研究进展,并重点讨论其在人体测量中的应用。
II. 三维网格模型分割算法三维网格模型分割算法可以按照不同的分类方式进行划分,下面是主要的分类方法。
A. 基于图论的算法基于图论的算法将三维网格模型看做图的形式,将分割看做是图上的一个划分问题。
这种算法可以通过求解最小割问题实现。
第七章编辑网格一Edit Mesh(编辑网格)物体级别的修改:修改器成灰色显示的时候为物体级别次物体级别的修改:Vertex (点)Edge (边)Face (三角面) Polygon (多边形面)Element (元素) SelectionBy Vertex (按节点选择)Ignore Back facing (忽略背面-)Ignore Visible Edges (忽略可见边)Planar Thresh (选择共面的所有多边形)Hide /Unhide All (隐藏/取消隐藏)Soft Selection(软选择)Use Soft Selection(使用选择)Edge Distance(边距影响)Affect Backfacing(影响背面)Falloff(衰减)Pinch(收缩)Bubble(鼓起)Edit GeometryCreate (创建)Delete (删除)Attach (结合)Detach (分离)Break (断开)Turn (改向)Extrude (拉伸)Bevel (倒角)Chamfer(倒直角)Slice plane(切平面)Slice(切片)Cut(剪切)Split(分割)Refine ends(优化端面)Weld(焊接)Selected(焊接选择的)Target(目标焊接)Tessellate(细化)Explode(爆炸)Collapse(塌陷)二、Mesh Select(网格选择)与Edit Mesh的区别:他只有选择功能没有修改功能,它的优点是可以节省内存三、Editable Mesh(可编辑网格)Edit Mesh编辑修改器主要用来将标准几何体、Bezier面片或者NURBS曲面转换成可以编辑的网格对象。
增加Edit Mesh编辑修改器后就在堆栈的显示区域增加了层。
模型仍然保持它的原始属性,并且可以通过在堆栈显示区域选择合适的层来处理对象。
将模型塌陷成Editable Mesh后,堆栈显示区域只有Editable Mesh。
VI3-D网格划分本章包含《Practical Finite Element Analysis》一书中的材料。
Matthias Goelke检查了本章并添加了一些材料。
7.1 3-D单元的适用场合当结构的3个维度尺寸在同一量级时应该使用3-D单元。
单元形状:四面体、楔形、六面体、金字塔用户需要输入的数据:无单元类型:实体实际应用:齿轮箱、发动机体、曲轴等6缸曲轴箱六面体网格曲轴四面体网格3-D单元类型:7.2 实体单元的自由度2-D薄壳和1-D梁单元都支持6个自由度,但所有实体单元都只有3个平动自由度(无转动自由度)。
例如一个10节点四面体单元总共有10 x 3 = 30个自由度。
为什么实体单元只有3个平动自由度而无转动自由度(物理解释)?考虑一张纸片(2-D几何)或者一把长的铁尺(1-D几何)。
他们容易被弯曲和扭转(转动自由度)。
但是如果是除尘刷或者压纸之类的实体。
他们通常不会承受很大的弯曲或扭转。
因此,实体单元只有3个平动自由度而无转动自由度。
7.3 四面体网格划分技术有两种四面体网格划分方法。
1)自动划分:这种方法局限于简单几何,并且要求CAD模型没有错误。
用户只需要选择实体,软件会自动根据单元长度、质量指标进行划分。
优点:很快很简单。
缺点:生成的单元和节点数量很多。
无法进行网格流向和网格模式控制(例如:螺栓、点焊、接触面模拟)。
2)2-D(三角形)到3-D(四面体):这是最常用的方法。
在表面几何曲面上进行四边形和三角形网格3-D单元四面体楔形六面体金字塔线性四面体4节点线性楔形6节点线性六面体8节点线性金字塔5节点非所有软件均支持抛物线四面体10节点抛物线楔形15节点抛物线六面体20节点抛物线金字塔13节点划分。
在四面体网格划分时四边形被自动切割为三角形作为四面体单元的基础。
2-D(三角形)到3-D(四面体)网格划分的步骤:第一步:研究几何。
第二步:分割(孤立)曲面以便进行任务分配(如果有时间限制的话)。
a.CAE工程师1b.CAE工程师2第三步:合并网格第四步:检查三角形单元质量(最小三角形角度大于15度,最大三角形角度小于120度,雅可比大于0.6),没有自由边,没有T型连接。
第五步:将三角形转换成四面体。
第六步:进行四面体单元质量检查(tet collapse > 0.1,雅可比和扭曲度(Jacobian, distortion)大于0.5,拉伸度大于0.2等)。
如果必要,修整单元质量。
第七步:进行无约束分析或在假定约束下进行线性分析。
从三角形生成四面体的常见算法:1)波前法:该算法很强大,是最常用的算法2)Delaunay算法3)三角形-四边形算法所有算法都为三角形到四面体的转换提供两个选项:1)浮动三角形:用户在外表面生成的原始三角形和软件最终生成的四面体可以不匹配。
选择该算法允许软件改变三角形单元分布(如果四面体网格生成过程出现一些问题)。
该选项可以用于普通零件和区域的网格划分(没有高应力的区域,仅为提供刚度和质量的零件等)。
2)固定三角形:原始三角形和四面体网格的模式匹配。
该算法可以用于希望进行网格合并/粘接的部位。
否则会出现部件之间网格的不匹配(例如:网格连接不正确)。
原始三角形网格同时显示三角形和四面体(浮动三角形法)三角形和四面体不一致(交叉模式)同时显示三角形和四面体,角形和四面体一致(固定三角形法)7.4 六面体网格划分六面体网格划分需要计划、努力和耐心。
六面体网格划分只支持手工或半自动划分选项。
商用软件不支持自动划分或四面体到六面体(类似三角形到四面体)划分方法。
后轴带刹车鼓和轮毂装配,六面体网格(图片来源:Altair Calendar 2006,致谢:Ashok Leyland)复杂零件六面体网格划分的流程是先在曲面上划分壳单元,然后通过扫掠、旋转、线性实体等方法转换为六面体。
自由面检查对已完成的六面体网格是非常重要的。
挤压/拖拽旋转扫掠/沿曲线拖拽线性实体六面体划分技巧:即使是经验丰富的工程师也对六面体网格划分工作感到恐惧或不情缘接受这件工作。
书本、顾问或大学是无法教你如何划分六面体。
真正的学习之道是确定一个方法,坐在电脑前几个小时,不断地试错并从错误中学习。
以下是六面体网格划分的一些技巧:1)开始工作前做好计划:开始划分网格前应该花足够的时间把几何研究清楚。
几何研究清楚后应该可以呈现出下一步如何划网格的思路。
是否有对称、局部对称或重复特征,如果存在这些可以节省划分网格的时间。
2)2D四边形网格应该使用规则网格(使用ruled或者mapped),避免使用auto mesh自动生成的网格:应该使网格保持良好的流线,尽量减少三角形数量、钻石形状或漩涡状的四边形。
在曲面上使用自动网格划分有时会出现极不规则或随机布置的网格,这些网格在后续步骤可能会导致不可预知的问题。
3)不要急于将壳单元转变为六面体网格:不要急于将壳单元转变为六面体网格。
建议先检查当前的四边形网格模式是否有问题。
4)从最复杂的特征开始划分,而不是先划最简单的或者从零件的一个角落开始划分。
在时间管理实践中,首要的准则是:“先对付最简单的问题,然后再处理复杂的。
”六面体网格划分的经验刚好相反,应该是:“先对付最复杂的特征然后处理简单的。
”初学者常常错误地从零件最简单的部分某个边角开始划分网格。
5)使用线性实体:linear solid和morphing是六面体网格划分中应该使用的非常强大的工具。
六面体和四面体网格比较●六面体网格得到的单元数是四面体划分得到的单元数的1/2到1/50。
六面体网格减少了求解时间从而更容易在工作站上处理模型(前后处理显示)。
●考虑到节点数量和网格流向,碰撞和非线性分析中倾向于使用六面体网格。
●六面体网格划分要求更多的时间、更多的经验、努力和耐心。
●过去几年四面体网格的算法不断提升,10节点四面体和8节点六面体在精度上已经没有显著差别。
7.5 应该避免哪些网格问题1) 中间节点应该在几何上。
不可接受推荐对于抛物线四面体网格划分,很多CAE工程师倾向于先划分线性三角形(不是抛物线)然后再转成二阶。
在转换过程中,中间节点并不会自动投影到曲面和圆角上。
如果出现这样的情况那么应该应该先将三角形单元投影到相应的曲面。
2)如果网格划分的任务是几个工程师分开进行,全局的单元长度和网格模式应该保持一致。
由于客户要求的时间很短,所以上图的任务分开由3个工程师同时进行。
各工程师在各自的部分几何上划分网格,没有遵循统一的网格尺寸和模式。
3)四面体网格划分时在圆角位置至少划分2层单元。
圆角处的单元通常在雅可比/扭曲度检查时容易通不过。
手工调整和提高单元质量容易使网格偏离几何并且看起来不舒服。
在圆角上分布至少2个单元可以避免这些问题。
4)对于六面体网格划法,厚度方向上最少要有2层单元。
单层单元导致糟糕的插值结果从而影响结果精度。
因此推荐厚度上最少要有2层单元。
NVH分析例外,因为应力不是主要指标。
NVH分析中主要关心的是质量和刚度(最少的自由度)分布。
5)在六面体网格划分时使用四面体和金字塔单元:金字塔单元四面体单元一些客户允许在六面体中包含一些四面体单元。
某些软件和分析类型也支持金字塔单元。
使用四面体和金字塔单元让六面体划分的人感到轻松很多。
需要把这些单元的用法和客户讲清楚。
6)使用3D单元模拟钣金件。
对于厚度很薄的钣金件,2D壳单元更合适。
但并不是说不能使用3D单元,只不过会导致大量的单元和节点。
考虑下面的钣金件(200 x 200 x 2mm)。
我们使用相同的单元尺寸分别用3D二阶四面体和2D线性四边形进行划分,然后比较得到的单元和节点数。
3D四面体节点:1496 单元:6892D线性四边形节点:121 单元:1007)1D单元的局限性和3D网格划分的优势。
圆角、开槽和复杂几何特征无法使用1D单元精确表达。
由于3D单元具有3个维度,可以精确捕捉所有细小特征。
例如,下面的这个轴。
使用1D单元无法捕捉到键槽和变化的圆角。
对于这种应用推荐使用3D单元。
7.6 使用HyperMesh创建3D单元HyperMesh可以划分四面体和六面体单元。
下面说明如何进行这两种网格的划分。
四面体单元四面体单元是从2D三角形单元生成的实体单元。
形状为四面体,如下图所示:HyperMesh可以创建4节点和10节点四面体。
可以创建四面体单元的面板有:edit element面板、tetra mesh面板、Tetramesh Process Manager面板和shrink wrap面板。
Edit element面板四面体单元可以通过edit element面板手工创建。
edit element面板允许你手工创建、切割或修改单元。
在edit element面板中只能通过create子面板创建四面体单元。
Tetra mesh面板四面体单元可以使用tetra mesh面板自动创建。
tetra mesh面板允许用户使用一阶或二阶四面体单元填充封闭的体积。
封闭区域指完全被壳单元(三角形或四边形)包围的区域。
可以使用不同的子面板进行不同的四面体网格划分:•tetra mesh:允许用户使用四面体单元填充任意由表面三角形/四边形单元定义的体。
•tetra remesh:对单个体中的四面体单元重新划分。
•CFD mesh:允许自动生成带边界层(金字塔和六面体)单元的网格,中间部分由四面体单元填充。
•volume tetra:对给定的实体或封闭曲面围成的体生成壳单元并用实体单元填充。
各个子面板中的选项将会在视频中介绍。
Shrink wrap面板在Shrink wrap面板里有一个选项用来生成实体网格。
该选项会根据所选的单元或几何生成全六面体或全四面体网格。
因此shrink wrap可以用作快速生成实体网格的工具。
注意在生成此类网格时雅可比值的设置对体网格粗糙度有很大的影响。
更多信息请参考在线帮助。
六面体和楔形单元六面体单元是从2D四边形单元拉伸得到的实体单元。
五面体(楔形)单元是由2D三角形单元拉伸得到的实体单元。
它们的形状如下:六面体五面体HyperMesh可以通过下列面板创建6节点或15节点楔形单元和8或20节点六面体单元。
•drag:沿一个矢量拉伸一组2D单元创建实体单元。
•edit element:手工创建单元•line drag:沿一条曲线拉伸一组2D单元创建实体单元。
•linear solid:在两组2D单元之间创建实体单元•solid map:在节点、线和曲面间创建实体单元•solid mesh:在可变数量的曲线间创建实体单元•elem offset:把一组2D单元沿它们所构成的曲面的法线方向偏置生成实体单元。
•spin:把一组2D单元绕某一个矢量旋转以创建实体单元•split:扩展切割六面体(自动切割相连的一列六面体)如上所述,五面体和六面体可以在solid map面板中创建。