康凤娥, 孔令德
(太原工业学院 1.电子工程系; 2.计算机工程系, 山西太原 030008)
有理Bezier曲面模型的构建与应用
康凤娥1, 孔令德2
(太原工业学院 1.电子工程系; 2.计算机工程系, 山西太原 030008)
传统的建模方法不能精确表示曲面体的弯曲度,针对这些不足,本文采用有理Bezier方法构建曲面模型,给出了椭球体标准型有理二次Bezier控制点和权因子的求解算法;利用非有理Bezier的升阶算法将有理二次Bezier升阶为有理三次Bezier,给出了标准型有理三次Bezier曲线控制点和权因子的求解算法,构建了有理双三次Bezier椭球体曲面模型,通过调整控制点或权因子参数可生成如葫芦、青椒、鸡蛋等光滑的曲面模型.实验表明,该算法具有很好的设计灵活性和交互性,为构建曲面模型提供了新的技术支持.
计算机应用;有理Bezier曲面;升阶;权因子
非均匀有理 B 样条(NURBS)方法是定义产品形状最流行的数学方法, 目前大多数 CAD软件都支持使用 NURBS 曲面的建模, 有理Bezier方法是它的一种特例[1], 其构建的模型便于形状控制和交互设计, 并且较其他建模方法更能精确表达物体表面的弯曲度. 因此在工业产品设计、 影视动画、 三维游戏、 虚拟现实环境、 医学研究等领域中获得越来越广泛的应用.
国内有关Bezier造型方法已有一定的研究, 文献[2-3]用三次Bezier曲线方法逼近椭圆和双曲线, 给出了最优的误差估计;文献[4]给出了圆弧的一种更实用的带参数标准型有理三次Bezier表示形式;文献[5]通过调节参数的值, 就可以得到同一圆弧不同的标准型有理三次贝齐尔表示;文献[6]主要研究了椭圆弧的有理四次贝齐尔表示和多项式逼近;文献[7]利用普劳茨算法对整椭圆的二次NURBS 表示升阶为三次NURBS 表示. 随着三维扫描获取技术的快速发展,对扫描仪获取的点云进行配准和网格重构也成为曲面造型研究的热点问题[8-10]. 上述文献多数是假定在已知控制点或权因子的前提下, 对曲线或曲面的数学模型如何表示进行研究, 有许多算法是借助Bezier曲面的控制点和权因子来描述的.
在工程设计中, 常常会遇到已知曲线曲面的形状或一些型值点, 要求构造插值于这些型值点的曲线曲面的情况, 这就需要反求曲线曲面的控制点和权因子. 本文以圆弧曲面体为研究对象, 首先求解椭圆弧的有理二次Bezier曲线的控制点和权因子, 然后利用升阶公式求解椭圆弧的有理三次Bezier曲线的控制点和权因子. 通过获得的控制点和权因子数据构建椭球体曲面模型, 并以椭球体曲面模型为基本图元, 通过调整的控制点和权因子, 实现如葫芦、 话筒等曲面模型的构建.
由于同一段有理Bezier曲线在相同的控制顶点下, 权因子的解不是唯一的, 曲线上同一点的参数值也不是唯一的[11], 为了使权值唯一, 同时便于面片拼接, 本文采用标准型的有理Bezier曲线表示1/4椭圆弧, 则首末端点的权因子等于1, 内权因子根据权因子的几何意义反算得出.
1.1 计算有理二次Bezier控制点及权因子
给定一组控制点P0、P1和P2, 以及相应的权因子w0、w1和w2, 二次有理Bezier曲线定义为
(1)
(2)
当首末端点对应的权值为w0=w2=1时, 则称其为标准型的二次有理Bezier曲线[12].
显然, 曲线弧的首末端点为P0(0, b)和P2(a, 0), 分别过端点P0和P2的切线交于一点P1, 则内控点坐标值为P1(a, b), 首末端点的权因子w0=w2=1, 只剩下内权因子w1待定.
P点坐标值为
(3)
(4)
由(3)和(4)式有
解得内权因子值为
1.2 计算有理三次Bezier控制点及权因子
可对(2)式中带权的老控制点按照非有理Bezier曲线的升阶公式[14-15]进行升阶, 得到有理三次Bezier曲线的表达式为
(5)
由于新控制顶点确定的有理三次Bezier的曲线表达式为
(6)
其中t∈[0, 1], (6)式展开为
(7)
由式(5)和式(7)得到新控制点及新权因子算式为
2.1 计算控制网格顶点及权因子
描述有理双三次Bizier曲面的数学模型为
(8)
式(8)中i=0,1,2,3, j=0,1,2,3. Pi,j是一个4×4矩形阵列的控制网格顶点, wi,j是与控制点Pi,j对应的权因子, Bi,3(u)和Bj,3(v)分别是三次u向和v向的Bernstein基函数.
构建一个圆心位于原点, 长半轴为a、 短半轴为b的椭球体曲面模型, 可将椭圆曲面按卦限分成8个面片, 由于确定一张双三次Bizier面片需要4×4个控制点和对应的4×4个权因子, 一个面片有 4个边界 , 而1/8椭圆曲面片只有3条边界, 因此将u=0的边界退化成一个点, 则曲面控制点P0,0=P1,0=P2,0=P3,0=(0,b, 0)成为一个角点, 另外两个角点为P0,3=(0, 0,a)P3,3=(a, 0, 0), 三个角点对应的权因子为w0,0=w1,0=w2,0=w3,0=1, w0,3=
w3,3=1, 3个边界的内控点及内权因子可根据1.2节算法得出.
类似地, 再以边界上的内控制点和内权因子作为边界内控制点的首末端点, 使用1.2节算法计算得出边界内的内控点和内权因子.
2.2 模型绘制
椭球体曲面模型由8个面片组成, 每个面片控制网格顶点Pi,j对应的权因子wi,j见表1, 其中
若表2中, a=200,b=350, 参数u和v在区间[0, 1]以步长为0.1变化时, 使用Visual C++平台绘制的有理双三次Bezier的椭球曲面片网格模型如图3(a)所示, 图3(b)是由8个面片拼接的椭球曲面网格模型.
实践中, 人们更希望在基本模型上进行修改, 实现预定的模型效果, 图4~5所示的曲面模型就是通过修改图3模型的控制点和权因子参数来绘制的葫芦及青椒的曲面网格模型.
[1] 施法中.反求标准型有理二次Bezier曲线的参数与内权因子[J].计算机辅助设计与图形学学报, 1995,7(2): 91-95.
[2] Feng Y Y, Zeng F L, Deng J S.Perfect approximation of ellipsoid by polynomials[J].Journal of Software,2002,13(4):526- 531.
[3] 冯玉瑜,曾芳玲,邓建松. 双曲面片的高精度多项式逼近 [J].计算机辅助设计与图形学学报, 2002, 14(10): 953-958.
[4] 杭后俊, 李汪根.圆弧标准型有理三次Bezier表示的内在性质研究[J]. 中国图象图形学报,2011,16(12):2091-2198 .
[5] 韩西安,施法中.有理n次Bezier曲线的权因子与参数化研究[J].小型微型计算机系统,2001,22(1):63-65.
[6] 赵婷.椭圆弧有理Bézier表示和多项式逼近[D].郑州:郑州大学, 2013.
[7] 潘俊超,杭后俊,姚兴.整椭圆的三次NURBS 表示及其应用[J].计算机工程与应用,2016,52(3):189-182.
[8] 张飞飞.点云数据简化及三维曲面重构[D].吉林:吉林大学, 2012.
[9] 张会霞.基于3 维激光扫描技术建筑物建模研究[J].激光技术,2014,38(3):431-434.
[10] 胡事民,杨永亮,来煜坤.数字几何处理研究进展[J].计算机学报,2009,32(8):1451-1469.
[11] 杭后俊, 李汪根.圆弧标准型有理三次Bezier表示的内在性质研究[J]. 中国图象图形学报,2011,16(12):2091-2198.
[12] 施法中.计算机辅助几何设计与非均匀有理B样条[M].北京:高等教育出版社, 2013:378-380.
[13] 施法中.权因子、 参数变换与有理二次Bezier曲线参数化[J].航空学报,1994,15(9):1151-1154.
[14] Gerald Farin.curves and surfaces for CAGD[M].CA:Morgan Kaufmann Publishers.2002: 81-86.
[15] 马瑞海, 邱泽阳. Bezier曲线的升阶方法[J]. 黑龙江科学学院学报,2010,20(6):481-487.
[责任编辑 胡廷锋]
Construction and Application of Surface Model by Rational Bicubic Bezier
KANG Feng-e1, KONG Ling-de2
(1. Department of Electronic Engineering, Taiyuan Institute of Technology, Taiyuan 030008, China; 2. Department of Computer Engineering, Taiyuan Institute of Technology, Taiyuan 030008, China)
Traditional modeling methods can not accurately present curvature of curved surface. To solve these problems, this paper constructs surface model by using of rational Bezier, and gives the algorithm to get standard rational quadratic Bezier control points and weight factors for ellipsoid; Using algorithms for degree-raising of non-rational Bezier to raise the rational quadratic Bezier to rational cubic Bezier, and gives the standard rational bi-cubic bezier surface control points and weight factors algorithm to construct rational ellipsoid surface model. Based on this model, and by adjusting the control point or weight factor can generate a smooth surface like a gourd, microphone, eggs and so on. The experimental results show that: this algorithm provides a new technical support for constructing a surface model, and has good design flexibility and interactivity.
computer application; rational Bezier surface; degree raising; weight factor
TP391.7
A
1009-4970(2017)02-0010-05
2016-12-26
康凤娥(1963—), 女, 学士, 高级实验师. 研究方向: 计算机应用; 孔令德(1964—), 男, 博士, 教授. 研究方向: 图形图形处理.