三次B样条曲线(精选八篇)

云宝吧 时间:

三次B样条曲线(精选八篇)

三次B样条曲线 篇1

1 三次B样条曲线定义

B样条曲线是对Bezier曲线的改进, 它不仅保留了Bezier曲线的优点, 而且具有局部控制的能力。在B样条曲线中, 给定n+1个控制点Pi (i=0, 1, ……, n) , 也称为特征多边形的顶点, k次 (k+1阶) B样条曲线的表达式是:

其中Ni, k (u) 是调和函数, 也称为基函数, 可由下面的递推关系得到:

式中ti是节点值, 且为非减序列, T=[t0, t1, .., tn+k+1]构成了k次 (k+1阶) B样条基函数的节点矢量, 每一基函数由对应的k+2个节点决定。

上式也表明, 高次B样条函数可用低次的B样条函数来表示, 由此式可得其递推计算方法。

由基函数可知B样条基函数具有局部支撑特性, 即

节点矢量所含节点数目由控制顶点Pi (i=0, 1, ……, n) 和曲线次数k所确定 (节点数=n+k+2) , 显然, 基函数个数与控制点数相等。

在上文B样条曲线的方程式 (1) 中当k=3, i=0, 1, 2, 3时, 所对应的基函数分别为:

因此三次B样条曲线方程是:

用矩阵形式可表示为:

2 三次B样条曲线插补算法设计

根据数据采样插补的原理, 插补的目的就是要求在一个插补周期T内, 刀具沿曲线所截取的轮廓步长运动。由于三次B样条曲线的各坐标分量均为参数的函数可以直接计算, 在每个插补周期T内, 有相等的微小增量△u, 即参数u的增量步长恒定, 然后由公式计算得下一个插补点。这种插补算法虽然计算简单, 速度快, 但其存在插补速度不恒速等缺点。

要使得样条插补在轨迹空间内匀速, 就必须要根据编程进给速度来确定一个插补周期内的轮廓步长, 然后将此参数映射到参数空间中, 得到与其相对应的参数空间内的增量△u。

设是样条曲线的切线速度矢量:

设V是样条曲线的编程进给速度, 则:

设控制系统的插补周期为T, ti+1-ti=T, u是关于t的函数, 令u (ti) =ui, u (ti+1) =ui+1, 用泰勒级数将u (ti+1) 在ti展开可得:

所以, 插补递推公式的一阶近似为:

二阶近似为:

由于现在的数控系统插补周期T一般都很小, 在曲线半径不太小的情况下, 一阶近似迭代求解已经可以满足精度要求。如果曲线曲率半径很小, 便要采用二阶近似。

由于每个插补周期内的参数增量:

是由编程进给速度和插补周期决定, 在每一个插补周期中生成的轨迹空间的弦长是不变的, 所以进给速度是不变的。

3 程序流程

根据上文的理论分析及公式推导, 可按照图1所示的流程设计程序。

4 插补算法的VC程序实现

该程序主要用于演示在平面坐标系中三次B样条曲线的插补过程, 以及速度控制的实现。要求用户输入控制点点数、插补速度和插补周期, 并在绘图区选择控制顶点。绘图区采用Windows的默认坐标系, 即左上角为原点 (0, 0) , 向右方向为X轴正方向, 向下为Y轴正方向。

程序运行后, 首先根据输入的控制定点数, 申请内存空间, 并进行初始化, 用于保存各控制顶点信息, 然后将鼠标选取的坐标点信息以此存放到申请的内存空间中, 当最后一个点选择完毕后, 程序将按照前面输入的插补速度和插补周期, 结合公式 (5) 、 (8) , 计算出每个插补周期的的增量和小直线段的终点, 以插补速度V匀速的绘制出所要求出的三次B样条曲线。

参数输入。在本程序中需要用户输入三个数据:控制点的数目、曲线的插补周期和插补速度, 且控制点数不能小于4, 插补速度和插补周期大于0。

程序运行。完成上述信息输入后, 通过鼠标点击在绘图区选取给定个数的控制点的坐标, 程序将在最后一个点选取完成后自动按照给定速度, 匀速的绘制出相应的三次B样条曲线。以10个控制定点为例, 绘制出的三次B样条曲线如图2所示:

结论

通过对三次B样条曲线的数学性质、三次B样条曲线插补过程的分析和研究, 用VC实现了三次B样条曲线插补算法, 实现过程中采用动态改变参数的增量实现了插补的匀速进行, 该程序略加改动即可应用于简易数控系统。因此, 对于更好地理解插补原理及工程实践都有借鉴意义。

摘要:本文结合三次B样条曲线的数学性质, 理论分析了三次B样条曲线的插补过程, 推导出了三次B样条曲线的插补运算公式。在对三次B样条曲线进行研究的基础上, 介绍三次B样条曲线插补算法实现方法, 并在VC环境中对B样条曲线的插补过程进行了实现数控插补的动态运算。

关键词:三次B样条,插补,VC

参考文献

[1]周凯.PC数控原理、系统及应用[M].北京:机械工业出版社, 2006.9.

[2]胡自化, 张平.三次B样条曲线恒速进给实时插补算法的研究[J].北京:制造技术与机床, 2000 (8) .

[3]周凯, 陆启建.样条曲线采样插补技术[J].大连:组合机床与自动化加工技术, 1998 (4) .

[4]叶伯生, 杨叔子.CNC系统中三次B-样条曲线的高速插补方法研究[J].武汉:中国机械工程, 1998.9 (3) .

三次B样条曲线 篇2

关键词:B样条曲线;LS文法;大豆叶片;几何建模

中圖分类号:S126 文献标志码:A 文章编号:1002—1302(2016)01—0411—03

近几年,虚拟植物的形态模拟和可视化得到了广泛的关注和研究,植物学、计算机图形学和数学等多个学科的结合促进了植物模拟的发展,叶片又是植物最重要的特征之一,对植物叶片模型的研究具有很重要的意义。

目前,在大豆叶片方面的研究,已取得了一定的进展。例如,基于生长方程建立的大豆叶片模型,该方法需要结合大量的空间特征以及数据进行分析,来实现大豆叶片的模拟效果,但模拟的叶形真实感不强;结合L系统建立的大豆叶片模型,通过测量特定时期的叶片特性,建立数学模型分析,结合L系统模拟叶脉,该方法能够模拟出叶片的二维模型,但叶脉模型较为生硬,不自然。

以大豆叶片作为研究对象,以角点检测法对叶片轮廓上的特征进行提取、检测;结合B样条曲线建立大豆叶片轮廓线的几何模型;最后利用Ls文法模拟叶脉走向。以Matlab软件作为实验平台,快速、高效建立出叶片的几何轮廓。

1叶片轮廓提取

选取黑龙江八一农垦大学试验田内7-8月生长期的完好的农青1号大豆叶片,将采下的叶片放置在书本中压平,并以白色纸板为参考板,作为拍照时的背景。

1.1图像灰度化

将采集的叶片真彩色图像传输到计算机中,由于真彩色图像信息量较大且数据复杂,不易于信息提取,因此将真彩色图像进行灰度化处理能够很好解决这个问题。真彩色图转灰度图像的实质就是找到三维空间与一维空间之间的映射关系(即:过真彩色rgb空间的一个点向直线r=g=b作垂线),有gray=0.299×r+0.587×g+0.114×6,利用这一公式就可以将真彩色图像转换为灰度图像。

1.3叶片边缘提取

通过边缘检测算子提取的輪廓是获得轮廓的主要方法。依据目标物体的边缘特征点剔除不相关的多余冗散信息,并修正保留下来的边缘。在众多边缘检测中Canny算子不易受噪声干扰,具有较好的定位和检测标准;具有4方向梯度检测(水平、垂直、45°、135°);双阈值检测等。因此,在大多数情况下,Canny算子的边缘检测结果优于其他算子。通过试验表明,Canny算子的检测结果不仅能够清晰地提取图像的边缘,并且良好地保留了边缘的连续性。

叶片轮廓提取结果见图1。

2 Harris算法检测轮廓特征点

2.1角点算法原理

Harris角点检测算法的基本思想就是从图像的局部小窗口观察图像特征,通过计算向任意方向移动后的小窗口内的图像灰度平均变换值来确定角点。采用一个自相关函数在二维方向具有明显变化的像素点的位置上来计算灰度值,建立一个相关函数矩阵M,对特征值M的大小进行比较,来提取相应的角点。

三次B样条曲线 篇3

NURBS (nonuniform rationalB-spline) 曲线曲面形状修改一直是CAGD中的关键技术之一, 许多学者在这一领域已做了大量的研究工作:1987年Pieg[1]的提出了两种NURNS曲线曲面的形状修改算法, 基于控制布点变动和基于权因子变动的方法;1993年, Fowler和Bartels[2]给出了用户依靠曲线在给定点的值和导数的几何性质的形状修方法;1995年, Au和Yuen[3]给出了同时改变曲线控制顶点和权因子, 使曲线形状修改可以达到较细微的郊果, 文献[4]给出了NURBS曲线和曲面几何约束修改的新方法。本文提出了对于三次准均匀B样条曲线应用加权约束优化的方法, 对控制顶点进行扰动, 采用最小二乘法改变曲线上给定点的位置。均匀B样条曲线的定义及性质

1 三次准均匀B样条曲线的定义及性质

设一条三次准均匀B样条曲线为

其中di (i=0, 1, 2, …, n) 是控制顶点, Ni, 3 (u) (i=0, 1, 2, …, n) 是定义在节点矢量u={0, 0, 0, 0, uk+1, uk+2Lun+1, un+2, un+2, un+2, un+2}上的三次B样条基函数。

当把定义在每个区间上用整体参数u表示的B样条基变换成用局部参数t∈[0, 1]表示, 三次准均匀B样条曲线第i段可由矩阵表示为:

(1) 式中di, di+1, di+2, di+3为特征多边形的顶点, Mi是系数矩阵, 三次准均匀B样条的系数矩阵如表1所示。从定义可以看出:每一段曲线的点, 只与四个相邻控制顶点有关, 而改动一个控制顶点只影响该点为中心的邻近3段曲线。

2 单点约束时控制顶点变动的三次准均匀B样条曲线形状修改

如图1所示, 令S为初始B样条曲线第i段Pi (t) 上的初始点, T为初始对应的目标点, 那么如何改变初始曲线P (t) 的控制顶点, 使得修改后的曲线P (t) 通过给定的目标点T?

根据B样条曲线局部参数的定义, 知道不必对曲线上所有的控制顶点进行改动, 只要修改di, di+1, di+2, di+3四个控制顶点即可, 令εi表示控制顶点di的扰动量, 为了使曲线保持端点不变, 取ε0=εn=0。那么改变后的控制顶点为di=di+εi。因此控制顶点改变后的第i段B样条曲线方程为:

对于初始曲线上参数为t0的初始点, 由方程 (1) 可得:

对于修改后曲线Ρ¯ (t) 上参数为t0的目标点, 由方程式 (2) 式、 (3) 可得:

令 (1 t0t02t03) Mi= (aiai+1ai+2ai+3) , 令ΔΡi (t0) =Ρ¯i (t0) -Ρi (t0) 则表示为式 (4) 。

实际上, 方程 (4) 即制顶点的约束方程, 从几何角度出发, 选取在最小二乘意义下使控制顶点变化量, 即扰动量最小为目标函数j=ii+3εj2=min, 然后用约束优化的方法求解。这种情况下是将所有需要改变的控制顶点同等对待, 而实际运用中可以将需要改变的控制点的重要性区分开来, 因此相应的优化目标为:j=ii+3αiεi2=min, 其中αj (iji+3) 表示加权系数, 其中每个加权系数均满足0≤αj≤1且j=ii+3αj=1

λ为Langrange乘子, 取Langrange函数

L=j=ii+3αjεj2+[ΔΡ (t0) - (aiεi+ai+1εi+1+ai+2εi+2+ai+3εi+3) ]λ;

Lλ=0LΔεj=0 (j=i, i+1, i+2, i+3) 得下列方程组:

(5) 式中 (j=i, i+1, i+2, i+3) , 上述方程组四个方程, 四个未知数, 解这个四元一次方程组, 可得控制顶点的扰动量εi, εi+1, εi+2, εi+3。将εi, εi+1, εi+2, εi+3代入 (2) 即得修改后的曲线。

根据以上分析, 建立加权约束优化三次准均匀B样条曲线形状修改步骤如下:

step1: 输入待修改三次准均匀B样条曲线Pi (t) ;

step2:由用户给定Pi (t) 上一点Pi (t0) 及该点的改变量ΔPi (t0) ;

step3:根据系数矩阵Mi, 由 (4) 计算ai, ai+1, ai+2, ai+3;

step4:取定加权系数αi, αi+1, αi+2, αi+3;

step5:根据式 (5) 计算顶点的改变量;

step6:根据式 (2) 输出计算修改后的曲线Ρ¯i (t)

3验证

图2与图3是采用本文所给的方法对三次准均匀B样条曲线形状修改实例。

图2中曲线1是具有6个控制顶点的初始曲线, 初始点p0 (1/2) = (20.88, 11.25) 位于第0段上, 取Δp0 (1/2) = (-2, 2) , 为保持端点不变, 令ε0=0, 对d1, d2, d3进行扰动, 其它的控制顶点的位置不变动。曲线1为初始曲线, 其初始控制顶点:d0= (-40, 0) , d1= (-20, 0) , d2= (-16, 40) , d3= (10, 40) , d4= (20, 0) , d5= (40, 0) 。曲线2为修改曲线α1=0.9, α2=0.05, α3=0.05, 新控制顶点d¯1= (-20.75, 0.75) d¯2= (-21.93, 45.93) d¯3= (9.53, 40.47) ;曲线3为修改曲线α1=0.1, α2=0.8, α3=0.1, 新控制顶点d¯1= (-23.36, 3.36) d¯2= (-16.02, 40.02) d¯3= (9.99, 40.01) d¯4= (14.01, -15.99)

图3中曲线1是具有7个控制顶点的初始曲线, 初绐点p1 (2/3) = (-3.36, 31.11) 位于第1段上, 取Δp1 (2/3) = (3, 3) , 对d1, d2, d3, d4进行扰动, 其它的控制顶点的位置不变动。曲线1为初始曲线, 初始控制顶点d0= (-30, 0) , d1= (-20, 20) , d2= (-10, 40) , d3= (0, 30) , d4= (10, -20) , d5= (20, 0) , d6= (30, 30) ;曲线2为修改曲线α1=0.02, α2=0.45, α3=0.45, α4=0.08, 新控制顶点d¯1= (-18.69, 21.31) d¯2= (-7.71, 42.29) d¯3= (3.59, 33.59) d¯4= (11.73, -18.27) ;曲线3为修改曲线α1=0.05, α2=0.48, α3=0.48, α4=0.035, 新控制顶点d¯1= (-14.71, 25.29) d¯2= (-7.82, 42.18) d¯3= (3.40, 33.40)

4结论

本文讨论了三次准均匀B样条曲线形状修改问题, 提出了运用约束优化法, 通过对B样条曲线的控制顶点进行扰动, 采用加权最小二乘法调整B样条曲上给定点的位置。由加权系数的引进, 获得了调整三次准均匀B样条曲线的额外手段, 即加权系数。因此在满足给定约束的前提下, 可以通过改变加权系数进一步调整修改后曲线的形状, 可实现曲线局部形状的多种修改效果, 同时可作为研究均匀B样条曲线加权约束优化修改的理论依据。

摘要:三次准均匀B样条曲线广泛应用于计算机辅助几何设计 (CAGD) , 它保持了B埁zier曲线的端点性质, 但比B埁zier曲线在形状设计方面更加灵活。运用加权约束优化的方法, 修改三次准均匀B样条曲线的控制顶点, 采用最小二乘法, 修改曲线上给定点的位置, 该方法可实现多种形状修改和变形效果, 便于交互设计, 并给出相应的实例说明算法的有效性。

关键词:计算机图形学,三次准均匀B样条曲线,约束优化,加权因子

参考文献

[1]Pieg l L.Modifying the shape of rational B-spline.Part1:curves.Computer Aided Design, 1989;21 (8) :509—518

[2]Fowler B, Bartels R.Constraint-based curve shape manipulation.IEEE Computer Graphics and Applicatons, 1993;13 (5) :43—49

[3]Au C K, Yuen MMF.Unified approach to NURBS curve shape mod-ification.Computer-Aided Design, 1995;27 (2) :85—93

[4]Hu Shimin, Zhou Denwen, Sun Jiagang.Shape modification of NURBS curesviaconstrained optinization.In:Proceedings of the CAD/Graphics99.Shanghai Wenhui Publishers, 1999:658—962

基于三次样条曲线绘制与实现 篇4

1 基本思路

区域属于非规则图标, 它没有标准化数据或者只有部分标准化数据, 在标绘时要依据一定的比例, 以一系列点位坐标为轮廓线组合成一封闭图形, 并可能配置一定的规则军队标号, 如:集结 (待机) 地域。

“集结地域”的标绘可由3个点以上的若干个点进行定位, 其形状可根据所指定点的走向随意变化。绘制该符号时一般需要给出3个控制点, 推算出边界轮廓线坐标串, 然后根据该坐标串进行光滑处理, 形成该符号的轮廓线。通常在绘制该标号时, 要求轮廓凹的方向为部队进攻或防御方向。如图2所示:已知A、B、C、D 4点, 求P1、P2、P3、P4、P5、P6点位坐标, 然后利用3次样条曲线函数进行光滑处理并绘制轮廓线。因此其关键问题是计算P1……P6点。P4和P6是AB延长线上的点, P1和P3点分别是通过A点和B点垂直于AB延长线上的点, P2是A点和B点的中点, 为轮廓的凹方向控制点, P5点是C点和D点的中点。

2 程序实现

(1) 获取控制点 (左键开始采集, 右键结束采集)

(2) 绘制猪腰子形状的集结地域标号 (计算控制点)

(3) 根据输入的点集结地域轮廓线上P1~P6 6个控制点的计算

(4) 利用三次样条函数求取光滑曲线上点

3 结语

三次B样条曲线 篇5

如图1所示零件外形轮廓曲线为三次样条曲线,该样条曲线分别与两段抛物线y2=20x、y2=24x相切连接(G1连续)和曲率连接(G2连续)。在车削三次样条曲线回转面时,如果用手动编程必须知道三次样条曲线的数学表达式,建立三次样条曲线数学表达式的计算相对复杂,为此本文讨论了基于UG自动编程车削加工三次样条曲线回转面的方法,并在数控车床CK6132(华中数控系统)上完成了此类零件的加工。

2 车削工艺

待加工零件的结构如图1所示。

毛坯尺寸为准75mm×85mm,材料45钢。

(1)工序1:装夹右端加工左端

工步1:手动车削左端面(手动操作);

工步2:用20mm的麻花钻钻通孔(手动操作);

工步3:用外圆车刀粗车外圆,保证准72mm×40mm,用作调头装夹基准;

工步4:用外圆车刀精车外圆,保证准72mm×40mm,用作调头装夹基准;

工步5:用镗刀粗车M45×1.5底孔和准47mm孔;

工步6:用镗刀精车M45×1.5底孔和准47mm孔;

工步7:用宽3mm的切槽刀切3mm×1.5mm的螺纹退刀槽;

工步8:用螺纹车刀车削M45×1.5的螺纹。

(2)工序2:调头装夹左端加工右端

工步1:手动车削右端面;

工步2:用镗刀粗车准24mm的孔;

工步3:用镗刀精车准24mm的孔。

(3)工序3:用心轴定位,用一夹一顶的装夹方法加工三次样条曲线回转面

工步1:用外圆车刀粗车三次样条曲线回转面;

工步2:用外圆车刀精车三次样条曲线回转面。

3 建立零件三维模型

用UG的CAD模块创建三维模型,而该零件的三维模型创建的难点在于如何通过抛物线约束建立三次样条曲线,其操作步骤如下:

(1)通过建模界面工具栏里的“抛物线”绘制两抛物线Y2=20x和Y2=24x。(2)建立三次样条曲线,如图2所示。操作:单击【样条】按钮,弹出艺术样条对话框,“方法”选第一种,“阶次”输入3,勾选“匹配的结点位置”,“制图平面”通过下拉键选择XC-YC,然后选择抛物线Y2=20x的端点并点击约束方式G1,另一边选择抛物线Y2=24x的端点并点击约束方式G2,最后单击【确定】生成三次样条曲线。(3)进入二维草图“添加”三次样条曲线。(4)根据零件图完成零件草图。(5)通过“回转”特征建立三维模型。(6)再用“特征操作”来生成螺纹,最终得到三次样条曲线回转面零件的三维模型,如图3所示。

4 创建精车三次样条曲线回转面加工[1,2]

4.1 初始化加工环境

要进行数控车削加工,必须选择车削加工环境。首先进入UG的CAM加工模块,然后选择车削加工“turning”这样就完成了加工环境的设置。

4.2 创建程序

单击【创建程序】按钮,弹出创建程序对话框,为工序3创建一个程序“PROGRAM_3”。

4.3 创建刀具

单击【创建刀具】按钮,弹出创建刀具对话框,为工序3创建加工所需的车刀———名称为OD_55_L(菱形刀片机夹车刀,用于粗、精车样条回转面)。

车削该三次样条曲线回转面零件的车床为前置刀架,在创建刀具时,通过调整“刀具视图”为右视图,确定合适的“方向角度”,即可设置模拟刀具为前置。“刀具半径”设置为0。

4.4 创建加工几何对象

(1)创建加工坐标系。单击【创建几何体】按钮,弹出创建几何体对话框,选择,“位置”选择GEOMETRY,“名称”输入MCS_SPINDLE_1,单击【确定】弹出MCS主轴对话框,将“车床工作平面”选择ZM-XM面,单击“指定MCS”坐标按钮,弹出CSYS对话框,单击“操控器”中“指定方位”坐标按钮输入点(0,0,0),并且拖住YM-ZM面的点旋转180°,单击【确定】,完成创建加工坐标系如图4所示(即工件坐标系)。

(2)指定部件。单击【几何视图】,单击【操作导航器】后,双击WORKPIECE进行设置,在工件的“几何体”选项下单击指定部件,然后选择整个零件模型作为部件,最后单击【确定】完成WORKPIECE几何对象的设置。

(3)设置毛坯。单击【几何视图】和【操作导航器】后,双击TURNING_WORKPIECE进行设置,在Turn Bnd的“几何体”选项下单击指定毛坯边界,在“选择毛坯”中选择管材,毛坯尺寸设置为外径75mm,内径20mm,长80mm,单击【确定】完成毛坯的设置。

(4)创建加工空间范围。单击【创建几何体】按钮,弹出创建几何体对话框,选择,为工序3创建加工空间范围“CONTAINMENT”,加工空间范围如图5所示。

4.5 创建操作[3,4,5]

创建3工序第2工步的刀轨,单击【创建操作】,弹出创建操作对话框选择,为3工序第2工步创建操作“FINISH_TURN_OD_2”,“位置”通过下拉框选择“程序”为PROGRAM_3,“刀具”为OD_55_L,“几何体”为CONTAINMENT,“方法”为LATHE_FINISH,“名称”输入FINISH_TURN_OD_2,点击【生成刀轨】按钮生成刀轨,最后单击【确认刀轨】按钮,就可以对零件进行数控车削加工的仿真模拟,工序3的仿真结果如图6所示。

5 创建“HNC21T”后置处理器

车削刀路创建好后,就可以进行后置处理生成数控机床能识别的NC程序。由于数控系统类型很多,差异较大,在生成程序之前,要根据不同系统的数控机床创建与之对应的后处理器。在UG中,后处理器是通过“后置处理构造器”来进行编制和修改的。下面以华中HNC21T为例,创建其后置处理器。

(1)启动UG/Post Builder程序:选择电脑的【开始】菜单→【程序】→【UGS NX6.0】→【加工工具】→【后处理构器】,启动UG/Post Builder,开始创建后处理程序。

(2)创建新的后处理文件:名称设定为“HNC21T”出单位控制为mm,机床类型设置为车床,控制器选择“般”。

(3)在“机床”选项中设置机床基本参数:将“轴参设置为“直径编程”,其他选项保持默认值。在“程序和轨”选项中设置“程序起始序列”下的“程序开始”,修,删除其中的G71;继续在“程序和刀轨”选中设置“操作起始序列”下的“自动换刀”,删除并且修改,删除“H0l M06”,并编辑T T0101格式;在“刀轨”选项下的“运动”中将“车纹”改成“G32 X Z F”,将在“程序结束序列”中的“M02”改为“M30”,其他均保持默认值。

(4)将创建好的后处理文件HNC21T保存到“C:Program FilesUGSNX6.0MACHresourcepostprocessor”路径下。修改后处理模板文件“template_post.dat”,找到“C:Program FilesUGSNX6.0MACHresourcepostprocessortemplate_post.Dat”文件,然后用记事本打开“template_post.Dat”文件,在文件最后一排添加“HNC21T,${UGII_CAM_POST_DIR}HNC21T.tcl,${UGII_CAM_POST_DIR}HNC21T.def”,保存并关闭记事本。

6 后处理生成NC程序代码(华中数控系统)

利用前面构建的HNC21T后处理器,对精车三次样条曲线回转面的操作进行后处理得到NC程序代码如下:

7 结语

基于UG数控车削的自动编程,避免了手工编程中繁琐的基点、节点计算,使编程效率和正确性得到提高。

摘要:以三次样条曲线回转面的数控车削加工为例,介绍了基于UG车削加工三次样条曲线回转面的自动编程方法,阐述了针对不同数控系统的数控车床,如何创建后置处理器。UG自动编程的步骤包括:首先使用UG NX6.0的建模功能完成三次样条曲线回转面的三维模型;然后进入车削加工模板,根据加工工艺生成所有工序的车削刀路,再根据车削刀路进行仿真模拟;最后进行后置处理得到车削加工程序。结果表明加工精度符合图纸要求,基于UC的自动编程可以提高NC程序的正确性和安全性,同时还能提高工作效率。

关键词:三次样条曲线,UG,车削加工

参考文献

[1]肖世宏.机械工程师UG NX5.0中文版数控加工[M].北京:人民邮电出版社,2008.

[2]高勇,苑桂平.UG NX中文版数控加工基础教程[M].北京:人民邮电出版社,2006.

[3]梅梅,姬宜朋.基于UG NX6.0环境的数控车削加工实践教程[M].北京:机械工业出版社,2009.

[4]郑贞平.UG NX5.0中文数控加工典型范例[M].北京:清华大学出版社,2006.

三次B样条曲线 篇6

关键词:三次样条,插值函数,Matlab程序

一、引言

用梯形积分法和希普森法模拟机翼下曲线的轮廓, 虽然计算比较简单、稳定性好, 但精度比较差。利用样条插值, 既保证了计算的稳定性, 又提高了计算的精度。故给出利用三次样条插值构造机翼曲线的函数和计算步骤, 并用Matlab软件编写三次样条函数的程序, 绘出机翼轮廓的曲线图形。

二、机翼下轮廓参数及加工要求

已知机翼下轮廓上的数据如下:

机床加工时, 需要X每加0.2时的Y值, 试设计出具有二阶光滑度的机翼下轮廓线并画出图形。 (边界条件为:S" (0) =S" (1.5) =0)

三、构建机翼轮廓模型曲线函数

由计算公式:

确定的线性方程组为:

四、求解模型函数

设左端矩阵为A, 向量为M, 右端向量为d.由MatLab计算, 可得:

下面求出分段多项式形式, 程序见源代码

五、三次样条插值函数的Matlab程序

六、结论

Matlab环境下编写求解机翼曲线模型的三次样条插值函数, 可直接显示各区间段三次样函数的具体表达式, 计算出给定点的值, 最后显示各区间的曲线图, 为精确模拟机翼曲线提供了简洁方法。

参考文献

[1]郦正能编.飞机部件与系统设计[M].北京航天航空大学出版社, 2006.

[2]同济大学计算数学教研室编.现代数值数学和计算, 2004.

三次B样条曲线 篇7

基础底面以下土层的压缩模量Es是求取地基变形的重要的参数之一, 其值直接影响着地基计算沉降量的精确度。目前通用的求取压缩模量Es的方法是根据室内压缩试验, 得到土样e—p曲线, 在e—p曲线中取土层自重压力p1和土层自重压力与附加压力之和p2所对应的e1, e2, 进而确定土层压缩模量。这种方法工作太繁琐且精度不高。为解决这一问题, 许多学者提出了不同的依据数学分析的计算机绘图方法, 用以替代手工绘图和目测判读。如梁勇然、孙洪涛[1]根据大量测试指标的统计分析发现, 土样e—p曲线逼近幂函数与自然指数函数的复合模型。彭长学、杨光华假设软土e—p曲线为双曲线方程[2], 通过e0, Es来确定双曲线方程参数的简化方法, 从而实现了e—p曲线数值化。这些研究成果为准确确定e—p曲线提供了理论方法, 但后续研究仍需持续开展。本文利用三次样条插值方法, 无需对土进行分类, 只需知道土样的压缩试验数据点, 就可以对土的e—p曲线进行数值化, 其计算快速, 且插值精度非常高, 插值拟合曲线与e—p曲线非常吻合。

1 三次样条插值原理

三次样条插值是利用已知数据点 (x1, y1) , …, (xn, yn) , 运用分段三次多项式来推算其未知数据点 (x, y) 的一种数值计算方法, 其具体原理如下:

设在区间[a, b]上, 给定n+1个节点a=x1<x2<…<xn+1=b及其函数f (x) 相对应的值y1=f (x1) , y2=f (x2) , …, yn+1=f (xn+1) 。若函数s (x) 满足:

1) 在每个节点上满足s (xi) =f (xi) (i=0, 1, …, n) ;

2) 在[a, b]上有连续的一阶, 二阶导数;

3) 在每个小区间[xi, xi+1] (i=0, 1, …, n-1) 上都是三次多项式;

则称s (x) 为f (x) 在[a, b]上的三次样条插值函数[3]。

从定义知s (x) , 在每个小区间[xi, xi+1]有4个未知数, 那么n区间有4n个未知数, 而s (x) 满足的条件只有4n-2个, 因此需要2个条件才能确定s (x) 。如是补充弯矩边界条件:

其三弯矩方程组的矩阵形式为:

对于弯矩边界条件, 直接得:

那么就可得到分段区间[xi, xi+1]上的三次样条插值函数:

2 三次样条插值函数的优越性检验

三次样条插值具有较好的稳定性和收敛性, 还具有一阶光滑性和二阶光滑性。为了验证其优越性, 分别采用三次多项式插值、四次多项式插值、三次样条插值对e—p压缩曲线进行拟合。实验数据及拟合精度如表1, 表2及图1, 图2所示。

利用上述数学模型对e—p曲线进行拟合, 计算的结果如表1, 表2所示。从表1, 表2中可以看出, 三次样条插值在拟合的精度上比三次多项式和四次多项式要高, 达到了零误差精度;三次样条插值的稳定性比前两种拟合方法要好, 两种土样都是同样的精度, 更适合各种土样的拟合;三次样条插值无需对每组土样拟合不同的函数, 再根据拟合函数拟合e—p曲线, 只需要Matlab读取原始数值就可以拟合曲线。

从图1, 图2可以明显看出, 三次样条插值拟合曲线不但在节点上与实测点完全吻合, 其在节点间的曲线也是非常符合e—p曲线形态的。而三次多项式和四次多项式拟合的曲线拟合效果是较差, 与压缩曲线形态不符。因此, 利用三次样条插值模型来拟合e—p曲线是可行的。

3 三次样条插值法插值检验

为检验三次样条插值法拟合e—p曲线效果, 对拟合数据与相应压力值下试验结果进行对比分析, 以验证该方法的精确度。验算数据为0.025 MPa, 0.1 MPa, 0.4 MPa, 1.6 MPa所对应的土样空隙比。检验结果如表3所示。

从表3及图3, 图4可以看出, 三次样条插值法拟合结果与试验数据之间的误差很小, 且整体拟合曲线与土样压缩试验数据变化趋势相吻合。普通建 (构) 筑物基础沉降计算所需的压缩模量所对应的压力段一般在0 k Pa~800 k Pa范围内, 所以这三次样条插值法得到的e—p值求解的压缩模量满足精度要求 (最大相对误差0.94%) 。

从以上比较分析可知, 三次样条插值无需对土进行类别划分, 也无需对大量的数据进行统计分类, 只需土的分级压缩试验原始数据, 就可以求出任意压力下的孔隙比, 其精度达到计算沉降所需精度。

4 结语

1) 实现分级压缩的e—p曲线的数字化。

2) 三次样条插值比3次、4次多项式的拟合的精度要高, 其相对误差是零。

3) 三次样条插值的插值相对误差也是很小, 其最大相对误差为0.94%。

4) 利用Matlab编写三次样条插值, 能方便快速的拟合e—p曲线。

参考文献

[1]梁勇然, 孙洪涛.压缩曲线的幂指模型[A].首届全国岩土力学与工程青年工作者学术讨论会论文集[C].1992:114-115.

[2]彭长学, 杨光华.软土e—p曲线确定的简化方法及在非线性沉降计算中的应用[J].岩土力学, 2008, 29 (6) :1706-1710.

[3]孙志忠, 袁慰平, 闻震初.数值分析[M].南京:东南大学出版社, 2002:139-147.

三次B样条曲线 篇8

近年来, 图像融合技术在图像处理领域得到了广泛的应用。同一场景的多幅图像具有冗余性和互补性, 经过图像融合技术得到的合成图像可以更清晰、完整地反映出图像信息。小波变换是现在研究比较多的时频域理论[1], 它主要是进行卷积变换, 这种方法运算量大, 执行时间长, 且需要较大的内存支持。Swelden提出的一种不依赖于傅里叶变换的新型小波构造方案——提升方案[2] (Lifting Scheme) , 其复杂度只有原来卷积方法的一半左右, 这种提升方案不仅继承了传统小波变换多分辨率的特性, 而且不依赖傅里叶变换, 同时不占用系统内存, 实时性非常好。这里通过提升三次B样条小波来构造提升方案, 对源图像实现多尺度分解, 针对分解后高频分量和低频分量的特点采用不同的融合决策进行融合, 选取熵、联合熵和平均梯度作为评价标准, 将该算法与传统的小波变换法进行比较, 实验证明该算法具有明显的优势。

1 提升小波变换

1.1 提升小波的分解与重构

基于提升方法的小波变换又称为第二代小波变换[3]。假设原信号为Sj (n) , 通过提升方法将Sj (n) 分解, 得到细节信息和低频信息。步骤如下:

(1) 分裂 (Split) :把信号剖分成两个不相交的奇、偶子集, 分别用Sj, o (n) 和Sj, e (n) 表示。每一子集包含原始信号采样点的一半。

Split[Sj (n) ] =[Sj, e (n) , Sj, o (n) ]

式中:Sj, e (n) = Sj (2n) , Sj, o (n) =Sj (2n+1)

(2) 预测 (Predict) :利用相邻信号之间的相关性, 用一个子集预测另一个子集。通常用偶子集预测奇子集。预测过程表达式为:

dj-1 (n) =Sj, o (n) -Ρ[Sj, e (n) ]

式中:P为一个与数据集无关的预测算子;dj - 1 (n) 为所产生的误差, 也就是高频信息。

(3) 更新 (Update) :经过分裂步骤产生的偶子集Sj, e (n) 均值并不同原始数据一致, 因此需要采用一个更新过程。这就需要通过预测误差dj - 1 (n) 和更新算子U产生一个更好的偶子集cj-1 (n) , 即低频信息, 更新过程表达式为:

cj-1 (n) =Sj, e (n) +U[dj-1 (n) ]

提升方框图如图1所示。

重构的过程就是分解过程的逆步骤, 它也有3个步骤:

反更新:

Sj, e (n) =Sj-1 (n) -U[dj-1 (n) ]

反预测:

Sj, o (n) =dj-1 (n) +Ρ[Sj, e (n) ]

合并:

Sj (n) =Merge[Sj, e (n) , Sj, o (n) ]重构过程如图2所示。

1.2 小波基的选择

目前Daubechies小波Daub (2) , Daub (4) ,

Daub (6) , 双正交小波、三次B 样条小波都是比较常用的小波基。由于三次B 样条小波基的时频局部特性较好[4], 而且函数是对称的, 在离散化的图像中, 对应滤波器系数简单, 长度短, 使得图像的分解和重构算法简洁快速, 因此这里选用三次B样条小波基。

三次B样条函数公式为:

Ν3 (x) ={ (x+2) 3/6x[-2, -1) -x3/2-x2+2/3x[-1, 0) x3/2-x2+2/3x[0, 1) (2-x3) /6x[1, 2)

由三次B样条小波函数可得滤波器为:

h (z) =3/4+ (1/2) (z+z-1) + (1/8) (z2+z-2) g (z) = (5/4) z-1- (5/32) (1+z-2) - (3/8) (z+z-3) - (3/32) (z2+z-4)

通过对其滤波器h (z) 和g (z) 进行提升可得到多项式矩阵p (z) 为:

p (z) =[1 (1/4) (1+z-1) 01][10 (1+z) 1][1 (-3/16) (1+z-1) 31][1/2002]

2 融合算法介绍

提升小波变换就是对待融合的图像进行提升小波分解, 使得图像的平稳部分和非平稳部分有效分离;低频分量为平稳部分, 主要是描述了图像的轮廓;高频分量为非平稳部分, 主要是描述了图像的一些细节。然后分别进行融合, 再对融合图像进行逆提升实现图像的重构。具体步骤如下:

(1) 图像分解。这里采用三次B样条小波进行提升, 在提升中预测算子选取P=1/3, 更新算子选取U=1/4, 其变换如下:

dj-1 (n) =Sj (2n+1) - (1/3) [Sj (2n) +Sj (2n+2) ]cj-1 (n) =Sj (2n) + (1/4) [dj-1 (n-1) +dj-1 (n) ]

式中:预测误差dj - 1 (n) 为信号的高频信息;更新环节cj - 1 (n) 为信号的低频信息。对图像的低频信息重复分解, 可以得到任意尺度的系数矩阵。在此进行2层分解。

(2) 低频数据的融合。尽管一幅图像的能量大部分都集中在它的低频部分, 可是低频部分一般很相似或相同, 而且比较平滑, 它只会影响到图像的亮度, 所以对这部分采取求平均的方法进行融合。设FkA (i, j) 为融合图像的低频分量;AkA (i, j) 为源图像A的低频分量;BkA (i, j) 为源图像B的低频分量, 则低频系数融合为:

FkA (i, j) =[AkA (i, j) +BkA (i, j) ]/2

(3) 高频信息融合。高频信息为细节信息, 一般出现在边缘, 包括水平细节系数H、垂直细节系数V和对角细节系数D。这里采取多尺度下邻域方差法对高频系数进行融合:

① 确定邻域大小, 考虑到融合速度和质量, 这里邻域选3×3。

② 对各尺度下的高频系数求方差, 设σAk (x, y) , σBk (x, y) 分别表示k尺度下以 (x, y) 中心3×3邻域内的方差;Ak (x, y) , Bk (x, y) 表示k尺度下源图像在点 (x, y) 处的系数值, 则融合后的高频分量为:

Fk (x, y) =Ak (x, y) σBk (x, y) +Bk (x, y) σAk (x, y)

③ 将得到的k尺度下的高频信息和低频信息进行逆提升就得到k-1尺度下的低频信息;再将该低频信息与由上式得到的k-1尺度下的高频信息进行逆提升得到k-2尺度下的低频信息;以此类推可得到最终的融合图像。

3 实验结果与分析

在此, 选用Matlab7.1开发环境[5]进行仿真, 源图的像素为240×291, 进行两级分解与重构, 并与传统小波算法进行了比较下面是实验的仿真结果。

通过融合结果可以明显看出, 该算法比小波变换法更好地保留了图像信息。为了定量地评价融合效果, 采用信息熵、联合熵和平均梯度来对融合结果进行评价[6]。图像信息熵越大, 包含的信息越丰富, 联合熵反映了源图像与融合图像的关联性, 联合熵越大, 其关联性越好。平均梯度反映图像对微小细节反差表达的能力, 其值越大图像越清晰。

信息熵:

E=-i=1kpilogpi

联合熵:

Η (X, Y) =-xXyYp (x, y) logp (x, y)

平均梯度 :

g¯=1 (Μ-1) (Ν-1) i=1Μ-1j=1Ν-1×12×|f (xi, yj) xi|2+|f (xi, yj) yj|2

表1是参数指标的统计。源图A, B如图3, 图4所示。

从表1中可以看出经过本文算法融合的图像包含的信息量比小波变化法要大, 融合图像和源图的关联性较大, 图像的清晰度较高。说明采用本文的融合算法比小波变换算法的融合效果好。从图5和图6可以看出本文探讨的算法融合后的融合图像更自然。

4 结 语

讨论了一种基于三次B样条提升变换的图像融合算法。该算法利用提升小波变换预测和更新环节得到图像的高频信息和低频信息;采用基于窗口的各尺度下邻域方差来融合高频信息;采用求平均的方法融合低频信息。融合后的视觉效果和实验结果表明, 该算法比传统的小波变换算法更好地体现出源图像的细节信息, 融合效果较好。

摘要:提出了一种基于三次B样条提升方案的图像融合算法, 该算法是对三次B样条小波基进行提升, 采用一定的融合决规则对高频分量和低频分量进行融合。高频分量采用多尺度下邻域方差法来计算, 低频分量采取求平均的方法进行融合, 最后将三次B样条提升算法与传统的小波变换算法的融合图像和参数指标进行比较, 实验表明不论从视觉效果, 还是采用信息熵, 联合熵和平均梯度作为评价标准, 都优于传统的小波变换法。

关键词:图像融合,提升小波,三次B样条,融合规则,评价指标

参考文献

[1]范传文, 梁忠奎, 路建光, 等.基于小波变换的密度测井高分辨率处理[J].大庆石油学院学报, 2007, 31 (5) :55-57.

[2]李卫华, 周军, 周连文, 等.一种基于提升小波分解图像融合方法[J].计算机应用, 2006, 26 (2) :403-405.

[3]李玲玲, 丁明跃, 周成平, 等.一种基于提升小波变换的快速图像融合方法[J].小型微型计算机系统, 2005, 26 (4) :667-670.

[4]Lee J, Haralick R, Shapiro L.Morphologic Edge Detection[J].IEEE Trans.on Robotics and Automation, 1987, 3 (2) :142-156.

[5]董长宏.Matlab图像处理与应用[M].北京:国防工业出版社, 2004.