隐式曲面形状交互调整的新方法
塞贝尔尔曲面-概述说明以及解释

塞贝尔尔曲面-概述说明以及解释1.引言1.1 概述塞贝尔尔曲面是一种重要的曲面类型,具有广泛的应用领域和重要的数学性质。
它最早由法国数学家塞贝尔尔于19世纪中叶提出,并在不同领域中发现了许多实际应用。
塞贝尔尔曲面的研究旨在解决曲面的建模和分析问题,以及在科学计算、计算机图形学等领域中的应用。
塞贝尔尔曲面具有一些独特的特点。
首先,它是一种连续光滑的曲面,具有良好的几何性质和可曲面化的特性。
其次,塞贝尔尔曲面可通过使用各种数学表示方法来描述,例如参数化方法和隐式方程等。
这使得塞贝尔尔曲面的数值计算和分析变得更加灵活和高效。
塞贝尔尔曲面的应用领域多种多样。
在工程领域,塞贝尔尔曲面被广泛应用于汽车造型、飞机设计、船舶建模等。
它可以准确地描述复杂曲面的形状,对产品设计和仿真起到关键作用。
在计算机图形学中,塞贝尔尔曲面可以用于建模和渲染真实感图形,如动画电影、视频游戏等。
此外,塞贝尔尔曲面在数学研究、物理模拟、医学图像处理等领域也都有广泛的应用。
总之,塞贝尔尔曲面作为一种重要的数学对象,在科学和工程领域中具有重要的地位和应用前景。
本文将深入探讨塞贝尔尔曲面的定义和特点,介绍不同的数学表示方法,并探讨其在实际应用中的重要性和未来发展的展望。
通过对塞贝尔尔曲面的深入研究,我们可以更好地理解和应用这一曲面类型,推动相关领域的发展和创新。
文章结构部分的内容应该是对整篇文章的结构进行概述和说明。
以下是对文章结构的详细描述:文章的结构如下:1. 引言1.1 概述1.2 文章结构1.3 目的1.4 总结2. 正文2.1 塞贝尔尔曲面的定义和特点2.2 塞贝尔尔曲面的数学表示方法2.3 塞贝尔尔曲面的应用领域3. 结论3.1 总结塞贝尔尔曲面的重要性3.2 对塞贝尔尔曲面未来发展的展望3.3 结束语在引言部分,首先概述了整篇文章的主题,即塞贝尔尔曲面。
然后介绍了文章的结构,明确了各个部分的内容和顺序。
接着说明了写作本文的目的和目标,并最后对整篇文章进行了总结。
自由曲线与曲面

11.1 解析曲面 11.2 Bezier曲面 11.3 B样条曲面 11.4 NURBS曲面 11.5 曲面的其它表达 11.6 曲面求交算法
11.1 解析曲面(代数曲面)
代数曲面在造型系统中常见,但远远不能满足复 杂曲面造型的要求
适合构造简单曲面,不能构造自由曲面 不同类型曲面拼接连续性难以保证 不同曲面求交公式不一,程序实现量大 工程设计交互性差
通常样条曲面的求交算法采用离散逼近、迭代求精 与跟踪的方法,求交精度不高,计算量大,速度慢,对 共点、共线、共面难以处理,从而影响布尔运算的效率 和稳定性。
基本的求交算法:
由于计算机内浮点数有误差,求交计算必须引进容差。假定
容差为e,则点被看成是半径为e的球,线被看成是半径为e的圆管, 面被看成是厚度为2e的薄板。
c)然后固定指标i,以第一步求出的n+1条截面曲线的控制顶 点阵列中的第i排即: di,j, j 0,1,, n 为“数据点”,以上一 步求出的跨界切矢曲线的第i个顶点为”端点切矢”,在节点矢 量V上应用曲线反算,分别求出m+3条插值曲线即控制曲线的 B样条控制顶点di.j ,i 0,1,,m 2; j 0,1,,n 2 ,即为所求双
superquadric
superquadric曲面在商用 CAD系统应用相对较少,但 在动画软件中常用
superquadric toroids
(
x
)2/E2
(
y
)2/E2
E2/E1 a
(
z
)2/E1
1
rx
ry
rz
superquadric ellipsoids
(
x
)2/E2
(
y
E2/E1 )2/E2
代数曲面混合—切分结合S曲面片补洞方法

代数曲面混合—切分结合S曲面片补洞方法代数曲面(包括经典的二次曲面)是几何造型中的常用曲面,曲面混合是CAD /CAM中的重要课题。
本文旨在寻求对代数曲面普遍适用、混合曲面容易控制且尽量简单稳定的混合方法,因此我们围绕曲面混合框架设计、混合曲面类型以及混合边界参数逼近方法等问题作了如下工作:1.统一并推广了类Bezier基和类B样条基,由此可构造出带频率参数的UE-Bezier曲面及UE样条曲面,并在代数曲面2-way混合问题中用作混合曲面。
常用的混合曲面类型有参数曲面、隐式曲面、细分曲面、网格曲面,在造型设计中,形状容易控制与调整的参数曲面较为有利,比如经典的Bezier曲面、B样条曲面等。
本文采用了有理Bezier曲面、B样条曲面及S曲面作为混合曲面片。
当基曲面个数为2时,分别用UE-Bezier曲面及UE样条曲面代替有理Bezier曲面及B样条曲面,可进一步简化混合曲面片的形式,并增强其形状可调性。
第二章对UE-Bezier基和UE样条基作了详细研究,引入频率参数(频率序列),采用积分方法递推定义了任意阶UE-Bezier基(UE样条基),统一并丰富了多项式空间、三角多项式空间、双曲多项式空间上的类Bezier基(类B样条基),它们既保持了Bezier基(B样条基)的所有优良性质,又具有一些有利于自由曲线曲面造型的新的性质。
2.提出了切分结合S曲面片补洞的混合框架。
常见的混合框架有空间剖分分片混合框架、构建初始网格框架、基线结合动圆框架、沿混合边界扫掠框架等。
框架设计要切忌构建困难、受人为因素影响太大、混合曲面形状不可调等缺点。
本文采用切分结合S曲面补洞框架,切分方法具有确定性的切分标准,将边界曲线一分为二,切分混合曲面片沿相邻边界混合产生。
对于2-way混合问题,混合曲面片由两张切分混合曲面片组成,而对于N-way混合问题,n张切分曲面片自然围成两个n边形的洞,还需用一张S曲面片去填补每个n边形的洞。
solidworks曲面实体分类

solidworks曲面实体分类Solidworks曲面实体分类Solidworks是一款常用的三维建模软件,可以用来创建实体模型。
在Solidworks中,曲面实体是一种特殊的实体类型,常用于创建具有复杂曲面形状的零件或产品。
曲面实体可以通过不同的方法和技术进行分类。
下面将针对Solidworks曲面实体分类进行详细的阐述。
1. 基本曲面** 平面**平面是在Solidworks中创建基本曲面的最简单方法之一。
平面没有曲率或倾斜,是由四个边界定义的二维图形。
** 圆柱面**圆柱面是由一个圆形边界所定义的曲面。
它可以是一个完整的圆柱体,也可以是一个部分圆柱体。
** 锥面**锥面是由一个点和一个曲线边界所定义的曲面。
它可以是一个完整的锥体,也可以是一个部分锥体。
** 球面**球面是由一个圆心和一个半径所定义的曲面。
它可以是一个完整的球体,也可以是一个部分球体。
2. 混合曲面** 曲面修剪**曲面修剪是将一个或多个曲面相交的部分裁剪掉,只留下需要的部分。
** 曲面拓扑**曲面拓扑是通过网络、拉伸、偏移等操作将多个曲面连接在一起,创建复杂的曲面结构。
** 曲面修补**曲面修补是通过添加或修改曲面的控制点来修复或改变曲面的形状。
** 曲面拉伸**曲面拉伸是在曲面上沿着一个或多个路径方向延伸曲面的长度。
3. 高级曲面** NURBS曲面**NURBS(Non-Uniform Rational B-Spline)曲面是一种基于控制点和权重的数学模型,可以用来创建复杂的曲面形状。
** Bezier曲面**Bezier曲面是由一系列Bezier曲线组成的曲面,可以通过调整曲线的控制点来改变曲面的形状。
** 曲面修剪**曲面修剪是将一个或多个曲面相交的部分裁剪掉,只留下需要的部分。
** 曲面拓扑**曲面拓扑是通过网络、拉伸、偏移等操作将多个曲面连接在一起,创建复杂的曲面结构。
这些是Solidworks中常见的曲面实体分类,每种分类都有不同的特点和适用范围。
空间结构蒙皮算法

空间结构蒙皮算法
空间结构蒙皮算法是计算机图形学中的一个概念,它用于将一个复杂的三维物体表面(通常是由三角形或其他多边形组成)用一个连续的、光滑的表面表示。
这种表面通常被称为“蒙皮”或“曲面”。
蒙皮算法有多种,其中一些常见的包括以下几种:
贝塞尔曲线/曲面蒙皮:贝塞尔曲线和曲面是一种通过控制点来定义的数学曲线和曲面。
通过调整控制点的位置,可以实现平滑的曲线和曲面,用于蒙皮复杂的物体。
B样条曲线/曲面蒙皮:B样条是一种数学曲线和曲面的表示方法,它也可以通过调整控制点来实现平滑的表面。
NURBS蒙皮:非均匀有理B样条(NURBS)是一种广泛用于计算机图形学和CAD的表示方法。
它可以用来创建平滑的曲线和曲面,同时支持有理控制点,使得可以更好地表示各种形状。
Marching Cubes算法:这是一种用于从体数据(通常
是医学影像数据等)中生成三维模型的算法。
它将体数据分割成小立方体,并根据立方体内外的数值来确定三角形的生成。
隐式曲面蒙皮:这种方法通过定义一个隐式函数来表示曲面,函数的零交叉点对应于曲面上的点。
这种方法在实现一些复杂的形状时非常有用。
细分曲面:这是一种逐步逼近的方法,通过细分原始的多边形来逐渐生成更加平滑的曲面。
这些蒙皮算法在计算机图形学和计算机辅助设计中都有广泛的应用,用于生成具有真实感和平滑外观的三维模型。
不同的算法适用于不同的应用场景和需求。
道路施工机械复杂曲面之间的求交

C ag a n esy X ’n7 6 , h ax, hn) hn ’nU i ri , ia 0 4 S an iC ia v t 1 0
Ab ta t T e meh d fr itre t n b t e mp ii s r c s whc s u e n h g wa q i me ti sr c : h to o nes ci ewe n i l t u f e ih i s d i ih y e up n s o c a p ee td On fi l i s r c si o v  ̄e oma ytin ua ac e.An t e sd tr n d w eh r v s ne . eo mpi t u a e sc n e d t n ra g lrp th s c f oh ri ee mie h t e t nes c t v r ac .I itre td i d o titre t n .Al itre t n o nes ce u v o itre twi e ey p th f n esce ,f u nes ci s h n o l n es ci sfr itre td c re o m b t e mpii s r c s I d io ,h to f n igp e iep it ritre t n ma e nescin ewe n i l t u f e . na dt n temeh d o dn r cs on nes ci k sitre t c a i i f o f o o
与 隐式 曲面 、 参数 曲面 与 隐式 曲面 、 数 曲面 与参 数 曲 参
( 数值法 2 )
把 求交问题化 为非线性方程 组 , 用
N wo— aho迭代法求解 . et R p sn n 但有 以下要求 : 有一个合 适 的初始近似值 : 每个逼近点处的J ol 矩阵是非奇 a bn c a 异 的。 因此 , 此种方法难 以避免初值选取和迭代收敛性
PROE经典曲面实例
放样曲面的应用场景
放样曲面在产品设计、工业设计、汽车设计等领 域中有着广泛的应用。
例如,在汽车设计中,可以使用放样曲面来创建 车门、引擎盖等复杂曲面。
此外,放样曲面还可以用于创建各种艺术造型和 装饰性曲面。
THANKS
感谢观看
连接类型决定了混合曲面的外 观和连续性,常见的连接类型 有相切、曲率连续等。
混合方向可以设定为单向或双 向,控制点则用于调整曲面的 形状和连续性。
混合曲面的应用场景
混合曲面在产品设计、汽车、船 舶等领域有广泛应用。
例如,在汽车设计中,混合曲面 可以用于车身覆盖件、车门等部
件的造型设计。
在船舶设计中,混合曲面可以用 于船体曲面、甲板等部位的构造
02
CATALOGUE
经典曲面实例一:旋转曲面
旋转曲面的定义与创建
01
旋转曲面是通过围绕一条轴线旋转一个截面线而形 成的曲面。
02
在Pro/e中,可以通过“旋转”命令来创建旋转曲面 。
03
选择“插入”菜单中的“旋转”命令,然后选择一 个截面线和一个轴线,即可创建旋转曲面。
旋转曲面的参数设置
01 可以设置旋转的角度、起始位置和终止位置等参 数。
经典曲面实例三:混合曲面
混合曲面的定义与创建
01
混合曲面是由两个或多个曲面 通过特定的连接方式组合而成 的复杂曲面。
02
在Pro/e中,可以通过“曲面 混合”工具来创建混合曲面。
03
用户需要指定用于混合的曲面 以及连接方式(如相切、曲率 连续等)。
混合曲面的参数设置
混合曲面的参数主要包括连接 类型、混合方向、控制点等。
曲面分类
根据不同的分类标准,可以将曲面分 为多种类型,如代数曲面、参数曲面 、隐式曲面等。
最新细分曲面造型及应用
12
3.1 什么是尖锐特征?
曲面上不光滑点构成的集合
尖锐特征分类
折痕 尖刺 锥 角
13
3.2 已有方法
已有方法 Hugues Hoppe et al (1994) DeRose et al (1998) Sedeberg et al (1998) Habbib & Warren方法(1999) 存在问题
在两片或多片曲面之间进行平滑过渡
基曲面,混合曲面
高,往往只能得到近似解 参数曲面方法:不适于三片以上曲面片间的 混合 隐式曲面方法: 构造与计算都比较复杂 PDE方法: 混合曲面形状难控制
滚动球方法(Rolling Balls):混合曲面次数偏
26
4.2 基于轮廓删除的细分模式
图2.1
/ 面分裂)
计算新顶点位置
几何规则
细分曲面
网格序列
的极限(图2.1):
细分模式=初始网格 + 拓扑规则 + 几何规则
6
2.3
• • • • • •
细分方法研究内容
新模式构造:高阶光滑曲面、非流型曲面 收敛性、连续性等理论 造型方法:插值、各种特殊效果、光顺 细分曲面的逻辑运算:并、交、差,裁剪 应用:大规模网格拟合及多分辨率表示 与参数表示的溶合
连续条件:Reif 95, Zorin 98, Prautzsch 95,98 多分辩率分析及应用: Lounsbery 1994, Eck 1995 商业系统:Maya, Renderman, Lightwave 3D等
5
2.2 什么是细分曲面?
初始控制网格
插入新顶点
计算机图形学中的几何建模技术
计算机图形学中的几何建模技术计算机图形学是一门研究如何使用计算机生成和处理图像的学科。
在这个领域中,几何建模技术是非常重要的一部分。
几何建模技术主要涉及如何利用数学方法和算法来描述和表示三维物体的形状和结构。
在计算机图形学中,几何建模技术主要包括参数建模、多边形网格建模和体素建模等几种方法。
下面将对这几种方法分别进行讨论。
参数建模是一种基于参数方程的建模方法。
它的核心思想是用一组参数方程描述物体的几何形状。
通过调整这些参数,可以改变物体的形状和结构。
参数建模的一个典型应用是曲线和曲面的建模。
例如,利用贝塞尔曲线和贝塞尔曲面,可以方便地生成各种曲线和曲面形状,从而实现对物体的真实模拟。
多边形网格建模是一种基于多边形网格表示的建模方法。
在这种方法中,三维物体被分解成一个个多边形,并通过连接这些多边形来描述物体的形状。
多边形网格建模被广泛应用于计算机动画、游戏开发等领域。
它的优点是计算速度快、存储空间占用较小。
但是,多边形网格建模也存在一些问题,比如在处理曲线和曲面时会带来一定的误差。
体素建模是一种基于体素表示的建模方法。
体素是三维空间中的一个小立方体元素,通过组合这些小立方体元素,可以描述物体的形状和结构。
体素建模在医学图像处理、工程设计等领域有广泛的应用。
它的优点是可以直观地表示物体的内部结构和空间关系。
但是,体素建模也存在一些问题,比如在处理大规模的物体时会导致计算和存储需求增加。
除了上述几种常用的几何建模技术外,还有一些其他的几何建模方法。
例如,基于隐式曲面的建模方法使用数学方程来隐式地描述物体的表面,从而实现对复杂物体的建模。
基于体素集的建模方法则通过表示物体与边界之间的关系来描述物体的形状。
总的来说,几何建模技术在计算机图形学中起着重要的作用。
通过这些技术,我们可以方便地生成和处理各种三维图形,实现对物体形状和结构的真实模拟。
虽然每种几何建模方法都有其特点和适用范围,但在实际应用中往往需要根据具体的需求选择适当的方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机学报》2009年6期 一种隐式曲面交互调整的新方法1 周元峰1 伯彭波3 张彩明1,2 1. 山东大学 计算机科学与技术学院,济南,250101 2. 山东经济学院 计算机科学与技术学院,济南,250014 3. 香港大学 计算机科学系,香港 摘 要:提出了一种对隐式曲面形状进行交互调整的新方法, 为隐式曲面的调整提供了两种交互工具, 分别是对曲面上点的位置调整和法向调整. 该方法以调整后的位置和法向为新曲面的插值条件建立目标函数, 极小化该目标函数求解曲面参数的变化量, 从而确定新的隐式曲面. 从优化角度对极小化问题进行研究, 分别采用牛顿法和SQP(Sequential Quadratic Programming)方法求解该非线性优化问题. 在调整过程中用粒子的方法对隐式曲面进行绘制, 实现了对隐式曲面形状进行实时交互调整. 最后用实例说明了新方法的有效性. 关键词:隐式曲面;交互调整;优化; 粒子系统; 目标函数 1 引 言 随着计算机图形学、辅助几何设计、计算机建模技术的发展,隐式曲面得到了更为广泛的关注和应用。在曲面建模中,隐式曲面的优势在于表达形式简单,用户可方便地判定空间点与隐式曲面的相对位置,而且其光滑性非常高。隐式曲面能够容易的表示复杂拓扑的曲面,并且可以很容易的改变曲面拓扑结构。相对于参数曲面建模来说,隐式曲面的系数对于曲面形状的影响往往是不直观的,例如,对于代数曲面,给定代数曲面的系数之后很难预计它的形状。因此,隐式曲面模型的一个主要缺点是难以直观地控制和调整曲面的形状[1]。 近年来对于隐式曲面建模和控制的研究有很多[2-10]。目前使用较多隐式曲面类型主要包括代数曲面[4]和blobby曲面[5]。后者提供了一种方便的隐式曲面的交互设计方法。用户可通过交互修改各个blobby元素来局部修改隐式曲面,进而生成复杂形状的光滑曲面。blobby曲面是一张由一些blobby基本元素所定义的标量场的等值面。但由于blobby元素的单一性,由blobby系统构造一张曲面需要大量基本元素,且用户对此难以有效控制,这给交互设计带来了极大的困难。 对于隐式曲面形状的交互调整一直是曲面建模绘制研究中一个比较难的问题。Witkin[5]
提出了一种基于粒子化的方法对隐式曲面进行采样和控制。该方法约束一组粒子在曲面上,
1本课题得到国家“九七三”重点基础研究发展规划项目基金(2006CB303102)和国家自然科学基金(60673003,60573180)资助. 《计算机学报》2009年6期 这些粒子自动对曲面进行采样。粒子之间的排斥力使粒子均匀地分布在曲面上。而且,该方法能够允许用户交互调整指定粒子的位置,从而改变曲面的形状。但是该方法所用的参数太多难以控制,且文章中仅实现了对于曲面上点的位置的调整。Turk[10]提出了一种利用变分曲面进行插值建模的造型方法,该方法简单有效,得到的曲面插值为线性插值,构造出来的曲面形状较好,易于调整,但是该方法仅适用于变分曲面造型,对于一般的隐式曲面并不适用。Hart[6]改进了文献[5]中的方法, 给出了一种自动确定参数的方法,能够对较为复杂的隐式曲面的形状进行调整。但这种调整方式也仅实现了对顶点位置的调整,交互调整方式过于单一。如何实时调整隐式曲面形状是隐式曲面应用中的难点问题。对于隐式曲面形状的调整问题实质上是如何基于约束条件确定新的隐式曲面表达式的系数。 基于上述问题,本文提出了一种隐式曲面形状交互调整的新方法。该方法实现了对于隐式曲面上指定点进行位置调整和法向调整两种曲面形状调整方式。基于粒子系统对曲面进行实时绘制。根据用户希望的位置和法向建立目标函数和约束,利用优化方法极小化目标函数求解出调整后的隐式曲面系数。本文余下部分安排如下:第二节介绍曲率自适应的隐式曲面粒子采样方法;交互调整方法的基本思想将在第三节中给出;目标函数建立和优化方法求解在第四节中进行了详细讨论;实验结果与数据说明在第五节给出;结论和进一步的工作在第六节中讨论。
2 基于粒子的隐式曲面显示 本文提出了交互调整曲面形状的方法,在显示的时候用Witkin[5]的粒子表示方法(如图1所示),这里先简短介绍Witkin的粒子方法。 Witkin的隐式曲面建模方法是基于粒子采样系统来显示和控制一个隐式曲面。在隐式曲面(,)0fxq上约束一个圆点ip使得:
(,)0ifpq 此处ip可以看作是浮动于隐式曲面上的一个粒子(particle),利用粒子之间的互斥力将粒子均匀的分布于曲面表面,简单的互斥能够使得静态曲面得到很好的粒子分布,但是需要一个较好的采样作为前提条件。Witkin采样方法采用粒子动态分裂/死亡机制将粒子约束在曲面上,初始给定一个随机粒子和一个比较大的互斥半径,用迭代方法对粒子进行分裂或者死亡,若粒子的互斥半径大于设定的半径阈值或者
图1 Blobby曲面上的点位置和法向控制手柄 《计算机学报》2009年6期 粒子能量大于设定的能量阈值,则将该粒子一分为二,并减少粒子之间的互斥半径;反之,若粒子的互斥半径过小,则该粒子死亡。迭代重复上述步骤,直至所有粒子满足能量和互斥半径约束条件。该方法可以很好的达到收敛效果,这样隐式曲面的调整可以通过调整粒子来实现,达到了交互的目的。 隐式曲面的形变根据隐式曲面系数的变化速度确定: jjjfqqQ
其中q表示隐式曲面系数的变化速度,j为约束粒子的个数,Q为要得到的无约束系数变化速度。 3 算法基本思想 定义隐式曲面表达式为: (,)0fxq (1) 其中x定义为曲面上的点坐标,q为隐式曲面表达式系数向量。本文提出两种对于任意隐式曲面(,)0fxq的形状进行调整的工具,分别是对曲面上指定点的位置调整和法向的调整。在调整过程中,为了实时显示调整结果,我们采用Witkin的粒子方法对隐式曲面进行实时绘制。 隐式曲面表达式(1)可以看作函数(,)fxq的零值面。当用户改变了隐式曲面上的某一个顶点的位置或者法向之后,曲面形状就会随之变化,新的隐式曲面插值由新顶点的位置或法向来指定。本文的方法以新顶点的位置或法向作为曲面形状改变的目标插值,建立新的目标函数,极小化目标函数求解新的隐式曲面系数变化量q,从而得到形状改变后的新的隐式曲面(,)fxqq。这里,该求解过程看作一个优化过程,以插值条件建立目标函数,进行优化。第3节详细给出了插值目标函数的建立和求解方法。
4 隐式曲面交互调整新方法
首先介绍曲面交互调整的工具,如图1所示,图中是采用粒子系统绘制的两个blobby
球体组成的blobby曲面。图中椭圆区域所标识的蓝色圆盘为曲面上点的位置调整手柄,蓝色圆锥为曲面上点的法向调整手柄。用户选中要调整的圆盘或圆锥,调整到希望的位置或方向。隐式曲面自动调整形状,插值于用户的设定位置或法向。
4.1 基于顶点位置的调整 《计算机学报》2009年6期 任意指定隐式曲面上某一顶点nx,通过交互方式将nx的位置移动至新位置nx,这时发生形变后的隐式曲面方程为: (,)0fxqq 其中q为隐式曲面方程系数的变化量。 利用隐式曲面是曲面表达式的零值面的性质,我们定义目标函数如下: 2(,)positionFfxqq (2)
其中q为方程未知量。目标函数(2)的几何意义可以看作是调整后的顶点到新曲面的代数距离平方。通过极小化positionF寻找通过新顶点x的零值面。即求解: Min()positionFq (3)
4.2 基于顶点法向的调整 基于顶点位置的调整对于曲面形状设计来说比较直观,但是调整方法过于单一。本文还给出了基于曲面顶点法向的调整方法。用户指定曲面上的一点nx,交互地将该点处法向的方向调整到一个新的位置。 (1)无约束法向调整: 假设对nx的法向调整之后的新法向为n,以调整后的曲面在nx处的法向与用户给定法向同向为目标,建立以下目标函数: 2(,)normalnFfxqqn (4)
其中(,)nfxqq表示在nx处的梯度,q为隐式曲面系数变化量。 极小化目标函数(4)得到未知量q的值,即求解: Min()normalFq (5)
(2)带约束法向调整: 一般来说,改变了曲面一点的法向之后,曲面发生形变,这时曲面不会再插值于被修改法向的调整点。为了约束新的曲面插值于调整点,可以将顶点位置作为约束条件。约束条件定义为: (,)0nfxqq 用带约束的极值求解方法极小化目标函数得到未知量q的值,即求解带约束的优化问题: Min()constraint: (,)0normalnFfqxqq (6) 《计算机学报》2009年6期 4.3 问题的求解 我们用优化方法求解(3),(5)和(6)三个目标函数[11,12],确定隐式曲面系数的变化量q。对于非线形优化问题的求解,本文采用牛顿法和序列二次规划方法(SQP)。 (1)牛顿法是求解非线性优化问题的一种迭代方法。将非线性函数()fx在初始值0x点处进行二次Taylor展开,求解该二次优化问题的解1x,作为下一次求解的初始值。该方法在局部具有平方收敛速度。 (2)SQP (Sequential Quadratic Programming)方法是求解带约束的非线性问题的一种迭代方法,在每次迭代中求解一个二次规划子问题(QP问题)。该子问题对目标函数进行二次逼近,对约束条件进行线性逼近。 牛顿法和SQP方法都是局部优化方法,在局部均具有2()On收敛速度。在交互调整过程中,由于用户的调整是逐步的,所求解的未知量是q,在此每次求解设定q的初始值是0,因为曲面的变化总是从系数的变化量0q开始,所以采用牛顿法或者SQP方法所得到的解一定是局部极小解中的一个值。这样做也保证了牛顿法和SQP方法在求解过程中的收敛性,从而得到正确的结果。在程序实现中本文使用了IMSL优化函数库[13],用于提高目标函数求解速度和稳定性。 4.4 算法描述 我们将基于顶点位置的调整和基于顶点法向的调整归结为两个交互算法如下: 算法 1:输入:隐式曲面(,)0fxq; Step 1:用户选定曲面上一点nx,得到位置控制手柄; Step 2:将指定的点nx进行拖拽到一个新的位置nx; Step 3:根据新位置nx建立目标函数(3); Step 4:设定隐式曲面系数的变化量初始值为0q,极小化目标函数。用牛顿法求解q的值; Step 5:将q代入隐式曲面表达式得到调整后的曲面,继续调用Step 2直至得到用户满意的形状。 算法 2:输入:隐式曲面(,)0fxq; Step 1:用户选定曲面上一点nx,得到其法向控制手柄; Step 2:将指定的点nx的法向圆锥拖拽到一个新的位置n; Step 3:根据新位置n建立目标函数(5)或者带约束的优化目标函数(6);