基于递归分割的曲面造型算法.
基于递归分割的机械零件三维形状结构检索方法

函数
r=bB+oO
(1)
式中,b为包围体作相交测试的次数,县是执行包 围体相交测试的代价,0是对象相交测试的次数,D
是对象做相交测试的代价。
可见,包围体类型的选择受到计算物体包围体 所需的计算开销、物体移位、形状或者尺寸发生变
化时在程序中更新所需开销以及相交检验所需精度
等因素的影响。 包围体的常见类型有包围球、包围柱、包围盒
segmentation adaptive bounded
plane.The ordered full binary tree is built through recursive algorithm with the change detection of
both the geometry and topology of the model.The feature vectors combined witll engineer features are constructed to obtain the
3D Shape and Structure Retrieval Method of Mechanical
Parts Based on Recursive Segmentation
XU Jinghua ZHANG Shuyou (State Key Lab of CAD&CG,Zhejiang University,Hangzhou 3 10027)
归纳起来,现有方法主要是从分散式或集中式 来进行三维机械零件结构相似性判别的。分散式将 形态用大量的细节来描述,使得搜索困难;集中式 将所有的形态特征结合成一个单一的参数,准确度 下降。鉴于此,本文以机械零件三维形状结构的相 似度比较为目标,提出了基于递归分害lJ(Recursive segmentation。RS)的机械零件三维形状结构检索方 法,通过递归分割将机械零件转化为等价满二叉树, 对形状复杂度进行逐层分解和降低,通过非根结点 实体的相似度比较,获得各机械零件三维形状结构 的相似度,并将该方法ey words:Recursive
Cholesky分解递归算法与改进

# I )
X SU Y Y " # 5 ) X 和 分 别 为 上 三 角 矩 阵 和 下 三 角 矩 阵 # UW ) ! W Y Y 分解后的矩阵 S用于求解方程 S ! TUV
算就转化成大小为 # 的分块子矩阵 S f I ) [# f I ) " Z Z E E 和S 的 运 算! 下一步对式# 和式# " " q ) E 5 ) S W W E E E I E I I I t 中子矩阵 S 和S 的. ’ 2 1 ( & 3 >分 解 可 以 进 行 同 样 E E I I 的 处理 " 将它 们分解 成大 小为 # 的子矩 f ‘ ) [# f ‘ ) Z Z 阵的运算 ! 这种过程可以一直重复下去 " 直到最终产 等足够小 " 或者更简单地 " 直到 S 的 生的子矩阵 S E E E E 阶数 为 E 此时 S 只有一 个元素 " 其. ! ’ 2 1 ( & 3 >分 解 E E
K # L
A I ‘
计 算 机 研 究 与 发 展
I B B E年
器之 间 的速度差 距 很 大 ! 计算机的性能能不能充分 多级存储结构即高缓 # 能否得到有效 利 发 挥" ) $ % & ’ ( 用成 为 关 键 ! 为 此" 现行的线性代数算法# 如 * +, 通常采用分块# 算 法! 通过将矩阵分 ) 0 1 2 $ 3 +. /) 块" 使各部分子矩阵的运算能够在高缓中进行 " 同时 尽可能地调用 * 以 提 高 运 算 效 率! 作 , 56 " ( 4 ( 1 * +7 为一种新的线性代数的计算方法 " 文献 8 提出了递 5 9 归# 算法 ! 递归具有自动矩 阵 分块 的 功 能 " ) : ( $ ; : & < 4 ( 产生 的 分块子矩 阵 的 阶 数 逐 级 减 小 并 为 方 阵 " 带来 良 好 的数据局部 性 # 使得 递 归算 法 非 常 适 ) " 1 2 $ % 1 < = > 合当今分层多级存储的计算机结构 ! 同时 " 递归算法 结构简单 " 易于实现 ! 本文对 . ’ 2 1 ( & 3 >分 解 递 归 算 法 进 行 了 深 入 研 给出了算法的详细推导过程 " 用支持递归功能的 究" 并通过矩阵元素顺序 B语 言 实 现 了 算 法 " ? 2 : = : % @A 的 重 排 进一步提 高 了 递 归 算 法 的 效 率 ! 研究产生的 算法和程序在 2 C( : .7 D- 计 算 机 上 进 行 了 测 其运算速度在大矩阵情况下比 * 试" ++. /分块 算法提高 E F GHI F G!
计算机图形学中的曲面细分算法与实现

计算机图形学中的曲面细分算法与实现曲面细分算法是计算机图形学中的重要主题,它主要用于生成光滑的曲面模型,通常用于生成真实感的3D模型。
曲面细分算法可以分为两种主要类型:细分曲面和插值曲面。
细分曲面是通过逐步细分原始控制网格来生成光滑曲面,而插值曲面是通过对原始几何形状进行插值来生成光滑曲面。
本文将介绍曲面细分算法的基本概念、常见的曲面细分算法以及其实现。
一、基本概念曲面细分算法是计算机图形学中的一种重要技术,它通过细分原始几何形状来生成光滑曲面。
曲面细分算法通常可以分为两种类型:细分曲面和插值曲面。
细分曲面是通过逐步细分原始控制网格来生成光滑曲面,而插值曲面是通过对原始几何形状进行插值来生成光滑曲面。
曲面细分算法通常可以用来生成真实感的3D模型,因此在计算机图形学中应用广泛。
曲面细分算法的基本原理是将原始几何形状逐步细分,从而生成光滑曲面。
在这个过程中,通常会根据一些控制点或节点来确定曲面的形状。
曲面细分算法的关键在于如何选择合适的控制点或节点,以及如何决定细分的次数。
通常来说,曲面细分算法的实现可以分为多种方法,例如递归细分、均匀细分、自适应细分等。
二、常见的曲面细分算法1.递归细分算法递归细分算法是一种常见的曲面细分算法,它通过递归的方式来细分原始几何形状,从而生成光滑曲面。
在递归细分算法中,通常会将原始几何形状逐步细分成更小的子几何形状,直到达到指定的细分次数为止。
递归细分算法通常是一种简单而有效的方法,它可以用来生成各种光滑曲面,例如贝塞尔曲面、B样条曲面等。
2.均匀细分算法均匀细分算法是另一种常见的曲面细分算法,它通过均匀地细分原始几何形状来生成光滑曲面。
在均匀细分算法中,通常会将原始控制网格分成均匀的子网格,然后逐步细分每个子网格,从而生成光滑曲面。
均匀细分算法通常是一种简单而高效的方法,它可以用来生成各种曲面模型,例如球面、圆柱面等。
3.自适应细分算法自适应细分算法是一种更加复杂的曲面细分算法,它通过根据曲面的曲率或其他属性来自适应地细分原始几何形状,从而生成光滑曲面。
贝塞尔曲线 递归画法 vc++

贝塞尔曲线递归画法 vc++贝塞尔曲线是一种平滑曲线,它的形状由一系列的控制点决定。
在计算机图形学中,贝塞尔曲线通常用于绘制平滑的曲线和曲面。
贝塞尔曲线的递归画法是通过递归算法来绘制贝塞尔曲线的一种方法,它可以在绘制曲线时实现更加灵活和精细的控制。
在VC++中,我们可以通过递归算法来实现贝塞尔曲线的绘制。
首先,我们需要了解贝塞尔曲线的数学原理和算法。
贝塞尔曲线由一系列的控制点以及一个参数t决定,通过调整参数t的值,我们可以得到曲线上不同位置的点。
贝塞尔曲线的递归画法可以通过分割曲线的方式来实现。
我们可以将一条贝塞尔曲线分割成两部分,然后再分别递归地绘制每一部分,直到曲线足够平滑为止。
在VC++中,我们可以使用C++语言来实现贝塞尔曲线的递归画法。
首先,我们需要定义一个表示2D点的结构体,用来存储曲线上的点的坐标。
然后,我们需要实现一个递归绘制函数,这个函数接受一组控制点和绘制的精度作为参数,然后递归地绘制曲线直到达到指定的精度为止。
下面是一个简单的示例代码,用来实现贝塞尔曲线的递归画法:```cpp#include <iostream>#include <vector>//定义一个表示2D点的结构体struct Point{float x;float y;};//定义一个递归绘制贝塞尔曲线的函数void drawBezierCurve(std::vector<Point>& controlPoints, float t, int depth){if (depth == 0){//绘制曲线上的点//这里可以使用画图的API来实现}else{std::vector<Point> newPoints;for (int i = 0; i < controlPoints.size() - 1; i++){//根据贝塞尔曲线的递推公式计算新的控制点Point newPoint;newPoint.x = controlPoints[i].x + t * (controlPoints[i + 1].x - controlPoints[i].x);newPoint.y = controlPoints[i].y + t * (controlPoints[i + 1].y - controlPoints[i].y);newPoints.push_back(newPoint);}//递归调用自己drawBezierCurve(newPoints, t, depth - 1);}}int main(){//定义一组控制点std::vector<Point> controlPoints = { {100, 100}, {200, 300}, {400, 200}, {500, 400} };//设置绘制精度int depth = 5;//设置参数t的步长float step = 0.01;//循环调用绘制函数绘制曲线for (float t = 0; t <= 1; t += step){drawBezierCurve(controlPoints, t, depth);}return 0;}```在上面的示例代码中,我们定义了一个表示2D点的结构体Point,然后实现了一个递归绘制贝塞尔曲线的函数drawBezierCurve。
occ 分割曲面 -回复

occ 分割曲面-回复什么是分割曲面?分割曲面是计算机图形学领域中的一个重要概念,用于将复杂的物体或场景分割成多个简单的表面片段。
这些表面片段可以是平面、球面、圆柱面等,通过将它们组合在一起,可以构建出逼真的三维物体。
为什么需要分割曲面?在计算机图形学中,我们希望能够以高效的方式表示和渲染三维物体。
然而,真实世界中的物体通常是由曲面组成的,而曲面的表示和计算复杂度较高。
因此,我们需要将曲面分割为简单的片段,以便更好地处理和渲染它们。
分割曲面的基本方法是什么?分割曲面的基本方法有多种,下面将分别介绍其中的几种常见方法。
1. 四叉树分割法:四叉树是一种常见的数据结构,用于将平面分割为四个子区域。
在分割曲面中,我们可以将物体的边界矩形分割为四个子矩形,然后递归地继续对子矩形进行分割,直到每个子矩形只包含一个三角形或四边形。
2. 体素分割法:体素是三维网格中的一个体积元素,类似于像素在二维网格中的作用。
体素分割法将物体或场景划分为由体素组成的三维网格,并根据需要对体素进行进一步分割。
通过递归地对体素进行细分,可以得到足够精细的分割曲面。
3. Marching Cubes算法:Marching Cubes算法是一种基于体素的分割方法,在三维体素网格中,根据每个体素的边界条件来确定是否需要分割,以及如何分割。
通过适当的插值和逼近技术,可以生成光滑的曲面,从而更好地表示物体的形状。
4. 三角形剖分法:三角形剖分法是一种将复杂曲面分割为一系列三角形的方法。
通过在曲面上选择合适的点,并利用三角形剖分算法将这些点连接起来,可以得到曲面的三角形表示。
这种方法在计算机图形学中被广泛应用,可以实现高效的渲染和显示。
通过以上方法,我们可以将复杂的曲面分割为多个简单的片段,从而实现对三维物体的高效表示和处理。
这在计算机图形学、虚拟现实、游戏开发等领域具有重要的应用价值。
同时,分割曲面的方法也在不断地演进和改进,以便更好地满足不同应用场景的需求。
常平均曲率细分曲面的构造

常平均曲率细分曲面的构造第23卷第6期2O11年6月计算机辅助设计与图形学Computer—AidedDesign8LComputerGraphicsV oL23NO.6June2011常平均曲率细分曲面的构造潘青",徐国良(湖南师范大学数学与计算机科学学院长沙410081)2(中国科学院数学与系统科学研究院计算数学与科学工程计算研究所北京100190)(***************)摘要:常平均曲率曲面经常作为界面出现在许多物理问题当中,是物理膜泡的一种数学抽象,而细分曲面的灵活性及其高质量的特性使得它成为一种强有力的曲面设计工具.通过给定边界,使用由一个二阶能量范函导出的四阶几何偏微分方程和一个二阶几何偏微分方程来构造常平均曲率细分曲面,这2个方程采用有限元方法求解;由于扩展的Ioop细分规则能处理带边界的曲面问题,所以采用其极限形式作为有限元空间.实验结果显示,采用文中方法能够近似地构造出具有任意拓扑结构控制网格和任意形状边界的常平均曲率曲面.关键词:常平均曲率曲面;I.oop细分;几何偏微分方程中图法分类号:TP391C0nstructionofConstantMeanCurvatureSubdivisionSurfaces PanQingandXuGuoliang¨(Collg0,MathmaticsandComputerS(ience,HunanNormalUniversity,Changsha410081) 2([nst打"f(Comp"m.""fMathematicd"dScientific/E"gineri"gComp"ting,AcadmyofMathPmntic "ndSy£Sc,(^Academy(1fiences,Beijing100190)Abstract:Surfaceswithconstantmeancurvaturealwaysariseasinterfacesinmanyphysicalp roblems,andarethemathematica1abstractionofphysicalsoapfilmsandsoapbubbles.Theflexibilitya ndhighaua1itvofsubdivisionsurfacesmakethemtobeapowerfultoolfordesigningsurfaces.Inthisp aper, weconstructtheconstantmeancurvaturesubdivisionsurfaceswithgivenboundariesusingaf orth—ordergeometricpartialdifferentialequationdeducedfromasecond—orderenergyfunctionalandasecond-ordergeometricpartimdifferentialequation.Theseequationsaresolvedbyafiniteel ementmethod.WeadoptthelimitfunctionsoftheextendedLoop'ssubdivisionschemeasthefiniteel ementsDacebecausethisschemecantreatsur{aceswithboundaries.Theconstantgleancurvatures ubdivision surfacescanbeaPProximatelyconstructedwithanytopologyofthecontrolmeshandanyshap edhO11ndaries.Keyw0rds:c.nstantmeancurvaturesur{aces;Loopsubdivision;geometricpattialdifferenti alequations考虑R.中的光滑可定向的曲面S,在曲面S上的每一点,有2个主曲率k和是z,H是这2个主曲率的平均值,叫做平均曲率;曲面上的平均曲率处处为常数的曲面被称为常平均曲率曲面.众所周知,最简单的闭的常平均曲率曲面是球面,最简单的开的常平均曲率曲面是圆柱面.常平均曲率曲面经常收稿日期:20100711;修回日期:2010—1l一02.基金项目:国家自然科学基金(10701071,60773165);湖南师范大学青年优秀人才培养计划(ET10901).潘~(1974一),女,博士,副教授,主要研究方向为CAGD,计算几何,计算数学,计算机图形学;徐国t~(1953),男,博士研究员,博士生导师,主要研究方向为CAGD,计算几何,图像处理等.第6期潘青,等:常平均曲率细分曲面的构造作为界面(interfaces)出现在许多物理问题当中,拥有常平均曲率的曲面是物理膜泡的一种数学抽象,当膜泡两边压力差为常数时,膜泡作为曲面,其平均曲率呈现常数的特征.常平均曲率曲面的研究已经有100多年的历史了.很长一段时间里,人们仅仅知道球面是唯一一个紧致浸入的常平均曲率曲面.直到最近几十年,对于常平均曲率曲面的研究才有所突破,所存在的常平均曲率曲面被大量的发现.最着名的是Wentel1在1986年所发现的非球面的紧致常平均曲率的环面,他的工作成为对常平均曲率曲面集中研究的起始点.文献E23通过超椭圆黎曼曲面的亏格将所有环面分类;文献[3]发现了以与超椭圆黎曼曲面相联系的0函数来描述常平均曲率曲面的显式表达式:它们实际考虑了一大类包含环面在内的常平均曲率曲面.文献[43采用了一种完全不同的方法——解析的粘合构造方法来构造亏格≥2的紧致常平均曲率曲面;文献[5]发现了另一种方法——共轭曲面方法来构造常平均曲率曲面.之后文献[6—7]对其进行了扩展,构造出许多具有周期性的常平均曲率曲面,该方法比文献[5]更加显式,而且能高效地处理对称的曲面.同时,许多数值的构造方法也随之产生.例如,文献[87所采用的演变技术及其在薄膜中的应用;文献ElO—l1]中则采用一种基于四边形网格的数值离散方法.另外,还有一些基于偏微分方程的有限元离散方法.在CAGD中,B~zier曲面,B样条曲面以及NURBS曲面都必须是三角形或四边形控制网格,这对于具有任意形状边界的曲面造型有其本身的局限性.本文意图构造具有分段B样条边界曲线的常平均曲率细分曲面.采用B样条来描述曲面的边界曲线是普遍接受和合理的,因为这对于边界的样条曲线没有限制.为了表征任意拓扑结构的曲面,细分曲面是最好的选择.近年来人们提出了一些细分格式,其中有一些属于插值方法, 即粗网格上的顶点是固定的,仅仅计算新增加的顶点位置(有关四边形网格可参见文献[12],三角形网格可参见文献[13-14]);另一些属于逼近方法(四边形网格可参见文献[15一l6],三角形网格可参见文献[17]);逼近算法则既要计算老的顶点位置,又要计算新的顶点位置.曲面细分是一种递归的几何构造算法,该算法将一个给定的初始控制网格作为输入起点,细分加密网格上的面,边和顶点产生新的网格,新网格有着更多的面,边和顶点.递归执行该步骤,将产生一系列越来越密的网格,但并不改变系列网格的初始拓扑结构;达到细分过程的极限后,能够获得一个与初始控制网格拓扑一致的带有一定阶数光滑性的极限曲面.由于细分曲面具有诸多优点,它被人们广泛接受并且应用于许多领域.近年来,基于细分曲面,一些曲面造型技术,比如曲面磨光,曲面拼接和N一边补洞等∞被很快发展起来.这些技术实现都要求任意参数值处精确的曲面以及曲面任意阶导数的计算,如曲面的切向,法向,曲率等.一般来说这是非常困难的,因为由细分格式所生成的极限曲面没有显式表达式,同时,细分步数很大时使得细分矩阵的乘积计算非常耗时.因此,对于细分曲面建立一种快速精确的计算方式是非常重要的.文献E21—22]对Catmull—Clark细分曲面和Loop细分曲面分别提出了一种快速高效算法.需要指出的是, 原始的细分并没有对边界附近做出其细分规则,这对于曲面设计是一个缺陷.作为对于Loop细分格式的一个扩展,文献[23]对边界,裂缝,边角进行了处理(其细分曲面的计算可参见文献[24]).本文通过一个二阶能量范函导出一个四阶几何偏微分方程,加上一个二阶几何偏微分方程同时来构造常平均曲率细分曲面.给定边界,方程的数值方法采用有限元方法,有限元基函数由扩展的Loop细分的极限形式构成.1本文算法1.1扩展的Loop细分规则Loop细分格式是一种固定,局部的线性算法,由初始网格通过该算法产生一系列逐步加密的网格{T/}.,并由网格一上的顶点来生成后续网格上的顶点.采用一种权系数组合的顶点生成算法,它是有限仿射组合,这使得Loop细分格式成为一种局部和线性的格式;又因为在每步加密过程时所使用的是同样的仿射组合,所以该细分格式又是固定的.初始网格和后续网格仅仅由三角形网格所组成.系列网格通过该算法加密最终将收敛到一张由无限多个曲面片所组成的极限曲面.Loop细分格式的算法是样条细分算法,所产生的曲面是分片4次多项式.当初始网格是由规则的三角形(规则的三角形是指三角形3个顶点的价都为6)组成时,则Loop细分格式与4次箱样条曲面的细分格式一致,曲面处处曲率连续.当初始网格有奇异顶点时,由于在奇异顶点处使用了与规则顶点不一样的细分规则,则在奇异顶点处的曲面的曲率为0或无穷.但该规则并不改变系列中前后网格上的奇异顶点的个数.966计算机辅助设计与图形学第23卷原始的Loop细分规则只适用于封闭的三角形控制网格,对于有边界的三角形控制网格必须采用扩展的Loop细分规则.为清楚地描述其规则,本文需要先将三角形控制网格分成边界三角形,次边界三角形和内部三角形3类.边界三角形指其3个顶点有边界点,次边界三角形指与边界三角形相邻的三角形,其他则为内部三角形.边也分成内部边,次边界和边界3类.边界指其2个端点都为边界点,次3/8N//3/4/\1/8/\1/83/8Na内部点的更新规则b边界点的更新规则c内部边的加密规则d次边界的加密规则e边界的加密规则图1扩展的Loop细分规则/z//8///a规则的三角形片\N|.//\.3/!////.Ⅳ+9////.//边界指与边界点相连而又不是边界的边,其他则为内部边.图1描述了扩展的Loop细分规则,其中图1b 中,若边界点为角点,则需要插值.具体规则详见文献E23].1.2Loop细分曲面的计算Ioop细分的极限曲面由分片三角形曲面片组成,网格上每一个三角形都对应着极限曲面上的一个分片.任意点处曲面的精确计算不是一件平凡的事,如果该三角形的3个顶点都是规则的,那么它所对应的曲面片也是规则的.一个规则的三角形曲面片可由其周围的12个控制顶点来定义,令B(,叫)为这12个控制顶点所对应的基函数向量,那么规则曲面片的计算公式为M(,)一CTB(,叫),(,叫)∈n;其中,c是一个l2×3的矩阵,由这12个控制顶点的坐标组成,其排列方式如图2a所示.该曲面片被参数化为单位三角形n一{(,叫)I∈[O,1],∈[o,i一]);其中(",z,,)为该参数区域的重心坐标系统.因为"一1一—W,所以一1对应于点(0,l,0),叫一1对应于点(0,0,1),"一1则对应于原点(1,0,0).这12个控制顶点对应的基函数的次数对于每个参数",,至少是4次的,因此曲面片是4次箱样条.\,/,.//,/2一2I一b不规则的三角形片c子分一次后的3个规则的子片d单位区域被划分成无限子片图2Loop细分曲面的精确计算第6期潘青,等:常平均曲率细分曲面的构造对于非规则的曲面片,需要假定初始网格已经至少被细分一次.也就是说,每个奇异顶点都被孤立起来,被规则顶点所包围;而每个三角形最多只包含一个奇异顶点(如图2b所示,"1"号点即价为的奇异点),包含顶点"1"的阴影三角形被环绕它周围的N+6控制顶点所定.经过一次细分后,原始的Loop细分规则使得每一个曲面片的3/4区域可计算(如图2c的阴影部分所示),并且产生N+12个控制顶点,这N+l2个控制顶点已足够用于这3个子片的计算.为了计算任意参数值(,叫)∈处的曲面,必须通过反复执行该细分规则,这将使单位参数区域划分成无限组子三角形区域,k>j1,一1,2,3,直到参数点(,叫)落入一个规则的子片中(如图2d所示).子分次数志一1一log(v+w)/log2j,这些子片可被精确定义为一{(,叫)lE[2,2],叫∈[0,2一]},n一{(,训)IEE0,2],叫E[0,]},一{(,)』∈E0,2],叫∈[2~,2一]}.将这些子片组通过变换Tg2(,叫)一(2一1,2k叫),(口,叫)一(1—2,1—2kw),Tn(,)一(2,2k一1);可投影到单位区域上.那么子片(,叫)l一12∑N(tk,,(,叫)),J一1,2,3,志一1,2,…;其中一1是适当选取的12个控制顶点.使用如图2c的顶点排列和局部坐标系统,则这3套控制顶点为{}2l—Ex{,,+4,,+l,+9,+3,+2,+5,+8,x+7,+1.j,{)一21一[+l0,+7,+5,+2,+3,+6,+1,,+4,,,],{}21一Ex,,,+1,+6,+3,+2,+5,+12,+7,+lo,+11].这些控制顶点可通过一A一?一AX.,¨===A=AAX.计算.其中,A和A均为扩展的细分矩阵,Xk===[,…,+6,+7,…,+12]和Xk:[{,…,+].可以看到,当子分次数尼很大时,因为涉及矩阵A的尼次乘积,所以曲面计算是非常耗时的.Stare采用经典的Jordan方法A—SJS将A的计算简化为J的计算(详见文献EZ1]).基于以上所述的内部三角形所对应的Loop细分曲面的计算,则对于次边界三角形,用扩展的Loop细分规则细分一次后,产生4个内部三角形, 可用上述方法计算;对于边界三角形情况稍复杂一些,用扩展的L6op细分规则细分一次后,产生3个边界三角形和一个次边界三角形(或者一个边界三角形和3个次边界三角形).对于次边界部分可采用上面的方法,而边界三角形只需继续细分直到需要计算的参数值落在次边界三角形内.下面介绍构造常平均曲率曲面的一个四阶方程和一个二阶方程几何偏微分演化方程.1.3方程模型及其弱形式设S是.中一光滑可定向的参数曲面,本文寻找能量范函I(H—H).dAJS(其中H为曲面S上的平均曲率,H.为某个指定的平均曲率常数)的临界点,即具有常数平均曲率H. (不为0)的曲面,通过梯度流的方法推导出其对应的四阶几何偏微分方程3,一~[△sH+2H(H一K)]聆一H.口+H:△s;(其中,表示曲面S上的控制顶点,t为时间演化参数,△和口分别表示曲面S上所定义的IB算子和GH算子,K和分别表示曲面S上的高斯曲率和法向量.本文考虑用混合有限元方法来求解这个四阶方程,曲面上的控制顶点是要确定的未知量,曲面的平均曲率法向H处理成未知量.具体步骤如下:首先把四阶方程写成2个耦合的二阶方程系统; 然后建立这个耦合系统的变分形式(弱形式),再进行有限元离散化,导出一个线性系统;最后采用迭代法来求解该线性系统,得到逼近解.用Green公式得到它的混合变分形式如下:寻找(,H)∈H(S).×H(S).,使得』~0dA~f[H—n(目)H]ndA+js2H一KnHdA—H.jsVsx(◇sdA+JVss口dA—D,V口∈(5)-fHdA+j1(Vs)Vs~dA—iSnd—o,V∞EH(S),S(O)一S.,OS(t)一r,()一()',VEF(])其中()为边界曲线上的余法向量.常平均曲率曲面也是二阶方程一(H--H.)的稳态解.本文同样考虑用有限元方法来求解这个968计算机辅助设计与图形学第23卷方程.曲面上的控制顶点是要确定的未知量,通过Green公式得到其弱形式如下:寻找X∈H(S).,使得f』4-f[VsVs一HonO]dA一0,jV0∈H(s)(2'【s(o)一S.,aS()一I1本文将在扩展的Loop细分极限形式所定义的有限元空间来离散这2个扩散方程.1.4有限元离散引入有限元空间来表示曲面以及曲面上的平均曲率法向.令E一spanE~,…,95],其中为扩展的Loop细分的极限形式,在控制网格的每个顶点(包括角点和边界点)上定义,为每个顶点{}联络基函数,它在点,处值为1,在其他点处值为0,,的支集是局部的,大小为2.本文指定{}mo为内部顶点,剩下的点{X,}+为边界顶点,则有离散形式()一∑()4-∑(),(£)∈R.J一1Jm--+1(3)Vsx(f)一∑Vs~Ix(£)+∑vs~Ix()],JlJ一一+1 Vsx()∈R.(4)H()一∑H(f)j5,,(£)∈R.(5)Vsfl(t)一∑vs~,[Hj(£)VsH(t)∈R(6)本文将在空间方向离散四阶方程式(1),考虑取试探函数一(i一1,…,m.)和一(i一1,…,),将式(3)~(6)代入式(1),并注意到塑===0(当J>.时),则式(1)可写成+N(t)+LI2㈩一.}M,()+L()一B其中,(£)一[xT(t),…,xy(t)]∈,(t)一[H(),…,H()]∈R.为需要求解的控制顶点和平均曲率法向未知量.系数矩阵的维数分别为M∈R..,Nf∈Ro,M∈R,L'∈.,LJ∈R,矩阵元素定义为一一sI一dA,n—jsI一[Hi[(Vs~)Vs~]一Ho[(Vs~,)◇]]dA,z:一l,,[[≠+2n(H.一K)]一,l(Vs~)IndA,z'一专.J[(Vsz),]dA.右端项的维数为B∈R,其元素定义为b一寺I声ds,其中n是曲面在边界r上的余法向量.在时间方向用向前Euler格式来离散3x(f)/8t, 即对于给定的时间步长r,有塑≈,余下的项采用半隐格式来离散.余法向量n也随着时间步从前一个时间步的曲面来计算得到,记为,l.还需要将与{X)+有关的项移至方程右端,最后得到以"和为未知量的线性系统[h:][]一+].本文采用GREMS迭代法来求解该系统直到终止条件maxll;一≤£(e为~个很小的数)得到满足.类似地,对方程式(2)进行离散,取试探函数一(i一1,…,.),先进行空间方向的离散化,再进行时间方向的离散化.这里略去若干细节,写出最后的离散形式为"jdA+r"j(VsVs≠dA一≠dA善)VsrH.1HdA,i—l,…,Ⅲ..2数值实验结果本文在图3中分别用四阶和二阶方程完成了4个常平均曲率曲面的构造.图3第1~4行中,第1 列分别为这4个例子所给定的边界曲线,第2列是其初始构造曲面,第3列显示由第2列初始构造曲面所计算得到的边界曲线上的余法向量n:,第4列为用四阶方程模型所得到的常平均曲率曲面;第5行中,给定同样的边界曲线(第l列从上到下)以及同样的初始构造(第2列从上到下),在第5行依次从左到右给出了用二阶方程演化所得到的最终曲97O计算机辅助设计与图形学第23卷3结语细分技术提供了一种简单高效的方法来构造具有任意拓扑结构的自由曲面,同时还能满足一定的光滑性要求.本文分别用一个通过二阶能量泛函导出的四阶几何偏微分方程和一个二阶几何偏微分方程模型来构造常平均曲率曲面,其中微分方程的求解采用了基于扩展的Loop细分规则的有限元方法.数值实验结果表明,将几何偏微分方程方法和细分技术有机地结合,可以构造出高质量的常平均曲率曲面.参考文献(References):[1][2][33[4][5][6][7][8][9][10]WenteHC.CounterexampletoaconjectureofH.HopfEJ]. PacificJournalofMathematics,1986,121(1):193—243 PinkallU,SterlingI.Ontheclassificationofconstantmean curvaturetori[J].AnnalsofMathematics,1989,130:407—451BobenknAI.Al1constantmeancurvaturetoriinR.,S0,H., intermsoftheta—functions[J].MathematischeAnnalen, 1991,290:209—245KapouleasN.ConstantmeancurvaturesurfacesinEuclidean three—spaceEJ].BulletinoftheAmericanMathematical Society,1987,17(2):318-320pleteminimalsurfaceinS^1J].Annalsof Matbematics,1970,92(3):335-374KarcherH.ThetriplyperiodicminimalsurfacesofAlan SchoenandtheirconstantmeancurvaturecompanionsEJ]. ManuscriptaMathematica.1989,64:291—357(;roDeBrauckmannK,pactconstantmean curvaturesurfaceswithlowgenus口].Experimental Mathematics,1997,6(1):13-32BrakkeKA.Thesurfaceevolver_J].Experimental Mathematics,1992,1(2):141—165BrakkeKA,ingsymmetryfeaturesofthe surfaceevolvertostudyfoams[M]//HegeHC,PolthierK. VisualizationandMathematics.Heidelberg:Springer,1997: 95-117HoffmannT.DiscreteHsurfacesanddiscreteholomorphic maps[M]//BoBenkoAI,SellerR.DiscreteIntegrable GeometryandPhysics.London:OxfordUniversityPress, 1998:83-96[11]BobenkoA,PinkallU.Discreteisothermicsurfaces[J]. Journa1FarDieReineUndAngewandte,1996,475:187—208 r12]KobbehI,HesseT,PrautzschH,eta1.Iterativemesh generationforFEcomputationsonfreeformsurfaces[J]. EngineeringComputations,19~6,14(7):806—820[13]ZorinD,SchrOderP,SweldensW.Interpolatingsubdivisionformesheswitharbitrarytopology[C]//ComputerGraphics Proceedings,AnnualConferenceSeries,ACMSIGGRAPH. NewY ork:ACMPress,1996:189-192[14]DynN,LevineD,GregoryJA.Abutterflysubdivision schemeforsurfaceinterpolationwithtensioncontrollJ]. ACMTransactionsonGraphics,1990,9(2):160~169r15]DooD,SabinM.Behaviorofrecursivedivisionsurfacesnear extraordinarypoints[J].Computer—AidedDesign,1978,10 (6):356-36O[16]CatmullE,ClarkJ.RecursivelygeneratedB—splinesurfaces onarbitrarytopologicalmeshes[J].ComputerAidedDesign, 1978,10(6):350-355[17]LoopCT.Smoothsubdivisionssurfacesbasedontriangles[D].SaltLakeCity:UniversityofUtah,1987[18]BajajCI,XuGI.Anisotropicdiffusionofsurfacesand functionsonsurfaces[J].ACMTransactionsonGraphics, 2003,22(1):4—32[19]BajajCL,XuGI,WarrenJ.Acousticsscatteringon arbitrarymanifoldsurfaces[cI//ProceedingsofGeometric[2o][21]E22][23][24] ModellingandProcessingTheoryandApplication.Ios Alamitos:IEEEComputerSocietyPress,2002:73—82 CirakF,OrtizM,SchrOderP.Subdivisionsurfaces:anew paradigmforthinshellfinite—elementanalysis[J]. InternationalJournalforNumericalMethodsinEngineering, 2000,47(12):2039-2072StamJ.EvaluationofLoopsubdivisionsurfaces[c]// ComputerGraphicsProceedings,AnnualConferenceSeries, ACMS1GGRAPH.NewY ork:ACMPress,1998:23-38 StamJ.ExactevaluationofCatmul卜Clarksubdivision surfacesatarbitraryparametricvalues[c]//Computer GraphicsProceedings,AnnualConferenceSeries,ACM SIGGRAPH.NewY ork:ACMPress,1998:395-404 BiermannH,LevinA,ZorinD.Piecewisesmooth subdivisionsurfaceswithnormalcontrol[c]//Computer GraphicsProceedings,AnnualConferenceSeries,ACM SIGGRAPH.NewY ork:ACMPress,2000:l13—12O ZorinD,KristjanssonD.Evaluationofpiecewisesmooth subdivisionsurfaces[J].TheVisualComputer,2002,l8(5/ 6):299-3l5。
基于Loop算法递归复杂曲面的数控插补技术
引言近年来,随着武器装备、航空航天、生物医学等领域的迅猛发展,各关键设备对超精密零件的加工精度提出了更高的要求,而复杂曲面的超精密加工则是其难度极大的关键技术之一,如航天发动机叶轮、螺旋桨,都是复杂曲面加工的例子。
在曲面超精密加工过程中,数控加工系统与插补算法一直是制约加工表面质量的瓶颈问题[1 ̄2]。
本文首先实现了一种新的基于递归分割理论的复杂曲面数控插补算法,它能插补具有任意拓扑结构的复杂曲面;然后对采用该插补算法递归后的复曲面数控代码进行了仿真试验研究,结果表明:该算法插补曲面质量很高,达到了预期的设计效果,具有较大实用价值和推广价值。
1基于Loop(Warren)算法的复杂曲面数控插补原理基于递归分割理论的复杂曲面数控插补技术是从描述曲面形状的初始控制网格开始,利用特定的递归分割原则,通过初始控制网格局部若干个节点的线性组合来计算新的节点,从而得到足够多的离散点来描述满足一定造型精度要求的几何模型。
为了满足复杂曲面在超精密加工中精度要求,我们采用了基于Loop算法的递归逼近分割曲面数控插补基于Loop算法递归复杂曲面的数控插补技术陈明君,辛玉红,王阳俊,李旦(哈尔滨工业大学精密工程研究所,哈尔滨150001)[摘要]利用Loop算法对实际的复杂曲面的初始网格进行了递归重构,并把递归后的模型导入UG加工模块中进行处理,获得了相应的数控加工代码。
然后对之进行了数控仿真与加工参数对表面质量影响的研究。
结果表明:该插补算法数控插补精度很高,完全能满足复杂曲面超精密加工的要求。
[关键词]复杂曲面;数控插补;递归逼近;精密加工[中图分类号]TP274[文献标识码]B[文章编号]1003-5451(2008)03-0026-03StudyonNCInterpolatingTechniqueofComplexSurfaceBasedonLooparithmeticCHENMing-jun,XINYu-hong,WANGYang-jun,etal(PrecisionEngineeringResearchInstitute,HarbinInstituteofTechnology,Harbin150001)[Abstract]ThisinitialmeshofthecomplexsurfaceisrecursiveapproachbytheLooparithmetic,andthemodelafterapproachingisimportedintothemanufacturingmodelintheUG,thisNCcodeisobtained.ThenNCsimulationandinfluenceofmachiningparametersonsurfacequalityarestudied.TheresultsshowthattheinterpolatingaccuracyoftheLooparithmeticisveryhighanditcansatisfymachiningaccuracyrequirementofthecomplexsurface.[Keywords]complexsurface;NCinterpolation;recursiveapproach;precisionmachining航空精密制造技术AVIATIONPRECISIONMANUFACTURINGTECHNOLOGY2008年6月第44卷第3期Jun.2008Vol.44No.3《航空精密制造技术》2008年第44卷第3期技术[3-6],而复杂曲面的初始数据采用逆向工程的方式获得。
利用递归方法绘制五阶科赫曲线
利用递归方法绘制五阶科赫曲线。
五阶科赫曲线是一种有规律的曲线,它是一个经典的图形分形,它由一个比例因子和递归方法定义。
概念:科赫曲线是由同一条对称曲线的复制构成的,而且可以无限迭代的。
它的特点是每一次迭代曲线上的夹角都会被减半,集合由此而形成一种异常复杂的几何形状。
五阶科赫曲线是最经典的一种科赫曲线,它由2-2-2阶科赫曲线演化而来,其角度分别为135度、45度、-45度,在每一代中夹角被半了,直至三个角度分别变成22.5度、-22.5度、-67.5度。
绘制五阶科赫曲线,我们可以借助程序,但是最有效的方法还是用递归算法。
使用递归方法,我们可以用一个函数把一般的曲线分解成更小的曲线,然后用另一个函数来把更小的曲线拼合成更大的曲线,最后可以得到一个完整的五阶科赫曲线。
下面是一个用递归方法绘制五阶科赫曲线的步骤:
第一步:画一条135度的对称线段,//这是程序入口,起始拐角的角度为135度
第二步:画出该步骤的两个45度的分支,第一个拐角夹角为45度,第二个拐角夹角为-45度,//设置分支的夹角,然后递归求解
第三步:递归函数以相同的角度开始,分别为22.5度、-22.5度、-67.5度,//继续递归求解
最后:返回函数,把曲线以相同旋转角度画回原处,就把整条曲线画完了。
以上就是递归方法绘制五阶科赫曲线的步骤,它的特点是每次迭代都会把角度减完,经过多次迭代,整条曲线都可以画出来。
递归方法可以用来解决许多规模较大的问题,不仅仅可以用于绘制科赫曲线,还可以用在计算机科学的其他领域,比如图像处理等,这就是递归方法的厉害之处。
3分形曲面——精选推荐
3 分形曲面分形曲面在自然界也是大量存在的,山脉、地形、岩石、云团等,都是分形曲面的实例。
本章着重介绍分形曲面及其计算机生成的方法。
首先从最简单的三角形中点位移法及其计算机算法描述开始。
然后介绍二维随机网格分形曲面的生成算法,在此基础上,叙述分形曲面上实体纹理,如大理石、木纹及铸件表面纹理的生成方法。
此外,还进一步讨论云团形状的生成方法。
山脉和云团是自然景物计算机模拟中的重要对象,本章还提供了实用的计算机算法。
为了更好地研究分形地形地貌曲面的有关理论和方法,本章还专门阐述了分形布朗曲面即FBM曲面,这是分形研究的一个重要分支,是分形的创始人Mandelbrot和Ness在60年代后期提出的一种模型,已用于模拟各种地貌及星球表面的不规则形状。
3.1中点位移法上一章,我们介绍的中点位移法和中点细分随机分形曲线生成算法,可用以生成各种类似海岸线、河川、山形的曲线。
将这些方法加以拓广,即可用于产生各种分形曲面。
中点位移法是分形曲面生成算法中最简单的一种,这里首先引入一种以三角形为图形基元的分形曲面生成法。
为了叙述的方便,我们把最初给出的三角形,称为父三角形,将三角形每边中点位移后的点适当连接面形成的四个三角形,称为子三角形(参照图3-1)中点位移法生成分形曲面的步骤如下:(1)从初始的三角形出发,求出各边中点(M1、M2、M3);(2)在该中点处,沿铅垂方向向上产生一个位移量Wi,该位移量与边长成比例,比例因子可以随机产生,或由一些均匀分布的随机数组组成的集中取出,三条边中点处产生位移,得到三个新的点(D、E、F);(3)将三个新点和原三角形的三个顶点相连接,产生四个新的三角形,即△ADF,△BDE,△CEF和△DEF;(4)对每个子三角形作同样的操作,如此不断迭代循环,直到满足终止条件为止。
一般来说,中点位移量是一个随机变量,并且必须随三角形的子分而不断变小。
在上述分形曲面生成过程中,通过三角形的不断被子分而使整个表面弄成皱折,产生类似于山脉的形状——分形山。
曲面造型.
曲面造型(Surface Modeling)曲面造型(Surface Modeling)是计算机辅助几何设计(Computer Aided Geometric Design,CAGD)和计算机图形学(Computer Graphics)的一项重要内容,主要研究在计算机图象系统的环境下对曲面的表示、设计、显示和分析。
它起源于汽车、飞机、船舶、叶轮等的外形放样工艺,由Coons、Bezier等大师于二十世纪六十年代奠定其理论基础。
如今经过三十多年的发展,曲面造型现在已形成了以有理B样条曲面(Rational B-spline S urface)参数化特征设计和隐式代数曲面(Implicit Algebraic Surface)表示这两类方法为主体,以插值(I nterpolation)、拟合(Fitting)、逼近(Approximation)这三种手段为骨架的几何理论体系。
1. 对曲面造型的简要回顾形状信息的核心问题是计算机表示,即要解决既适合计算机处理,且有效地满足形状表示与几何设计要求,又便于形状信息传递和产品数据交换的形状描述的数学方法。
1963年美国波音飞机公司的Ferguson首先提出将曲线曲面表示为参数的矢函数方法,并引入参数三次曲线。
从此曲线曲面的参数化形式成为形状数学描述的标准形式。
1964年美国麻省理工学院的Coons发表一种具有一般性的曲面描述方法,给定围成封闭曲线的四条边界就可定义一块曲面。
但这种方法存在形状控制与连接问题。
1971年法国雷诺汽车公司的Bezier提出一种由控制多边形设计曲线的新方法。
这种方法不仅简单易用,而且漂亮地解决了整体形状控制问题,把曲线曲面的设计向前推进了一大步,为曲面造型的进一步发展奠定了坚实的基础。
但Bezier方法仍存在连接问题和局部修改问题。
到1972年,de-Boor总结、给出了关于B样条的一套标准算法,1974年Gordon和Riesenfeld又把B样条理论应用于形状描述,最终提出了B样条方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任秉银等:基于递归分割的曲面造型算法基于递归分割的曲面造型算法任秉银孟庆鑫* 于华(*哈尔滨工程大学机电学院哈尔滨150001)(哈尔滨工业大学现代生产技术中心哈尔滨150001)摘要对常用复杂曲面造型方法的缺点进行了分析,给出了基于递归分割构造任意拓扑结构复杂曲面的有关算法,避免了参数方法在构造复杂曲面时费时而且难于处理的参数曲面求交和曲面拼接等问题,为优质高效建立复杂曲面模型奠定了基础。
关键词递归分割,曲面造型,初始网格模;另一类则是根据对已有实体模型的少数测量点0 引言无论是在先进制造领域中的计算机辅助设计(CAD)、有限元分析(FEM)、快速原型制造(RapidPrototyping)以及数控加工(NCMachining),还是在计算机动画(ComputerAnimation)、虚拟现实(Vir-tualReality)等领域中,建立复杂实体的几何模型都是至关重要的工作。
自70年代以来,复杂曲面造型方法大致经历了从Bezier 方法到张量积非均匀有理B样条方法(通常简称为NURBS方法)的发展过程。
特别是进入90年代以来,NURBS曲线、曲面因为具有许多突出的优点而成为曲面造型领域的研究热点,有关研究论文数不胜数。
事实上这种方法已经发展成为复杂曲面造型的通用表示方法。
但在实际应用中,NURBS方法在处理比较复杂的曲面模型时仍然存在一些缺点。
研究开发优质高效的复杂曲面造型理论与方法已经是势在必行。
本文简要介绍基于递归分割的曲面造型方法。
这种方法可以直接处理任意拓扑结构的复杂曲面,省去了繁琐的曲面分片和拼接处理。
信息重新构造自由曲面模型,即模型重构。
对于第一类问题,近年来主要采用双参数NURBS曲面方法来解决。
但是构造NURBS曲面要求给定的控制点在逻辑上必须呈矩阵形排列,或者说,NURBS方法只能直接处理具有四条边界的非封闭曲面或者柱形回转面。
这就意味着NURBS方法不能直接表示拓扑结构比较复杂的自由曲面,必须将复杂曲面分解为若干个简单的自由曲面片分别处理,然后再进行大量的曲面拼接或曲面裁剪运算才能获得复杂曲面的整体几何模型[1]。
如十字形曲面必须被划分成至少三个曲面片分别处理,然后进行拼接,带孔的曲面必须进行裁剪才行。
对于像汽车模型那样的复杂曲面,一般要划分成数百个曲面片,在进行拼接整个汽车模型时的工作量可想而知。
对于第二类问题,基本上是先根据曲面上的测量点反算控制点,而后再用参数曲面方法构造曲面模型。
在反算过程中,必须求解大型的线性方程组。
如果采用NURBS方法反算,还必须慎重处理参数节点区间的分割和权因子的问题。
另外,尽管用参数方法构造的自由曲面模型是分片光滑的连续几何模型,但是在几何模型的图形显示、有限元分析、快速原型制造以及数控加工等各个工程领域的实际应用中,光滑连续的参数化自由曲面模型必须被分别离散为多面体模型。
综上所述,以NURBS曲面为代表的参数化曲面建模方法虽然具备许多优点,但在以上几方面却存在难以克服的缺点,这些缺陷无疑给复杂曲面的1 曲面造型技术的关键问题从初始条件来看,自由曲面造型问题可分为两大类:一类是根据给定控制点的有关坐标信息来构造自由曲面模型,即几何建-511-943-015)资助项目。
863计划(863男,1966年生,博士后,副教授;研究方向:几何建模,CAD/CAM一体化;联系人。
-11-21)(收稿日期:2000高技术通讯 2002.01造型带来诸多不便。
面片的方法,并推广到任意拓扑网格的情形。
但是-样条曲直到1998年,Sederberg等[4]参照非均匀B面的构造方法,在任意拓扑的网格上引入非均匀节点区间的概念,可以得到尖点、褶皱、刺等特征造型效果。
同时DeRose等[5]应用Catmull-Clark的递归分割方法完成了动画人物的几何模型,首先在计算机动画领域中真正得到成功应用。
由此可知,递归分割算法可以克服NURBS方法的前述缺点,具备强大的曲面造型能力。
递归分所构成的网格为1)P(i2 递归分割曲面造型算法2.1 基本定义在介绍递归分割算法的有关内容之前,先给出以下几个定义:网格节点:构成网格的控制点或测量数据点统称为网格节点(Vertex)。
网格的层:若记初始节点(0)Pi割技术不仅在计算机动画、计算机图象处理等领域中显示了广阔的应用前景,而且在计算机辅助几何设计(CAGD)、有限元分析(FEM)以及快速原型(RapidPrototyping)等领域中同样具有巨大的潜力。
2.3 基于三角形单元的递归分割算法递归分割算法所产生的网格可以是三角形或四边形。
由于三角形单元在满足任意拓扑结构的复杂形状方面比四边形单元有更好的柔性,本文将重点介绍基于三角形网格的递归逼近分割算法。
这种算法与其它多数基于三角形网格的递归算法相似。
在三角形的每一边上新插入一个节点后将其分为两段,于是,一个三角形网格被四个小的三角形网格代替,再按照Loop[6]于1987年提出的有关-样递归算法,最后可以得到切平面连续的双二次B条曲面。
根据这样的递归分割规则,除了初始网格上的不规则节点在经过递归分割后仍然是不规则节点外,所有奇节点都是规则节点。
对于递归逼近分割算法,新节点的具体位置是由周围若干节点的线性组合确定的。
为了使最后的曲面具有较好的连续性,相应于各种拓扑结构的网格节点应采用不同的权因子。
计算规则节点的权因子如图1所示。
0层网格,经过一次分割后得到的节点k)点P(i所构成的网格称为第1层网格,经过k次分割后得到的节所构成的网格称为第k层网格。
奇节点:在当前网格层上两个节点之间新插入偶节点:从当前网格层上的某节点继承而来的节点,即与原来节点相对应的节点称为偶节点(Evenvertice)。
节点的度:在网格上与某节点直接相连的周围节点总数称为该节点的度(Valence)。
规则节点:对于由三角形单元构成的网格,节点的度为6的内部节点和其度为4的边界节点,或者对于由四边形单元构成的网格,节点的度为4的内部节点和其度为3的边界节点统称为规则节点(Regularvertex)。
不规则节点:对于由三角形单元或者四边形单元构成的网格,不属于规则节点的所有节点都称为不规则节点(Extraordinaryvertex)。
2.2 递归分割算法概述基于递归分割的曲面造型算法是从描述曲面形状的初始控制网格开始,利用特定的递归规则,通过网格上局部若干个节点的线性组合来计算新的节点。
也就是说,根据所给定的初始点是决定曲面形状的控制点或者是已知实体模型上的测量点,分别应用递归逼近分割算法或递归插值分割算法计算新节点来构造曲面模型。
基于递归分割的曲面造型算法的初始控制网格可以是任意拓扑结构,克服了传统参数曲面表示法对非四边形的复杂曲面必须分片处理的缺陷,从而避免了费时而又难以处理的参数曲面片的求交和光滑拼接问题。
由递归分割算法所得到的几何模型是典型的多边形模型。
关于递归分割算法的研究可以追溯到1978年,Catmull和Clark与Doo和Sabin分别提出了迭-样条曲代分割四边形网格生成双三次与双二次B[2][3]的节点称为奇节点(Oddvertice)。
(a)内部奇节点(b)内部偶节点图1 规则节点权因子而对于不规则节点,权因子(如图2所示)由式(1)计算确定:任秉银等:基于递归分割的曲面造型算法)0)+p(b0)p(7)+(1-n i2其中权因子按式(1)求出,n=5时, =0 084。
0)(0)边界上P(b1与Pb2之间的奇节点按照图3(a)计算:)p(b112=(0)0)(pb1+p(b2)2(0)(a)靠近不规则边界点的奇节点(b)内部偶节点而边界上继承Pb2的偶节点则按照图3(b)计算:0)0)(0)(p((p(b2+b1+pb3)48按照上述方法,不难求得其它各节点的位置。
1)p(b2=图2 不规则节点权因子=,16n-8+cos84nn=3(1),n>3经过一次分割后的网格如图4(b)所示。
对于边界上的节点可以按图3所示的权因子来计算。
(a)奇节点(b)偶节点(a)初始控制网格(b)一次分割后的网格图3 规则边界节点权因子图4 递归分割构造多面体网格曲面3 算例以图4所示的初始控制网格为例,两个内部节0)(0)点分别记为P(i1和Pi2,七个边界控制点分别记为0)(0)(0)(0)P(b1,Pb2, ,Pb6和Pb7,根据前述定义,内部节0)(0)(0)点P(i1和边界节点Pb1,Pb5是规则节点,而内部节0)(0)(0)(0)(0)(0)点P(i2和边界节点Pb2,Pb3,Pb4,Pb6,Pb7都是不规则节点。
0)(0)内部节点P(i1与规则边界节点Pb1之间的内4 结论利用递归分割算法可以直接处理任意拓扑结构的复杂曲面。
经过有限次(一般情况下只须3~5次)递归逼近便可得到满足造型精度要求的多面体曲面模型,而用之作为工程分析或数控加工的主模型时则不再需要进行离散化处理。
这种递归分割算法不仅算法简单,而且实用性强。
参考文献:[1]李刚,刘华明,王新龙.CAD/CAM中曲面求交技术的研究.高技术通讯,2000,10(6):57[2]CatmullE,puterAidedDesign,1978,10(6):350[3]DooD,puterAidedDesign,1978,10(6):356[4]SederbergT,ZhengJ,SewellD,puterGraph-ics,1998,32(3):387[5]DeRoseT,KassM,TruongT.Subdivisionsurfacesincharacteranimation.In:ComputerGraphicsProceedings,AnnualConferenceSeries,SIGGR APH 98,1998,85[6]LoopC.Smoothsubdivisionsurfacesbasedontriangles)p(b01部奇节点应该按照图1(a)计算:p(1)i110)(0)(p(0)+p(0))=(p(b1+pi1)+b2i2880)内部节点P(i1与不规则边界节点P(b0)2之间的内部奇节点则应该按照图2(a)计算:(0)(0))0)(0)p(i1pb2+pi1+(p(21=b1+pb3)248(1) 对于继承内部节点P(i0)Pi1则按照1的偶节点图1(b)计算:(0)(0)1))(0)p((pi1+(pb1+ +p(b0i1=5+pi2)1616 而继承内部节点(b)计算: p(1)i2(0)Pi2的偶节点(1)Pi2则按照图2= (p(0)i1++p(0)b5+p(0)b6[Master sthesis].SaltLake:UniversityofUtah,1987高技术通讯 2002.01-subdivision-basedSurfaceModelingSchemeRecursiveRenBingyin,MengQingxin*,YuHua(Adv.ManufacturingTech.Center.,HarbinInstituteofTechnology,Harbin150001)(*SchoolofMechanical&ElectricalEngineering,HarbinEngineeringUniversity,Harbin150 001)Abstract Thedisadvantagesofthegeneralmethodsofsurfacemodelingareanalyzed.Theschemesofrec ursive-subd-ivision-basedsurfacemodelingfromarbitrarytopologicalinitialcontrollingmeshesarepresented.Allt hedifficultproblemsoftheintersectionandsmoothconjunctionofparametricsurfacesmaybea voided.Thispaperprovidesanovelmethodforconstructingthesurfacemodelswithhighefficie ncyandhighquality.Keywords:Recursivesubdivision,Surfacemodeling,Initialmeshes勘误我刊2001年第12期P.87 脱氢枞酸型聚丙烯成核剂的研究一文的标注 863计划资助项目有误,应为国家自然科学基金(50043017)资助项目 ,特此更正,并向作者表示歉意。