三维网格分割的经典方法
第7章_3D网格划分
![第7章_3D网格划分](https://img.taocdn.com/s3/m/a904112e10661ed9ad51f346.png)
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(四面体)网格划分的步骤:第一步:研究几何。
第二步:分割(孤立)曲面以便进行任务分配(如果有时间限制的话)。
第四讲 三维网格化分
![第四讲 三维网格化分](https://img.taocdn.com/s3/m/9951d33a87c24028915fc3d0.png)
Solid panel—linear solid
Solid panel—solid mesh
在一个用线定义类似管状体积内创建单 元. 如果模型比较简单,效果很好, 如果模型比较简单,效果很好,但是如 果模型比较复杂, 果模型比较复杂,建议用其它方法.
Solid panel—solid mesh
通过旋转一组面单元来创建体单元. 通过旋转一组面单元来创建体单元. 需要初始的二维网格作模式. 需要初始的二维网格作模式. 恒定的横截面. 恒定的横截面. 圆周型路径. 圆周型路径. 不能在一个没有孔的圆柱上使用该方法. 不能在一个没有孔的圆柱上使用该方法.
panel—spin
Solid panel—line drag
Solid panel—solid map
Exercise 三维网格划分
�
Solid panel—solid map
需要初始的二维网格作模式. 需要初始的二维网格作模式. 用几何(节点,线或者表面)定义一个体积. 用几何(节点,线或者表面)定义一个体积. 横截面: 横截面: 不必恒定;在不同面上可以有不同的弯曲;应大体为三角形或矩形. 不必恒定;在不同面上可以有不同的弯曲;应大体为三角形或矩形. 几乎能划分任何基础形状的体. 几乎能划分任何基础形状的体. 当模型上有个孔时,应避免使用. 当模型上有个孔时,应避免使用.
hypermesh的立体是通过extrusion拉伸来划分网格的所以二维网格的划分是至关重要的没有高质量的二维网格就不可能得到高质量的三维网格
第三讲 体网格化分
清华高级有限元中心 石泳
Introduction
HyperMesh的立体是通过"extrusion(拉 伸)"来划分网格的,所以二维网格的划分 是至关重要的,没有高质量的二维网格,就 不可能得到高质量的三维网格. HyperMesh所提供的基本方法有:drag, spin, line drag, element offset, linear solid, solid mesh, solid map.
三角网格细分法在重建隧道三维结构中的应用(1).
![三角网格细分法在重建隧道三维结构中的应用(1).](https://img.taocdn.com/s3/m/f840804d7fd5360cbb1adb1b.png)
三角网格细分法在重建隧道三维结构中的应用(1)摘要曲面造型一直是计算机图形学的重要研究内容之一。
曲面的显示效果涉及到数据的存储结构及对数据的操作方法等多方面的知识。
网格细分是曲面的一种表示方法,但却是目前广泛使用的一种曲面造型方法。
而三角网格细分的许多算法已经成功地应用于许多领域。
本文介绍了曲面造型的相关理论,重点介绍了Loop细分算法及其在重建隧道三维结构中应用。
关键词曲面; 网格; 细分; 逼近; 隧道0 引言隧道的施工安全,常常与隧道的掌子面观察紧密联系。
现行观察一般是人工纪录和掌子面状况描绘或者照像,这种描绘往往由于人为因素,使获得的数据缺乏一致性和可比性。
而照片在冲洗过程中,由于相片本身的分辨率也会导致冲照片在洗过程中出现信息畸变、丢失的现象,而且不能数字化和及时处理。
因此在对隧道开挖过程中的掌子面图象进行处理后,就需要根据所获得的特征参数,重建、显示隧道的三维结构,并用以指导隧道的施工。
但三维结构在重建过程中,重建的效率是十分重要的。
本文利用曲面网格的相关理论,并结合三角网格细分算法来进行遂道三维结构的重建,以加快生成速度和提高隧道三维结构显示的质量。
1 曲面网格的构建空间曲面的构建一般采用参数方式。
若用双参数构建曲面,其数学形式为:S=S(u,v)=[x(u,v),y(u,v),z(u,v)] (a≤u≤b,c≤v≤d)当u,v在各自的定义域内变化时,S(u,v)在空间坐标系中变化,且O-UV坐标系中的任意一点(u,v)均与O-XYZ坐标系中的点(X,Y,Z)呈一一映射关系。
当v不变而u变化时,得到u线;反之,则得到v线。
所有的u线和v线所形成的网叫参数曲线网。
由曲线p(u,c),p(u,d),p(a,v),p(b,v)四条边界曲所围成的部分,被称为网格,它定义在矩形域((a≤u≤b,c≤v≤d))上。
矩形定义域一般采用正方形(0≤u≤1,0≤v≤1)。
Coons曲面,Bezier曲面,B样条曲面均可用这种方式来建构。
三维网格细分算法(Catmull-ClarksubdivisionLoopsubdivis。。。
![三维网格细分算法(Catmull-ClarksubdivisionLoopsubdivis。。。](https://img.taocdn.com/s3/m/382b74305627a5e9856a561252d380eb62942327.png)
三维⽹格细分算法(Catmull-ClarksubdivisionLoopsubdivis。
转载:下图描述了细分的基本思想,每次细分都是在每条边上插⼊⼀个新的顶点,可以看到随着细分次数的增加,折线逐渐变成⼀条光滑的曲线。
曲⾯细分需要有⼏何规则和拓扑规则,⼏何规则⽤于计算新顶点的位置,拓扑规则⽤于确定新顶点的连接关系。
下⾯介绍两种⽹格细分⽅法:Catmull-Clark细分和Loop细分。
Catmull-Clark subdivision: Catmull-Clark细分是⼀种四边形⽹格的细分法则,每个⾯计算⽣成⼀个新的顶点,每条边计算⽣成⼀个新的顶点,同时每个原始顶点更新位置。
下图为Catmull-Clark细分格式的细分掩膜,对于新增加的顶点位置以及原始顶点位置更新规则如下:1.⽹格内部F-顶点位置: 设四边形的四个顶点为v0、v1、v2、v3,则新增加的顶点位置为v = 1/4*(v0 + v1 + v2 + v3)。
2.⽹格内部V-顶点位置: 设内部顶点v0的相邻点为v1、v2,…,v2n,则该顶点更新后位置为,其中α、β、γ分别为α = 1 - β -γ。
3.⽹格边界V-顶点位置: 设边界顶点v0的两个相邻点为v1、v2,则该顶点更新后位置为v = 3/4*v0 + 1/8*(v1 + v2)。
4.⽹格内部E-顶点位置: 设内部边的两个端点为v0、v1,与该边相邻的两个四边形顶点分别为v0、v1、v2、v3和v0、v1、v4、v5,则新增加的顶点位置为v = 1/4* (v0 + v1 + v f1 + v f2) = 3/8*(v0 + v1) + 1/16*(v2 + v3 + v4 + v5)。
5.⽹格边界E-顶点位置: 设边界边的两个端点为v0、v1,则新增加的顶点位置为v = 1/2*(v0 + v1)。
效果:function [VV, FF, S] = CC_subdivision(V, F, iter)% Catmull_Clark subdivisionif ~exist('iter','var')iter = 1;endVV = V;FF = F;for i = 1:iternv = size(VV,1);nf = size(FF,1);O = outline(FF);original = 1:nv;boundary = O(:,1)';interior = original(~ismember(original, boundary));no = length(original);nb = length(boundary);ni = length(interior);%% SvEtmp = sort([FF(:,1) FF(:,2);FF(:,2) FF(:,3);FF(:,3) FF(:,4);FF(:,4) FF(:,1)],2);[E, ~, idx] = unique(Etmp, 'rows');Aeven = sparse([E(:,1) E(:,2)], [E(:,2) E(:,1)], 1, no, no);Aodd = sparse([FF(:,1) FF(:,2)], [FF(:,3) FF(:,4)], 1, no, no);Aodd = Aodd + Aodd';val_even = sum(Aeven,2);beta = 3./(2*val_even);val_odd = sum(Aodd,2);gamma = 1./(4*val_odd);alpha = 1 - beta - gamma;Sv = sparse(no,no);Sv(interior,:) = ...sparse(1:ni, interior, alpha(interior), ni, no) + ...bsxfun(@times, Aeven(interior,:), beta(interior)./val_even(interior)) + ...bsxfun(@times, Aodd(interior,:), gamma(interior)./val_odd(interior));Sboundary = ...sparse([O(:,1);O(:,2)],[O(:,2);O(:,1)],1/8,no,no) + ...sparse([O(:,1);O(:,2)],[O(:,1);O(:,2)],3/8,no,no);Sv(boundary,:) = Sboundary(boundary,:);%% SfSf = 1/4 .* sparse(repmat((1:nf)',1 ,4), FF, 1);i0 = no + (1:nf)';%% Seflaps = sparse([idx;idx], ...[FF(:,3) FF(:,4);FF(:,4) FF(:,1);FF(:,1) FF(:,2);FF(:,2) FF(:,3)], ...1);onboundary = (sum(flaps,2) == 2);flaps(onboundary,:) = 0;ne = size(E,1);Se = sparse( ...[1:ne 1:ne]', ...[E(:,1); E(:,2)], ...[onboundary;onboundary].*1/2 + ~[onboundary;onboundary].*3/8, ...ne, ...no) + ...flaps*1/16;%% new faces & new verticesi1 = no + nf + (1:nf)';i2 = no + 2*nf + (1:nf)';i3 = no + 3*nf + (1:nf)';i4 = no + 4*nf + (1:nf)';FFtmp = [i0 i4 FF(:,1) i1; ...i0 i1 FF(:,2) i2; ...i0 i2 FF(:,3) i3; ...i0 i3 FF(:,4) i4];reidx = [(1:no)'; no+(1:nf)'; no+nf+idx];FF = reidx(FFtmp);S = [Sv; Sf; Se];VV = S*VV;endendLoop subdivision: Loop细分是⼀种三⾓形⽹格的细分法则,它按照1-4三⾓形分裂,每条边计算⽣成⼀个新的顶点,同时每个原始顶点更新位置。
第五章 三维实体网格划分
![第五章 三维实体网格划分](https://img.taocdn.com/s3/m/51d74f2d7375a417866f8fe7.png)
第五章三维实体网格划分本章讲述三维实体网格划分。
包括三部分内容:●生成四面体网格零件:对实体指定线性或者2次四面体网格。
●四面体网格填充器:通过从曲面网格生成四面体网格来对实体划分网格。
●扫描实体网格:通过从曲面网格生成六面体或者楔形网格对实体划分网格。
5.1 生成3D零件网格本节说明如何使用四面体网格划分方法生成3D网格。
在【Generative Structural Analysis】(通用结构分析)工作台和【Advanced Meshing Tools】(高级网格划分工具)工作台都有本命令。
根据用户安装的产品不同,显示的选项是不同的:●【Generative Structural Analysis】(通用结构分析)或者【FEM Surface】(曲面网格划分)系列产品。
●【FEM Solid】(有限元实体划分)系列产品。
5.1.1 【Generative Structural Analysis】(通用结构分析)或者【FEM Surface】(曲面网格划分)系列产品在通常的用户中,一般安装的是第一种情形。
在这种设置下,无论是在通用结构分析工作台还是高级划分工具工作台,定义3D网格的零件时,弹出的对话框只有两个选项卡。
(1)点击【Meshing Methods】(网格划分方法)工具栏内的【Octree Tetrahedron Mesher】(四面体网格划分器)按钮,如图5-1所示。
如果用户在【Generative Structural Analysis】(通用结构分析)工作台,则需要点击【Model Manager】工具栏内的【Octree Tetrahedron Mesher】(四面体网格划分器)按钮,如图5-2所示。
图5-1【Octree Tetrahedron Mesher】(四面体网格划分器)按钮图5-2(2)在图形区选择要划分网格的实体零件。
选择后弹出【OCTREE Tetrahedron Mesh】(四面体网格划分器)对话框,如图5-3所示。
三维网格模型分割的研究及其在人体测量中的应用
![三维网格模型分割的研究及其在人体测量中的应用](https://img.taocdn.com/s3/m/01cc0fd90875f46527d3240c844769eae009a3de.png)
三维网格模型分割的研究及其在人体测量中的应用三维网格模型分割的研究及其在人体测量中的应用摘要:在计算机科学领域中,三维网格模型分割是将3D模型分成各个独立的部分的过程。
现代科技中的三维扫描技术使得三维网格模型的获取变得越来越容易,因此三维网格模型分割也变得更加重要。
本文旨在探讨三维网格模型分割技术的研究进展,并着重讨论其在人体测量中的应用。
在本文中,我们将首先介绍三维网格模型分割的定义和研究背景,重点讨论三维网格模型分割算法的分类和性能指标。
然后,我们将深入探讨三维网格模型在人体测量中的应用,包括医学影像处理、虚拟现实和机器人定位导航等。
特别地,我们将详细讨论利用三维网格模型分割技术实现人体测量的方法和应用。
该论文所涉及的实验数据基于一个标准化的三维模型库,包含来自不同人群和不同种族的模型。
我们使用各类三维网格模型分割算法对这个模型库进行了实验比较,并得出了各个算法的优缺点。
结果表明,三维网格模型分割技术在人体测量中具有很好的应用潜力。
关键词:三维网格模型分割;人体测量;医学影像处理;虚拟现实;机器人定位导航。
I. 引言三维网格模型是用来描述物体表面的三维形状和纹理信息的一种数字化表示方法。
随着三维扫描技术的发展和基于三维网格模型的计算机应用的广泛应用,三维网格模型分割技术成为了一个热门研究课题。
三维网格模型分割是将三维网格模型分成各个独立的部分的过程,它是三维网格分析和应用中的一个核心问题。
分割后的每个部分都可以单独进行处理,并且可以对不同部分进行不同的操作,例如形状分析、局部纹理分析和对称性分析等。
本文旨在探讨三维网格模型分割技术的研究进展,并重点讨论其在人体测量中的应用。
II. 三维网格模型分割算法三维网格模型分割算法可以按照不同的分类方式进行划分,下面是主要的分类方法。
A. 基于图论的算法基于图论的算法将三维网格模型看做图的形式,将分割看做是图上的一个划分问题。
这种算法可以通过求解最小割问题实现。
三维网格表面的分层分割算法
![三维网格表面的分层分割算法](https://img.taocdn.com/s3/m/afbc66680b1c59eef8c7b498.png)
三 维 网格 表 面 的分 层 分割 算 法
严 京旗 , 施 鹏 飞
( 海 交通 大学 图像处理 与模 式识 别研究 所 . 海 2 03 ) 上 上 0 0 0
摘
要 :提 出 了 基 于 单 位 外 法 向 矢 量 空 间 的 分 层 表 面 网 格 分 剖 算 法 , 过 将 任 意 表 面 映 射 到 单 位 通
为 网 格 分 割 问 题 J由 具 有 , 意 义 的 相 互 连 接 的 . 定
类 内 所 有 三 角 形 进 行 辐 射 度 计 算 . 而 太 大 地 降 低 从 了计 算 复 杂 度 . 碰 撞 检 测 领 域 , e o e争 提 出 在 DRs
了分 层细 分 表 面 . 每 个细 分 表 面估 计 出相应 的 约 对 束 箱体 , 并将 之运 用 到衣服 动态模 拟 的碰撞检 测 中. Ma g n等 …将 分水 岭 算法 扩 展 到分 割 三 维 网格 表 na 面 . 出了基 于 曲率 的分水岭 表 面分 割算法. 提 本文 认 为 , 同图像 分 割 方法 中灰 度或 色 彩是 划 分 的重 要 如 依据 样 . 对于表 面分割 , 每个小 三角 形 ( 或多边 形 ) 的外 法矢 方 向是 划 分 的最基 本信 息. 为此 , 将表 面 s
映 射 到 外 法 向 单 位 矢 量 空 间 , 该 空 间 对 外 法 矢 在
面片 来表 示 三维 体 表 面 . 许 多 领域 具 有 广 泛 的应 在
用 . a g rs等 。 场 景 识 别 角 度 对 三 维 分 割 问 题 F u ea 从
进 行 了探 讨 , 用 与 基本 表 面 的 几何 匹 配 对 Ra g 运 ne d t 面进 行 了分割 和 分类 . r eo等 将 图像 分 aa表 T uc
三维网格分割的经典方法
![三维网格分割的经典方法](https://img.taocdn.com/s3/m/f1f8c744650e52ea54189816.png)
三维网格分割的经典方法摘要:本文针对三维网格分割问题,提出一个经典的方法。
该方法基于微分几何和测地距离。
在算法中,将面片类型相同的顶点分割在一起。
测地距离利用顶点之间的最短路径表示,这里可以利用一些经典的算法求最短路径,如Dijkstra 算法。
但是当网格的数量很多时,Dijkstra 算法的效率很低。
因此,此算法避免了在整个网格上应用最短路径算法,在局部网格中求最短路径,从而减少了计算量。
本文在人造物体的三维网格模型以及分子结构中验证了该方法的有效性。
关键字:几何算法 面片分割 测地距离简介3D 物体的三维网格表示法具有很多的应用。
例如,在图像分析中,表示利用深度图像重建的物体表面。
此外,在复杂物体和场景的建模和可视化中也有广泛的应用。
在网格面片的分析中,网格分割已经成为一个关注的问题。
网格分割也就是将网格上相互接近并且具有相似曲率的顶点分成一组。
网格分割在很多方面具有重要的应用。
特征提取,模型匹配等。
Mangan 和Whitaker 提出三维网格分割的分水岭算法。
Razdan 和Bae 扩展了此算法,将基于点元(voxel-based )和分水岭算法相结合,来分割三角网格。
这两种方法在分割中都需要计算整个曲率,然后在局部曲率最小处建立初始分割。
然而,在某些物体中,局部曲率的最小值是很难确定的。
因此,在这里提出一个初始分割的新方法。
在该算法中,应用基于面片的类型信息的网格区域增长方法,对顶点进行初始分割。
利用高斯曲率和平均曲率对顶点所在的面片进行分类。
这里利用离散微分几何计算高斯曲率和平均曲率。
通过本文提出的新方法来求得测地距离。
文章结构:第二部分,介绍网格面片的曲率分析和面片分类。
第三部分,详述本文的分割算法。
第四部分,实验以及其分割结果。
第五部分,结论。
2 面片分析在面片分析中,首先计算高斯曲率和平均曲率,然后利用它们进行面片分类。
顶点P 0的高斯曲率K 的计算公式如下:,A K θρ∆= ,∑-=∆i i 2θπθ ∑=ii A A , A 为相邻三角形T i ( i =1,2,3,…)的面积总和。
三维网格分割--基础知识
![三维网格分割--基础知识](https://img.taocdn.com/s3/m/5d1d9816964bcf84b9d57b5b.png)
三维网格分割经典聚类算法
模糊聚类分割算法:2003 年,Katz 等人提出了模糊聚类的层次分解算法,将 复杂模型进行由粗到精,得到分割片层次树,一层一层的处理,最终分割成边 界线平滑、有意义的若干个较为简单的部分。层次树的根表示整个网络模型 S。 在每个节点,首先确定需要进一步分割为更精细分割片的数目,然后执行个Kway 分割。优点:该算法可以得到有意义的部分子模型,且没有出现锯齿现象, 算法也不会产生过分分割效果。
W
F 2,1
N2 j 1
W , j 表示表示的第j个列向量W,
,h , j W WW h X h2
Xh
2 F
WhTWh
1,1
三维网格分割组合分割-亲和力聚合谱聚类
亲和力聚合谱聚类(AASC):寻求描述网格过分割面片多特征融合的亲和矩 阵,利用谱聚类算法对所有补丁块进行一致分割。
分割准 则
三维网格分割及其相关基本概念
表面测地线距离:是指三维模型的两个顶点在模型表面的最短距离,它不仅可以有 效的克服三维模型噪声的干扰,而且与三维模型的坐标系方向无关。但不易计算, 常用特征描述之间的欧氏距离代替。
欧几里德距离:两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离:
亲和力聚合谱聚类实现过程:
谱聚类划分数据到m个互不相交的类,寻找索引向量F f1, f2 , , fn ,满足
min W
f1 , , fn i, j
kij
fi , f j
2
F D W F
s.t. F DF 1 利用Lu Du = 1,2 , 令亲和矩阵相关权值为
5第五章 三维实体网格划分
![5第五章 三维实体网格划分](https://img.taocdn.com/s3/m/d7ffd30bfc4ffe473368abac.png)
第五章三维实体网格划分本章讲述三维实体网格划分。
包括三部分内容:●生成四面体网格零件:对实体指定线性或者2次四面体网格。
●四面体网格填充器:通过从曲面网格生成四面体网格来对实体划分网格。
●扫描实体网格:通过从曲面网格生成六面体或者楔形网格对实体划分网格。
5.1 生成3D零件网格本节说明如何使用四面体网格划分方法生成3D网格。
在【Generative Structural Analysis】(通用结构分析)工作台和【Advanced Meshing Tools】(高级网格划分工具)工作台都有本命令。
根据用户安装的产品不同,显示的选项是不同的:●【Generative Structural Analysis】(通用结构分析)或者【FEM Surface】(曲面网格划分)系列产品。
●【FEM Solid】(有限元实体划分)系列产品。
5.1.1 【Generative Structural Analysis】(通用结构分析)或者【FEM Surface】(曲面网格划分)系列产品在通常的用户中,一般安装的是第一种情形。
在这种设置下,无论是在通用结构分析工作台还是高级划分工具工作台,定义3D网格的零件时,弹出的对话框只有两个选项卡。
(1) 点击【Meshing Methods】(网格划分方法)工具栏内的【Octree Tetrahedron Mesher】(四面体网格划分器)按钮,如图5-1所示。
如果用户在【Generative Structural Analysis】(通用结构分析)工作台,则需要点击【Model Manager】工具栏内的【Octree Tetrahedron Mesher】(四面体网格划分器)按钮,如图5-2所示。
图5-1【Octree Tetrahedron Mesher】(四面体网格划分器)按钮图5-2(2) 在图形区选择要划分网格的实体零件。
选择后弹出【OCTREE Tetrahedron Mesh】(四面体网格划分器)对话框,如图5-3所示。
HyperMesh 3D单元网格划分
![HyperMesh 3D单元网格划分](https://img.taocdn.com/s3/m/04b7db49852458fb770b566f.png)
基于HyperMesh实体单元网格划分运用HyperMesh 中的3D 实体单元网格划分的多种功能,介绍了几种典型几何特征的划分思路,为以后进行类似网格划分工作提供参考,同时也验证了HyperMesh 在划分实体网格方面的强大功能。
1 概述计算机辅助工程(CAE)在汽车行业应用已有很多年了,许多有限元理论及软件都得到了成熟运用。
在众多软件中美国 Altair公司的HyperMesh是其中的佼佼者。
像在板壳单元、实体单元、焊接单元等的创建,以及与其它软件的接口等方面,都能表现出良好的性能。
其中尤其是在实体单元的划分方面有其独特的优势,以下将通过几个比较典型的实例来详细说明,同时也可以为以后再进行类似工作提供解决思路。
2 实例描述2.1 座椅垫实体几何的网格划分本例将通过一套座椅垫实体网格划分来介绍在HyperMesh8.0中新增加的处理实体几何的功能。
如图1所示是一套座椅垫,原始几何只有外表面的一层壳几何,而且几何形状也不规则,在以前不能处理实体几何的时候,一般处理方法是首先几何清理,然后通过添加一些辅助面构成封闭壳体,再根据经验把大块儿体分成相对较规则的若干小块儿,最后可以运用3D子面板中的Solid map-general或Linear solid 等工具先把各个小块儿划分网格,然后再把各个小块缝合到一起。
这样做的不足是一方面需要做大量的辅助面,另一方面在划分各个小块儿时需要考虑最后缝合时的节点对应问题。
通过观察几何模型发现,虽然座椅垫几何形状不规则,但它没有局部突出或相贯的几何特征,所以可以考虑把板壳几何封闭后生成实体几何,再通过几何清理后得到如图2所示的几何体,运用3D子面板中的Solid map- volume工具,设置好相关参数后就可以自动划分出以六面体为主五面体为辅的实体网格。
而且软件自动划分的网格能够完全与几何贴合,网格质量还比较好,只需稍微调整一下后就可以全部达到网格质量要求。
现在整个过程所花费的时间比以前要节省70%以上。
ANSYS各种网格划分方法
![ANSYS各种网格划分方法](https://img.taocdn.com/s3/m/9eebda61492fb4daa58da0116c175f0e7cd119a2.png)
ANSYS各种网格划分方法1. 三角剖分法(Triangular Meshing):三角剖分法是一种常见的二维网格划分方法,它将几何体分割成一系列的三角形单元。
在ANSYS中,可以使用自动网格划分工具或手动方式进行三角剖分。
自动网格划分工具会根据所选几何体的复杂程度自动生成合适的三角形网格。
手动方式允许用户通过在几何体上添加特定的边界条件和限制条件来控制网格划分过程。
2. 四边形网格法(Quadrilateral Meshing):四边形网格法是一种常用的二维网格划分方法,它将几何体划分成一系列的四边形单元。
与三角形网格相比,四边形网格具有更好的数值特性和简化后处理的优势。
在ANSYS中,使用四边形网格法可以通过自动网格划分工具或手动方式进行划分。
3. 符号表示(Sweeping):符号表示是一种常用的三维网格划分方法,它通过将二维几何体沿特定方向移动来创建三维几何体的网格。
在ANSYS中,可以使用自动网格划分工具或手动方式进行符号表示。
自动网格划分工具可以根据选择的几何体自动生成符号表示网格。
手动方式允许用户根据需要指定几何体的边界条件和限制条件。
4. 细化网格法(Refinement):细化网格法是一种常用的网格划分方法,它通过逐步细化初步生成的网格来提高网格质量和分析精度。
在ANSYS中,用户可以通过自动细化工具或手动方式进行网格细化。
自动细化工具会根据预设的条件和几何体特征进行自动细化。
手动方式允许用户根据需要在特定区域添加额外的网格细化操作。
5. 自适应网格法(Adaptive Meshing):自适应网格法是一种根据分析需求自动调整网格划分的方法。
在ANSYS中,自适应网格法可以根据解的梯度、误差估计或特定的物理现象进行自动网格调整。
该方法可以显著减少有限元计算中的计算量,提高求解效率和准确性。
总结:ANSYS提供了多种网格划分方法,包括三角剖分法、四边形网格法、符号表示、细化网格法和自适应网格法。
5.2.3D网格的划分
![5.2.3D网格的划分](https://img.taocdn.com/s3/m/8c2dbcf90242a8956bece404.png)
3D网格的划分例一,这个例子主要讲的是模型的拆分技巧和方法,以及一些划分3D网格的方法。
在一般情况下都要讲模型进行拆分,否则是不能进行划分的。
1,划分网格前个几何整理1,调入几何模型,qtrpisp.igs,如下图2,点击Geom页面下的lines面板3,进入create line字面板,作如下的一条直线4,点击return,退出这个面板5,点击Geom页面下的surface edit面板6,进入trim with line子面板,点击黄色的surf键选择下图中的三个面7,点击黄色的lines键,选择刚刚制作的那条线8,在sweep trim lines下面的指针中选择,along a vector9,在to trim through下面的指针中选择entire surface10,在下面的选择集中选择,z-axis,点击trim,结果如下在选择的三个面中出现绿色的线,这三个面被拆分11,同样在这个子面板中,surfs选择下图中的面,12,点击黄色的lines,选择下图中的线结果如下13,仍然在trim with lines 子面板中,surfs选择下图中的面线选择下图中的线,在sweep trim lines下面的指针中选择norm to surface点击trim,结果如下。
14,用同样的方法,将下面的面切开,过程和结果如下。
15,点击进入surface edit面板下面的trim with nodes子面板,分割如下的面点击两个端点,结果如下2,开始划分网格1,点击进入collcetors面板,创建以下几个compShell_1,shell_2,shell_3,shell_4,solid_1solid_2,solid_3,solid_4,分别赋予相应的颜色1,1对下面的划分有两种方法,下面是第一种方法1,点击进入2D页面下的automesh,面板2,进入create mesh子面板,在旁边的选择集中选择surf,点击下图中的面点击mesh,3,在elements size=后面的输入框中,输入2.5,点击左边的reclae all,点击mesh 4,点击图中的中子数,左键点击为加,右键点击为减,结果如下图5,点击return,形成网格1.2划分的第二种方法1,点击进入永久菜单中的global面板,使shell_1成为当前comp2,点击进入Geom 页面下的surface edet面板3,进入trim with nodes子面板,将曲面分成如下的三部分4,点击进入2D页面下的spline面板,使用mesh ,w/o,surf,创建如下的网格(如果一边的种子点很少,一边很多的话,就用鼠标左键按住种子点向上拖是增加,向下拖是减少)划分完之后比较两者的优劣(以下接第二种方法)6,点击进入Geom页面下的distance面板,测量一下图中的线的距离图中的线的距离为7.57,点击永久菜单中的global面板,在element size=后面的输入框中输入2,点击return 退出这个面板8,点击Geom页面下的geom cleanup面板,在左边的子面板中选edges,在下面的三个子面板中选则toggele,(大家也可以试试跳过这一步,看看结果)9,点击途中的两条线,这两条线变成蓝色,被抑制10,使solid_1为当前的comp11,点击3D页面下的solid map面板12,在source geom.的选择集中选在surf,点击网格所在的面13,在destination geom.的选择集中选择lines,点击图中的几条线,along geom选择none,elem选择shell_1的网格14,点击mesh结果如下15,点击这个面板右下角的equiv/faces键,结果如下16,点击disp观察生成的faces comp17,点击organize面板,选择底面上的网格,移到shell_2中18,删掉faces这个comp结果如下19,进入3D页面下的solid map面板,在source geom.的选择集中选择包围shell_2的几条边线,在destination geom.的选择集中选择底面,along geom.选择none,elems 选择shell_2,在density=后面的输入框中输入5,生成如下的网格(设置也如下图)20,删掉shell_2 的网格,但不要删掉shell_2这个comp21,使shell_2成为当前的comp,创建如下的网格21,创建网格,当前comp为shell_3,如下图22,点击进入3D面板中的solid map面板,创建如下的网格23.1在下图的面上创建如下的网格(从这步起可以有两种方法)方法一2,点击3D页面下的spin面板3,进入spin elems子面板,选择刚才创建的elems4,在下面的方向选择器中,选择y-axis,base点选择外圆的圆心点,在angle后面的输入框中输入90,on spin=后面的输入框中输入26,点击spin+,结果如下图可以使用line drag,方法如下:1,点击3D面板下面的line drag面板,进入drag elems子面板,drag后面的elems按键高亮,选择shell_42,点击along旁边的line list按键,选择一条圆周线,如下图在on drag=后面的输入框中输入26,点击drag,如果如下这两种方法虽然可以做出来网格,但是在圆心的部分的网格的质量很差,如下图所以在圆心的部分不用这样的方法,看另外一种方法。
网格划分的几种基本处理方法
![网格划分的几种基本处理方法](https://img.taocdn.com/s3/m/0e8a7ff09e31433238689307.png)
网格划分的几种基本处理方法贴体坐标法:贴体坐标是利用曲线坐标,并使其坐标线与燃烧室外形或复杂计算区域边界重合,这样所有边界点能够用网格点来表示,不需要任何插值。
一旦贴体坐标生成通过变换,偏微分方程求解可以不在任意形状的物理平面上,而在矩形或矩形的组合(空间问题求解域为长方体或它们的组合)转换平面上进行。
这样计算与燃烧室外形无关,也与在物理平面上网格间隔无关。
而是把边界条件复杂的问题转换成一个边界条件简单的问题;这样不仅可避免因燃烧室外形与坐标网格线不一致带来计算误差,而且还可节省计算时间和内存,使流场计算较准确,同时方便求解,较好地解决了复杂形状流动区域的计算,在工程上比较广泛应用。
区域法:虽然贴体坐标系可以使坐标线与燃烧室外形相重合,从而解决复杂流动区域计算问题。
但有时实际流场是一个复杂的多通道区域,很难用一种网格来模拟,生成单域贴体网格,即使生成了也不能保证网格质量,影响流场数值求解的效果。
因此,目前常采用区域法或分区网格,其基本思想是,根据外形特点把复杂的物理域或复杂拓扑结构的网格,分成若干个区域,分别对每个子区域生成拓扑结构简单的网格。
由这些子区域组合而成的网格,或结构块网格。
对区域进行分区时,若相邻两个子域分离边界是协调对接,称为对接网格;若相邻两子域有相互重叠部分,则此分区网格称为重叠网格。
根据实际数值模拟计算的需要,把整个区域(燃烧室)分成几个不同的子区域,并分别生成网格。
这样不仅可提高计算精度,而且还可节省计算机内存,提高收敛精度。
但是计算时,必须考虑各区域连接边界处耦合以及变量信息及时、准确地传递问题。
处理各个区域连接有多种方法,其中一个办法是在求解各变量时各区域可以单独求解若干次而对压力校正方程.设压力校正值在最初迭代时为零,为了保证流量连续各个区域应同时求解,然后对各个速度和压力进行校正。
或者采用在两个区域交界处有一个重叠区,两个区域都对重叠区进行计算,重叠区一边区域内的值,要供重叠区另一边区域求解时用。
三维网格分割--基础知识汇总
![三维网格分割--基础知识汇总](https://img.taocdn.com/s3/m/210b8f79ce2f0066f53322af.png)
刚性:物体外部形状不随着移动等外界因素发生变化(如平移、旋转) 非刚性:物体会在外界因素的影响下形状发生变化(如缩放) 鲁棒性(robustness):即稳健性,表征控制系统对特性或参数摄动的不敏感性。
区均域值生漂长移法(:MS选):定通不过同迭区代域搜的索种特子征元空素间(中如样顶本点点、最三密角集曲的面区片域信,息搜等索)点,沿然 后着在样种本子点区密域度的增周加围的根方据向一漂定移的到生局长部规密则度进最行大区点域。生优长点,:直该到方覆法盖完整全个依区靠域 为特止征。空优间点中:的思样想本简点单进,行实分现析速,度无快需;先缺验点知:识易,产收生敛过速分度割快。。
H
min F Wh Pcons W1,W2, ,WH
W1 , ,WH h1
s.t. Wh 0 diag Wh 0, h 1, 2, , H
其中:Pcons W1,W 2,
,WH
W W
2,1
1,1
单特征组合分 割W:1 求11解亲W和1矩1阵2 可转化为W如1 下N 2优化问 题:
三维网格分割及其相关基本概念
相似性
度量 分
割
的
特征选
一 般
择
分割算 法选取
过
程
结果验 证
分割准 则
三维网格分割及其相关基本概念
表面测地线距离:是指三维模型的两个顶点在模型表面的最短距离,它不仅可以有
效的克服三维模型噪声的干扰,而且与三维模型的坐标系方向无关。但不易计算, 常用特征描述之间的欧氏距离代替。
[整理版]patran三维无限元网格划分实例
![[整理版]patran三维无限元网格划分实例](https://img.taocdn.com/s3/m/85d3b05cb52acfc789ebc975.png)
[整理版Ipatran三维无限元网格划分实例课程8.另一种U形夹的三维有限元网格目的:,用链接生成一条曲线。
,生成一个修剪表面。
,用表面网格延伸成体单元。
,使用有限元转化操作。
模型描述:在本练习中,将生成如下图所示的U形夹儿何模型。
它山一个简单表面和一个平面修剪面构成。
首先,在表面上生产四边形网格,然后由这些网格经延伸生成体单元。
最后转化这些单元,完成模型。
建议的练习步骤:,生成新数据库并命名deja_vu. dbo设置近似最大模型尺寸为8单位,用MSC/NASTRAN作为分析代码。
,生成一个表面来定义U形夹的主体,用线来定义孔的内、外表面边界。
,链接外部曲线产生一个连续的环,用曲线定义孔并产生第二条环。
,用外环产生一个修剪面并产生“孔洞”。
,用相同网格来划分简单表面的网格,用平铺网格来划分修剪面的网格。
然后按U形夹各部分的厚度来拉伸网格。
,转换孔区域的网格,最后完成U形夹有限元模型。
练习过程:1.生成新数据库并命名deja_vu. dbo设置近似最大模型尺寸为8单位,用MSC/NASTRAN作为分析代码。
File/New DatabaseNew Database Name deja_vu. dbOKNew Model PreferenceTolerance Based on Model Approximate Maximum 8 Model Dimension:Analysis Code: MSC/NASTRANOK2.生成一个表面来定义U形夹的主体,用线来定义孔的内、外表面边界。
生成笫一个表面,将用来构成U形夹的主体。
GeometryAction: Create Object: Surface Method: XYZ Vector Coordinate List: <4, 4, 0 >Apply将在总体坐标系下产生一个4X4的正方形平面。
接着,定义U形夹的其余界,首先是孔。
Action: Create Object: CurveMethod: Revolve孔中心位置是X=6, Y二2。
三维网格模型的分割及应用技术综述
![三维网格模型的分割及应用技术综述](https://img.taocdn.com/s3/m/3bb9169451e79b89680226d9.png)
第17卷第8期2005年8月计算机辅助设计与图形学学报JOURNAL OF COMPU TER 2AIDED DESIGN &COMPU TER GRAPHICSVol 117,No 18Aug 1,2005 收稿日期:2004-03-09;修回日期:2004-07-08 基金项目:国家“八六三”高技术研究发展计划重点项目(2001AA231031,2002AA231021);国家重点基础研究发展规划项目(G1998030608);国家科技攻关计划课题(2001BA904B08);中国科学院知识创新工程前沿研究项目(20006160,20016190(C ))三维网格模型的分割及应用技术综述孙晓鹏1,2) 李 华1)1(中国科学院计算技术研究所智能信息处理重点实验室 北京 100080)2(中国科学院研究生院 北京 100039)(xpsun @ict 1ac 1cn )摘要 对三维网格模型分割的定义、分类和应用情况做了简要回顾,介绍并评价了几种典型的网格模型分割算法,如分水岭算法、基于拓扑和几何信息的分割算法等;同时,对网格分割在几种典型应用中的研究工作进行了分类介绍和评价1最后对三维分割技术今后的发展方向做出展望1关键词 分割Π分解;三维分割;形状特征;网格模型中图法分类号 TP391A Survey of 3D Mesh Model Segmentation and ApplicationSun Xiaopeng 1,2) Li Hua 1)1(Key L aboratory of Intelligent Inf ormation Processi ng ,Instit ute of Com puti ng Technology ,Chi nese Academy of Sciences ,Beiji ng 100080)2(Graduate School of the Chi nese Academy of Sciences ,Beiji ng 100039)Abstract In this paper ,we present a brief summary to 3D mesh model segmentation techniques ,includ 2ing definition ,latest achievements ,classification and application in this field 1Then evaluations on some of typical methods ,such as Watershed ,topological and geometrical !method ,are introduced 1After some ap 2plications are presented ,problems and prospect of the techniques are also discussed 1K ey w ords segmentation Πdecomposition ;3D segmentation ;shape features ;mesh model1 引 言基于三维激光扫描建模方法的数字几何处理技术,继数字声音、数字图像、数字视频之后,已经成为数字媒体技术的第四个浪潮,它需要几何空间内新的数学和算法,如多分辨率问题、子分问题、第二代小波等,而不仅仅是欧氏空间信号处理技术的直接延伸[1]1在三维网格模型已成为建模工作重要方式的今天,如何重用现有网格模型、如何根据新的设计目标修改现有模型,已成为一个重要问题1网格分割问题由此提出,并成为近年的热点研究课题[223]12 网格分割概述三维网格模型分割(简称网格分割),是指根据一定的几何及拓扑特征,将封闭的网格多面体或者可定向的二维流形,依据其表面几何、拓扑特征,分解为一组数目有限、各自具有简单形状意义的、且各自连通的子网格片的工作1该工作被广泛应用于由点云重建网格、网格简化、层次细节模型、几何压缩与传输、交互编辑、纹理映射、网格细分、几何变形、动画对应关系建立、局部区域参数化以及逆向工程中的样条曲面重建等数字几何处理研究工作中[223]1同时,三维网格模型的局部几何拓扑显著性也是对三维网格模型进行检索的一种有效的索引[4]1与网格曲面分割有关、并对其影响巨大的一个早期背景工作是计算几何的凸分割,其目的是把非凸的多面体分解为较小的凸多面体,以促进图形学的绘制和渲染效率1该工作已经有了广泛的研究,但多数算法难以实现和调试,实际应用往往不去分割多面体,而是分割它的边界———多边形网格1多面体网格边界的分割算法有容易实现、复杂形体输出的计算量往往是线性的等优势[5]1另外一个早期背景工作是计算机视觉中的深度图像分割,其处理的深度图像往往具有很简单的行列拓扑结构,而不是任意的,故其分割算法相对简单[6]1三维网格模型的分割算法一般是从上述两类算法推广而来1心理物理学认为:人类对形状进行识别时,部分地基于分割,复杂物体往往被看作简单的基本元素或组件的组合[728]1基于这个原理,Hoffman 等[9]于1984年提出人类对物体的认知过程中,倾向于把最小的负曲率线定义为组成要素的边界线,并据此将物体分割为几个组成要素,即视觉理论的“最小值规则”1由此得到的分割结果称为“有意义的”分割,它是指分割得到的子网格必须具有和其所在应用相关的相对尺寸和组织结构1由于曲率计算方法不同,很多算法给出的有意义的分割结果也存在差异1诸多应用研究[10214]证明,网格模型基于显著性特征的形状分割,是物体识别、分类、匹配和跟踪的基本问题1而有意义的分割对于网格模型显著占优特征的表示和提取、多尺度的存储和传输以及分布式局部处理都是十分有意义的1211 网格分割的发展较早的三维网格分割工作可以追溯到1991年,Vincent 等[15]将图像处理中的分水岭算法推广到任意拓扑连接的3D 曲面网格的分割问题上11992年,Falcidieno 等[16]按照曲率相近的原则,把网格曲面分割为凹面片、凸面片、马鞍面片和平面片11993年,Maillot 等[17]将三角片按法向分组,实现了自动分割;1995年,Hebert 等[18]给出了基于二次拟合曲面片的曲率估计方法,并把区域增长法修改推广应用到任意拓扑连接的网格曲面分割问题中;1995年,Pedersen [19]和1996年Krishnamurthy 等[20]在他们的动画的变形制作过程中,给出了用户交互的分割的方法11997年,Wu 等[3]模拟电场在曲面网格上的分布,给出了基于物理的分割方法;1998年Lee 等[21]和2000年Guskov 等[22]给出了几个对应于简化模型的多分辨率方法;1999年Mangan 等[2]使用分水岭算法实现网格分割,并较好地解决了过分割问题;2001年,Pulla 等[23224]改进了Mangan 的曲率估计工作;1999年,Gregory 等[25]提出一个动画设计中的交互应用,根据用户选择的特征点将网格曲面分割为变形对应片;1999年,Tan 等[26]基于顶点的简化模型建立了用于碰撞检测的、更紧致于网格曲面分割片的层次体包围盒12000年,Rossl 等[27]在逆向工程应用中,在网格曲面上定义了面向曲率信号的数学形态学开闭操作,从而得到去噪后的特征区域骨架,并实现了网格分割;2001年,Yu 等[28]的视觉系统自动将几何场景点云分割为独特的、用于纹理映射和绘制的网格曲面片二叉树;Li 等[29]为了碰撞检测,给出了基于边收缩得到描述几何和拓扑特征的骨架树,然后进行空间扫描自动分割;Sander 等[30]使用区域增长法,按照分割结果趋平、紧凑的原则分割、合并分割片1所有这些方法都是为了使分割的结果便于参数化,即只能产生凸的分割片1由此产生边界不连续的效果12002年,Werghi 等[31]识别三维人体扫描模型的姿态,根据人体局部形状索引进行网格模型的分割;Bischoff 等[32]和Alface 等[33]分别给出了网格分割片光谱在几何压缩和传输中的应用;Levy 等[34]在纹理生成工作中,以指定的法向量的夹角阈值对尖锐边滤波,对保留下来的边应用特征增长算法,最后使用多源Dijkstra 算法扩张分割片实现了网格模型的分割;2003年,Praun 等[35]将零亏格网格曲面投影到球面上,然后把球面投影到正多面体上得到与多面体各面对应的网格模型分割,最后将多面体平展为平面区域以进行参数化,但其结果不是有意义的分割1212 网格分割的分类早期的网格分割算法多为手工分割或者半自动分割,近两年出现了基于自动分割的应用工作1从网格模型的规则性来看,可将分割算法分为规则网格分割、半规则网格分割和任意结构的网格分割算法,根据分割结果可以分为有意义的分割和非有意义的分割1同时,面向不同的应用目标出现了不同的分割策略(见第4节)1目前,网格分割的质量指标主要有三个方面:边界光顺程度、是否有意义、过分割处理效果1多数分8461计算机辅助设计与图形学学报2005年割算法以边界光顺为目标,采用的方法有在三角网格上拟合B样条曲面然后采样[20],逼近边界角点(两个以上分割片的公共顶点)间的直线段[30]等1近年来多数分割算法都追求产生有意义的分割结果1对于过分割的处理方法目前主要有忽略、合并和删除三种方式1多数三维网格分割算法是从二维图像分割的思想出发,对图像分割算法作三维推广得到其三维网格空间的应用1如分水岭算法[2,15,23224,36239]、K2 means算法[40]、Mean2shift算法[41]以及区域增长算法[18,30]等1同样,与图像处理问题类似,光谱压缩[33,42243]、小波变换[31]等频谱信息处理方法在三维网格分割中也有算法1除此之外,同时考虑几何与拓扑信息的分割会产生较好的结果1这方面的工作主要有基于特征角和测地距离度量[44]、基于高斯曲率平均曲率[45247]、基于基本体元[32]、基于Reeb图[48250]、基于骨架提取和拓扑结构扫描[27,29,51252]等使用三维网格曲面形状特征的算法1作为网格模型的基础几何信息,曲率估计方法目前主要为曲面拟合、曲线拟合以及离散曲率等三种1其中曲面拟合法较为健壮,但是计算量大;离散曲率法计算量小,但是除个别算法外都不是很健壮,且无主方向主曲率信息;曲线拟合的曲率估计方法则集中了上述两种方法的优势[3],实际研究中使用较多13 典型三维网格分割算法311 分水岭算法1999年,Mangan等[2]的工作要求输入的是三角网格曲面,以及任何一种可以用来计算每个顶点曲率的附加信息(如曲面法向量等),并针对体数据和网格数据给出了两种曲率计算方法;但是分水岭算法本身和曲率的类型无关1首先,计算每个顶点的曲率(或者其他高度函数),寻找每个局部最小值,并赋予标志,每一个最小值都作为网格曲面的初始分割;然后,开始自下而上或者自上而下地合并分水岭高度低于指定阈值的区域,有时平坦的部分也会得到错误的分割,后处理解决过分割问题1分割为若干简单的、无明确意义的平面或柱面,属于非有意义的分割1Rettmann等[36237]结合测地距离,并针对分水岭算法的过分割给出一个后处理,实现了MRI脑皮层网格曲面的分割12002年,Marty[38]以曲率作为分水岭算法的高度函数,给出了有意义的分割结果1 2003年,Page等[39]的算法同样只分割三角网格,依据最小值规则,他们试图得到网格模型高层描述1其主要贡献为:创建了一个健壮的、对三角网格模型进行分割的贪婪分水岭法;使用局部主曲率定义了一个方向性的、遵循最小值规则的高度图;应用形态学操作,改进了分水岭算法的初始标识集1文献[39]在网格的每一个顶点计算主方向和主曲率,根据曲率阈值,使用贪婪的分水岭算法分割出由最小曲率等高线确定的区域1形态学的开闭操作应用于网格模型每个顶点的k2ring碟状邻域,闭操作会连接空洞,而开操作会消除峡部1创建了标识集后,依据某顶点与其邻接顶点之间的方向,由欧拉公式和已知主曲率计算该顶点在该方向上的法曲率从而得到在该方向上、该顶点与邻接顶点之间的方向曲率高度图,并将其作为方向梯度1对该顶点所在的标识区域使用分水岭算法得到分割片1上述工作表明,分水岭算法在改进高度函数的定义后,可以得到有意义的分割效果1312 基于拓扑信息的网格分割基于几何以及拓扑信息的形状分割方法可以归结为Reeb图[50]、中轴线[52]和Shock图[53254]等1基于拓扑信息的形状特征描述主要有水平集法[55]和基于拓扑持久性的方法[56]11999年,Lazarus等[51]提出从多面体顶点数据集提取轴线结构,在关键点处分割网格的水平集方法,如图1所示1这种轴线结构与定义在网格模型顶点集上的纯量函数关联,称之为水平集图,它能够为变形和动画制作提供整体外形和拓扑信息1图1 人体网格模型及其水平集图文献[51]针对三角剖分的多面体,使用与源点之间的最短路径距离作为水平集函数,基于Dijkstra 算法构造记录水平集图的结构树,其根结点、内部结点和叶子分别表示源点、水平集函数的鞍点和局部最大值点1该工作可以推广到非三角网格模型1 2001年,Li等[29]基于PM算法[57]的边收缩和94618期孙晓鹏等:三维网格模型的分割及应用技术综述空间扫掠,给出了一个有效的、自动的多边形网格分割框架1该工作基于视觉原理,试图将三维物体分割为有视觉意义和物理意义的组件1他们认为三维物体最显著的特征是几何特征和拓扑特征,由此,定义几何函数为扫掠面周长在扫掠结点之间的积分为骨架树中分支的面积;定义拓扑函数为相邻两个扫掠面拓扑差异的符号函数,并定义了基于微分几何和拓扑函数的关键点1文献[29]首先基于PM算法将每条边按照其删除误差函数排序,具有最小函数值的边收缩到边中点,删除其关联的三角形面片;如果某边没有关联任何三角片则指定为骨架边,保持其顶点不变;循环上述过程,得到一个新的、通过抽取给定多边形网格曲面骨架的方法1其次,加入虚拟边连接那些脱节的骨架边,称这些虚拟边以及原有的骨架边组成的树为骨架树,即为扫掠路径1扫掠路径为分段线条1然后,定义骨架树中分支面积(扫掠面周长函数在扫掠结点之间的积分),分支面积较小的首先扫掠,以保证小的、但是重要的分割片被首先抽取出来,以免被其他较大的分割片合并1最后,沿扫掠路径计算网格的几何、拓扑函数的函数值1一旦发现几何函数、拓扑函数的关键点,抽取两个关键点之间的网格曲面得到一个新的分割片1整个过程无需用户干涉12003年,Xiao等[48249]的工作基于人体三维扫描点云的离散Reeb图,给出了三维人体扫描模型的一个拓扑分割方法:通过探测离散Reeb图的关键点,抽取表示身体各部分的拓扑分支,进而进行分割1水平集法具有较高的计算速度和健壮的计算精度1基于拓扑持久性的方法结合代数学,能更准确地计算形状特征,但是没有解决分割问题[55256]1 313 基于实体表示的网格分割2002年,Bischoff等[32]把几何形状分割为表示其粗糙外形的若干椭球的集合,并附加一个独立的网格顶点的采样集合来表示物体的细节1生成的椭球完全填充了物体的内部,采样点就是原始的网格顶点1该方法的步骤如下:Step11首先,在物体原始网格的每一顶点上生成一个椭球,或者随机在物体原始网格上采样选择种子点;每个种子点作为球面上的一个顶点,沿该点的网格法向做球面扩展,直至与网格上另外一个顶点相交;然后沿此两点的垂直方向将球面扩张为最大椭球,直至与第三个网格顶点相交;最后沿此三点平面的法向(即该三点所在平面的柱向)扩张,直至与第四个网格顶点相近,由此得到一个椭球1Step21对生成的椭球进行优化选择,体积最大的椭球首先被选中,以后每一次都将选出对累计体积贡献最大的椭球1如果有若干体积累计贡献相近的椭球同时出现的情况发生,则最小半径最短的椭球被选出1为了简化体积累计贡献的计算,对椭球体素化后计算完全包含在椭球内的体素的数目进行堆排序1发送方传送选出的椭球集合;接收方得到包含基本几何和拓扑信息的椭球集合后,使用Marching Cubes算法或者Shrink2wrapping算法抽取0等值面1显然即使部分椭球丢失,工作依然可以继续:因为椭球是互相重叠的,抽取等值面不影响它们的拓扑关系,而且如果重叠充分,丢失少部分椭球不会影响重要形状信息的重构1如图2所示1图2 以不同数目椭球表示的网格分割Step31在生成很好地逼近原始物体的初始网格后,开始将采样点(即原始网格顶点)插入网格[58]1为了提高最终重构结果的质量,由Marching Cubes算法生成的临时网格顶点在网格原始顶点陆续到来后,最终被删除,因为它们不是物体的原始顶点1314 基于模糊聚类的层次分解2003年,Katz等[44]提出了模糊聚类的层次分解算法,算法处理由粗到精,得到分割片层次树1层次树的根表示整个网格模型S1在每个结点,首先确定需要进一步分割为更精细分割片的数目,然后执行一个k2way分割1如果输入的网格模型S由多个独立网格构成,则分别对每个网格进行同样的操作1分割过程中,算法不强调每个面片必须始终属于特定的分割片1大规模网格模型的分割在其简化模型上进行,然后将分割片投影到原始网格模型上,在不同的尺度下计算分割片之间的精确边界1文献[44]算法优点是:可以对任意拓扑连接的或无拓扑连接的、可定向的网格进行处理;避免了过分割和边界锯齿;考虑测地距离和凸性,使分割边界通过凹度最深的区域,从而得到有意义的分割结果1分割结果适用于压缩和纹理映射14 三维网格分割应用411 三维检索中的网格分割算法在三维VRML数据库中寻找一个与给定物体0561计算机辅助设计与图形学学报2005年相似的模型的应用需求,随着WWW的发展正变得越来越广泛,如计算生物学、CAD、电子商务等1形状描述子和基于特征的表示是实体造型领域中基本的研究问题,它们使对物体的识别和其他处理变得容易1因为相似的物体有着相似的分割,所以分割结构形状描述子可以用于匹配算法1中轴线、骨架等网格模型拓扑结构的形状描述子在三维模型检索中也得到研究,它可以从离散的体数据以及边界表示数据(网格模型)中抽取出来1对于后者,目前还没有精确、有效的结果[39]1但我们相信,依据拓扑信息进行分割得到的分布式形状描述子也是一种值得尝试的三维模型检索思路1 2002年,Bischoff等[32]提出从椭球集合中得到某种统计信息,如椭球半径的平均方差或者标准方差,以及它们的比率,由于这些统计信息在不同的形状修改中都保持不变,作为一种检索鉴别的标识的想法1但是没有严格的理论或者实验结果证明1 2002年,Zuckerberger等[59]在一个拥有388个VRML三维网格模型的数据库上,进行基于分割的变形、简化、检索等三个应用1首先将三维网格模型分割为数目不多的有意义的分割片,然后评价每一个分割片形状,确定它们之间的关系1为每个分割建立属性图,看作是与原模型关联的索引,当数据库中检索到与给定网格模型相似的物体时,只是去比较属性图相似的程度1属性图与其三维模型的关联过程分为三步:(1)分割网格曲面为有限数目的分割片;(2)每一个分割片拟合为基本二次曲面形状;(3)依据邻接分割片的相对尺寸关系进行过分割处理,最后构造网格曲面模型的属性图1对分割片作二次拟合,由此产生检索精确性较差的问题;分割片属性图的比较采用图同构的匹配方法,计算量较大,且是一个很困难的问题;从其实验结果看,有意义的分割显然还不够,出现飞机、灯座等模型被检索为与猫相似的结构;区分坐、立不同的人体模型效果显然也很差等12003年,Dey等[4]基于网格模型的拓扑信息,给出了名为“动力学系统”的形状特征描述方法,并模拟连续形状定义离散网格形状特征1实验表明该算法十分有效地分割二维及三维形状特征1他们还给出了基于此健壮特征分割方法的形状匹配算法1 412 几何压缩传输中的网格分割健壮的网格模型压缩传输方法必须保证即使部分几何信息丢失,剩下的部分至少能够得到一个逼近原始物体的重构,即逼近的质量下降梯度,要大大滞后于信息丢失梯度1无论是层次结构的还是过程表示的多边形网格模型,它们的缺陷是:严格的拓扑信息一致性要求1顶点和面片之间的交叉引用导致即使在传输中丢失了1%的网格数据,也将导致无法从99%的剩余信息里重建网格曲面的任何一部分1对此可以考虑引入高度的冗余信息,即使传输中丢失一定额度的数据,接收方依然可以重构大部分的几何信息1问题的关键是将几何体分割为相互独立的大块信息,如单个点,这样接收方可以在不依赖相关索引信息的情况下,重构流形的邻域关系1为了避免接收方从点云重构曲面的算法变得复杂,早期的健壮传输方法总假设至少整体拓扑信息可以无损地传送1一旦知道了粗糙的形状信息,接收方可以插入一些附加点生成逼近网格12002年,Bischoff等[32,58]在网格分割工作中将每个椭球互相独立地定义自己的几何信息1由于椭球的互相重叠,冗余信息由此产生,因此如果只有很少的椭球丢失,网格曲面的拓扑信息和整体形状不会产生变化1冗余信息不会使存储需求增加,因为每个椭球和三角网格中每个顶点一样,只需要9个存储纯量1其传送过程如下:种子点采样生成椭球集合;传送优化选择的椭球子集;接收方抽取等值面重构逼近网格;以陆续到来的原始网格顶点替换临时网格顶点11996年,Taubin等[42]首先在几何压缩处理中提出光谱压缩,其工作在三维网格模型按如下方式应用傅里叶变换:由任意拓扑结构的网络顶点邻接矩阵及其顶点价数,得到网格Laplacian矩阵的定义及由其特征向量构成的R n空间的正交基底,相对应的特征值即为频率1三维网格顶点的坐标向量在该空间的投影即为该网格模型的几何光谱1网格表面较为光顺的区域即为低频信号12000年,Karni等[43]将几何网格分割片光谱推广到传输问题上1光谱直接应用于定义几何网格的拓扑信息时,会产生伪频率信息1对于大规模的网格,由于在网格顶点数目多于1000时,Laplacian矩阵特征向量的计算几乎难以进行,因此该工作在最小交互前提下,将网格模型分割为有限数目的分割片1该方法有微小的压缩损失,且在分割片边界出现人工算法痕迹12003年,Alface等[33]提出了光谱表示交叠方法:扩张分割片,使分割片之间产生交叠1具体方法是把被分割在其他邻接分割片中的、但与该分割片15618期孙晓鹏等:三维网格模型的分割及应用技术综述邻接的三角片的顶点,按旋转方向加入到该分割片中,从而由于分割片重叠搭接产生冗余信息,并称这种分割片扩展冗余处理的光谱变换为交叠的正交变换1该工作在几何网格压缩和过程传输的应用中明显地改进了Karni等的工作1显然上述工作的基础是良好的网格分割1建立分片独立的基函数将使得分割效果更为理想1413 纹理贴图中的网格分割如果曲面网格的离散化是足够精细的,如细分网格,那么直接对顶点进行纹理绘制就足够了;否则就要把网格模型分割为一组与圆盘同胚的、便于进行参数化的分割片,再对每片非折叠的分割片参数化,最后分割片在纹理空间里拼接起来1网格模型的分割显然会因其局部性而降低纹理映射纹理贴图、网格参数化的扭曲效果1面向纹理的分割算法一般要求满足两个条件:(1)分割片的不连续边界不能出现人工算法痕迹;(2)分割片与圆盘同胚,而且不引入太大的变形就可以参数化1不要求有意义的分割结果12001年,Sander等[30]基于半边折叠的PM算法,使用贪婪的分割片合并方法(区域增长法)对网格模型进行分割1首先将网格模型的每一个面片都看作是独立的分割片,然后每个分割片与其邻接分割片组对、合并1在最小合并计算量的前提下,循环执行分割片对的合并操作,并更新其他待合并分割片的计算量1当计算量超出用户指定的阈值时,停止合并操作1分割片之间的边界为逼近角点间直线段的最短路径,从而减轻了锯齿情况12002年,Levy等[34]将网格模型分割为具有自然形状的分割片,但仍然没有得到有意义的分割结果1为了与圆盘同胚,该算法自动寻找位于网格模型高曲率区域的特征曲线,避免了在平展区域内产生分割片边界,并增长分割片使他们在特征曲线上相交,尽量获得尺寸较大的分割片1414 动画与几何变形中的网格分割影视动画制作中,多个对象间的几何变形特技使用基于网格分割的局部区域预处理1如建立动画区域对应关系,对多个模型进行一致分割,然后在多个模型的对应分割片之间做变形,将提高动画制作的精度和真实性;且每个“Polygon Soup”模型都可用来建立分割片对应;模型间的相似分割有利于保持模型的总体特征1目前,多数的自动对应算法精度较低,手工交互指定对应关系的效率又太低1 1996年,Krishnamurthy等[20]从高密度、非规则、任意拓扑结构的多边形网格出发,手工指定分割边界,构造张量积样条曲面片的动画模型1文献[20]首先在多边形网格的二维投影空间交互选择一个顶点序列,然后自动地将顶点序列关联到网格上最近的顶点上;对于序列中前后两个顶点计算在网格曲面上连接它们的最短路径;对该路径在面片内部进行双三次B样条曲面拟合、光顺、重新采样,得到分割片在两个顶点之间的边界曲线1但计算量的付出依然是非常昂贵的11999年,Gregory等[25]在两个输入的多面体曲面上交互选择多面体顶点,作为一个对应链的端点,对应链上其他顶点通过计算曲面上端点对之间的最短路径上的顶点确定,由此得到这些顶点和边构成的多面体表面网格的连通子图;然后将每一个多面体分割为相同数目的分割片,每个分割片都与圆盘同胚;在分割片之间建立映射、重构、局部加细,完成对应关系的建立;最后插值实现两个多面体之间的变形12002年,Shlafman等[40]的工作不再限制输入网格必须是零亏格或者是二维流形1该算法通过迭代,局部优化面片的归属来改进某些全局函数,因此与图像分割K2means方法相近,属于非层次聚类算法1最终分割片的数目可以由用户预先指定,从而避免了过分割,且适用于动画制作的需求1分割过程的关键在于确认给定的两个面片是否属于同一个分割片1其分割工作是非层次的,因为面片可能会在优化迭代中被调整到另外一个分割片去1该工作表明,基于分割的变形对于保持模型的特征有着重要的意义1局部投影算法能够产生精细的对应区域,且能自动产生有意义的分割片1415 模型简化中的网格分割网格简化是指把给定的一个有n个面片的网格模型处理为另一个保持原始模型特征的、具有较少面片、较大简化Π变形比的新模型1三维网格分割显然可以被看作是一种网格简化,其基本思想是在简化中增加一个预处理过程,先按模型显著特征将其分割为若干分割片,然后在每个分割片内应用简化算法,由此保持了模型的显著特征,如特征边、特征尖锐以及其他精细的细节1例如,把曲率变化剧烈的区域作为分割边界,将曲率变化平缓的区域各自分割开来,就是基于曲率阈值的网格简化方法1网格曲面分割结果的分割片数目在去除过分割后被限制在指定的范围内12561计算机辅助设计与图形学学报2005年。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三维网格分割的经典方法摘要:本文针对三维网格分割问题,提出一个经典的方法。
该方法基于微分几何和测地距离。
在算法中,将面片类型相同的顶点分割在一起。
测地距离利用顶点之间的最短路径表示,这里可以利用一些经典的算法求最短路径,如Dijkstra 算法。
但是当网格的数量很多时,Dijkstra 算法的效率很低。
因此,此算法避免了在整个网格上应用最短路径算法,在局部网格中求最短路径,从而减少了计算量。
本文在人造物体的三维网格模型以及分子结构中验证了该方法的有效性。
关键字:几何算法 面片分割 测地距离简介3D 物体的三维网格表示法具有很多的应用。
例如,在图像分析中,表示利用深度图像重建的物体表面。
此外,在复杂物体和场景的建模和可视化中也有广泛的应用。
在网格面片的分析中,网格分割已经成为一个关注的问题。
网格分割也就是将网格上相互接近并且具有相似曲率的顶点分成一组。
网格分割在很多方面具有重要的应用。
特征提取,模型匹配等。
Mangan 和Whitaker 提出三维网格分割的分水岭算法。
Razdan 和Bae 扩展了此算法,将基于点元(voxel-based )和分水岭算法相结合,来分割三角网格。
这两种方法在分割中都需要计算整个曲率,然后在局部曲率最小处建立初始分割。
然而,在某些物体中,局部曲率的最小值是很难确定的。
因此,在这里提出一个初始分割的新方法。
在该算法中,应用基于面片的类型信息的网格区域增长方法,对顶点进行初始分割。
利用高斯曲率和平均曲率对顶点所在的面片进行分类。
这里利用离散微分几何计算高斯曲率和平均曲率。
通过本文提出的新方法来求得测地距离。
文章结构:第二部分,介绍网格面片的曲率分析和面片分类。
第三部分,详述本文的分割算法。
第四部分,实验以及其分割结果。
第五部分,结论。
2 面片分析在面片分析中,首先计算高斯曲率和平均曲率,然后利用它们进行面片分类。
顶点P 0的高斯曲率K 的计算公式如下:,A K θρ∆= ,∑-=∆i i 2θπθ ∑=ii A A , A 为相邻三角形T i ( i =1,2,3,…)的面积总和。
ρ为常量3。
如图1所示。
平均曲率定义为沿面法向方向的散度(divergence ),n H ∇=。
面片的平均曲率的法向量的计算公式如下[5、6、7]:∑∈-+=-)())(cot (cot 41i N j i j j j P P A n H βα其中,N(i)为顶点Pi 的邻接多边形的集合。
( P j -P i )为边ij e ,j βα和j 分别为在N(i)中,边ij e 所对的两个角。
A 为N(i)中所有三角型的面积总和。
如图2所示,顶点P i 的平均曲率的近似表示。
利用高斯曲率和平均曲率对一个顶点所在的面片进行分类。
面片的类型T的定义如下,)),sgn(1()),sgn(1(31εεk H T -+++=其中sgn 为分段函数(符号函数)(a tolerance signum function),⎪⎩⎪⎨⎧<-≤>+=εεεεx x x x :1:0:1),sgn(3 网格分割算法设物体O 的网格结构为M ,M 由两部分组成,V 和E 。
},,{},,1|{},,,1|{q p i e i v i v v e N i e E N i v V =====其中,i v 为顶点,v N ,1≤≤q p 且q p ≠,V 是顶点集,E 为连接顶点的边的集合。
e v N N ,分别为M 中顶点和边的总数。
在该方法中,定义了四种分割类型:1. 峰值类型(peak-type ),2. 凹值类型(pit-type ),3. 最小面片类型(minimal surface-type ),4. 平面类型(flat-type )。
对峰面、脊面(ridge)、马鞍面峰值(saddle ridge)的相应顶点进行峰值类型的分割,对凹面、谷面(valley)、马鞍凹面(saddle valley)的相应顶点作凹值类型的分割,对最小面片的相应顶点作最小面片类型的分割,平面类型的分割及对平面片的相应顶点进行操作。
该方法分为三个阶段:a) 分割初始化,b) 计算分割中心,c) 顶点分割和分割合并。
3.1 分割初始化这一步,初步形成上述四种类型的分割。
对于模型中其他类型的相应顶点并不考虑。
本文应用区域增长法来完成分割初始化。
图3为分割初始化算法。
算法中涉及了两个函数,Segment_Initializing 和Mesh_Growing 。
Segment_Initializing 用来建立顶点分割集队列元素(无ID 号),然后迭代的调用Mesh_Growing 函数对没有分割的顶点进行分割。
Mesh_Growing 函数自动的寻找具有相同面片类型的连通顶点。
最后初始分割集的生成。
每一个初始分割都包含具有任意一种面片的类型的连通顶点。
3.2 分割中心的计算设k S 为包括vk N 个顶点的集合(k V )的初始分割。
令k ck V v ∈为k S 的中心顶点。
中心顶点设为:在集合k V 中,到所有顶点的平均测地距离最短。
由于平均距离和距离总和是可以等价的,中心点又可表示为,}min{∑i ik ck v v ,k ik V v ∈,⋅表示测地距离。
测地距离可以利用顶点的最短路径来近似的表示。
为了解决这个问题,首先建立一个带权矩阵,该矩阵既可以表示k V 中网格之间的联系,也可以表示相邻顶点间的欧几里得距离(即两点间距离公式求得)。
令k A 为k V 的vk vk N N ⨯的带权方阵,[]jk ik k v v A ,为方阵k A 的元素,其中k jk ik V v v ∈,。
k A 的定义如下,[]⎪⎩⎪⎨⎧∞∈∈=otherwise E v v if E v v if v v v v A jk ik jk ik jk ik jk ik k ,},{,0},{,,其中,||为欧几里得距离,E 为边的集合。
对k A 利用Dijkstra 算法求所有点对的最短路径(测地距离)。
此时所得到的方针k A 中元素均为最小值。
中心顶点ck v 满足在矩阵k A 中纵行距离和以及横行距离和均最小。
ck v ]},[min |{jk ik k ck v v A v ∑=图4为求图的中心顶点的例子。
3.3 分割在这一步,将未被分割的顶点i v 分割到距分割中心距离最小的分割集k S 中。
由此,我们可以知道顶点分割集[i]中是无标记的。
图5展示了i v 的分割算法。
首先建立一个集合D c ,D c 中存储顶点i v 到它的相应类型的所有分割中心的欧几里得距离。
如果初始分割的类型中,没有满足i v 的类型,D c 为空。
如果说在网格中,没有凹值类型的顶点,但具有低谷值类型和马鞍凹面类型的顶点,在这种情况下,不需建立凹值类型的初始分割集。
但是稍后,需要为低谷值类型和马鞍凹面类型的顶点新建立一个凹值类型的分割。
第二步,核对D c 。
如果D c 为空,则新建立一个包括i v 的分割,然后将这个分割添加到初始分割集中。
如果D c 非空,我们继续执行下一步。
第三步,选择一个距离域值p dist _,用于下一步中局部网格的生成。
p dist _为D c 中第p 个最短距离,p 的初始值为1。
p 每次加一或减一。
第四步,建立一个新的顶点集V t ,集合中的所有顶点到点i v 的距离都小于p dist _。
第五步,检查Vt 中局部网格的连通性。
首先,创建V t 的邻接矩阵来表示V t 中顶点的连通性。
设it v 为集合V t 中的顶点,i=1,…,N t ,N t 为集合V t 中顶点的总数。
令S t 为V t 的t t N N ⨯的邻接矩阵,矩阵中元素的定义如下,⎩⎨⎧∈=otherwise E v v if v v A jt iy jt iy t ,0},{,1],[ 在t A 中以i v 为根结点,进行深度优先搜索。
由此,可以得到与i v 相连通和非连通集合。
在这两个集合中分别可分割成中心顶点、以分割顶点、未分割顶点。
然后,从V t 中删除与i v 非连通的所有顶点。
对于与i v 相连通的顶点集,检查分割中心是否与i v 相连通。
如果连通,则执行第六步,否则更新p 值重复第三步。
第六步,在顶点集V t 中应用Dijkstra 算法计算i v 与分割中心以及其他顶点的最短路径。
然后将i v 分割到与分割中心距离最小的分割集中。
所有的顶点分割完后,以分割中心为根结点,利用深度优先搜索检查是否所有的顶点都是连通的。
非连通的顶点则从分割集中删除。
可能出现一种情况,某些顶点不属于任何一个分割集。
因此,我们利用网格增长算法将相似类型的顶点分成一组。
若得到的分割集太小(过分割问题),可以将这些小的分割集删除掉,或者是将它与其邻近的分割集相合并,但是要满足合并的两个分割集的整个曲率的差值应小于一个阈值。
一个分割的整个曲率即为该分割集中所有顶点曲率的平均值。
4 实验为了验证该方法的有效性,本文中进行了蛋白质三维网格模型和人工合成网格模型的分割。
这里在蛋白质结构的三维体柱结构中应用the marching cube algorithm ,对每种蛋白质三维网格结构的重构。
实验中建立了人造的模型,这些模型具有显著的特征,例如,低谷面、峰面、马鞍面,试验结果很容易的看出对这些特征的分割。
本文利用图形学建模软件Maya 来创建人造模型。
图3则标明了每个模型的信息。
图6 为蛋白质分割的结果显示。
图7为人造模型的分割结果显示。
对于每个模型,用不同的颜色表示不同的分割部分。
从试验结果可以看出,采用本算法可以很准确对显著特征进行分割。
这些分割结果可以应用在其他的网格分析中,例如,蛋白质的docking 应用。
5 结论本文利用微分几何和测地距离,提出一个新的网格分割方法。
在局部网格中应用Dijkstra算法。
此外,在分割检验和分割初始化过程中,分别应用了深度优先搜索和区域增长法。
对于网格面片的曲率,应用离散微分几何来求得。
从实验中可以看出,该方法能够准确的分割物体的显著特征,并得到满意的结果。
目前,该方法已经应用在蛋白质docking系统中。