首页 [doc] 一种参数多项式曲面片的逐点生成算法

[doc] 一种参数多项式曲面片的逐点生成算法

举报
开通vip

[doc] 一种参数多项式曲面片的逐点生成算法[doc] 一种参数多项式曲面片的逐点生成算法 一种参数多项式曲面片的逐点生成算法 第7卷(A版)第7期 2002年7月 中国图象图形 JournalofImageandGraphics Vo1.7(A),No.7 Ju1.2002 一 种参数多项式曲面片的逐点生成算法 黄有度朱功勤 (合肥工业大学数学与信息科学系,合肥230009) 摘要在计算机绘图中,一般来说,曲线实际上是由折线代替,而曲面实为小平面拼接而成.在使计算量降到最 低的情况下画出真正的曲线方面,已有许多文章研究了曲线的逐点...

[doc] 一种参数多项式曲面片的逐点生成算法
[doc] 一种 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 多项式曲面片的逐点生成算法 一种参数多项式曲面片的逐点生成算法 第7卷(A版)第7期 2002年7月 中国图象图形 JournalofImageandGraphics Vo1.7(A),No.7 Ju1.2002 一 种参数多项式曲面片的逐点生成算法 黄有度朱功勤 (合肥工业大学数学与信息科学系,合肥230009) 摘要在计算机绘图中,一般来说,曲线实际上是由折线代替,而曲面实为小平面拼接而成.在使计算量降到最 低的情况下画出真正的曲线方面,已有许多文章研究了曲线的逐点生成 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,并取得了一定的进展,但是尚无有效 的快速逐点生成曲面的方法.为了快速逐点生成曲面,在建立多项式函数递推计算公式和算法的基础上,给出了一 种逐点生成参数多项式曲面片的算法,由于此算法中只用到整数加法运算,且点数的适当选取可使计算量达到极 小,因此是一种很有效的算法.该方法还可加以改进,而用于有理函数, 这无疑对有理曲线曲面(如NURBS曲线曲 面)的快速生成以及对计算机图形学的其他一些领域都是有意义的. 关键词参数多项式曲面快速逐点生成整数加法运算Bernstein基函 数 中图法分类号:TP391.41文献标识码:A文章编 号:1006—8961(2002)07—0663—04 APoint?-by—-PointGeneratingAlgorithm forParametricPolynomialSurface HUANGYou—du.ZHUGong—qin (Dept.ofMathematics&InformationScience.HeiUniversityofTechnology,Hei230009 AbstractIncomputerdrawing,generally,curvesarerepresentedbylinesegmentsandsurfacesaretessellatedup withsmallplanepatches.Todrawgenuinecurveandreducecomputationalcostsasmuchaspossible,curve— generatingpoint—by—pointhasbeenstudiedinmanypapers.somegoodresultshavebeenachieved.Butthereis lackofeffectiveapproachesforfastsurface—generating.Ifwesupposethatsu rfacesconsistofpointsofspacelattice andthecoordinatesofpointsonasurfacecouldbecalculatedonebyone,thenwewouldobtainthesurface.There arealreadysomealgorithmsforcalculatingpolynomialcurvesonaplane,wec angeneralizedthemtospacecurves andsurfaces.Thispaperpresentsanalgorithmbasedonrecursiveformulasandalgorithmsforpolynomialto by—point.inwhicho generateaparametricpolynomialsurfacepatchpoint— nlyintegraladditiveoperationis employed,andproperlychoosingpointnumberminimizesthecomputationalCOSTS,SOitisquiteefficient.The methodinthealgorithmcanbemodifiedforrationalfunction,thereforeitisofsignificanceinfastgenerating parametricrationa1curveandsurface(suchasNURBScurveandsurface),aswel1asinmanyotherareasof ComputerGraphics. KeywordsParametricpolynomialsurface,Fastgeneratingpoint—by—poin t,Integraladditiveoperation,Bernstein bases 0引言 曲线的逐点生成算法已有较多的研究引,但 有关曲面逐点生成算法的研究尚未见到,许多绘图 基金项目:国家自然科学基金(19671002) 收稿日期:2001—05—08;改回日期:2001—09—28 软件所绘曲面皆为小平面拼接而成,无论是 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 几 何体的表面(球面,锥面等)还是Bezier曲面都是如 此M.本文给出了空间参数多项式曲面片的逐点生 成算法,计算中只用到整数加法,因此计算量很小. 实验证明,那些广泛应用的Bezier曲面片和Coons 664中国图象图形第7卷(A版) 曲面片等都可用它来生成. 与平面上曲线逐点生成算法所采用的方法类 似,这里也假设曲面是由空间三维点阵中的点组成, 且每一坐标面上点阵的规模与像素一致.用该方法 逐点求出曲面上每一点的坐标,即得到整个曲面片. 本文方法的主要思想是把曲面片看作由曲线拼 成,通过逐条生成曲线,即得到曲面.由于构成多项 式曲面片的曲线是多项式曲线,因此可用文献E53的 方法来生成. 1多项式曲线的逐点生成算法简述 设曲线的参数多项式方程为—(t), = (,),O,1,为计算方便,且不影响精度,可设 其系数为有理数,那/z,依次求出,一?(on)的 +1个整数坐标点,即构成曲线.为使曲线连续, 不能小于maxI(,)I和maxI(,)I.但由于越Of1Of1 大,计算量也越大,因此,选取 :max{maxI(,)l,maxl(,)I),可使计算量达Of1’Of1’ 到极小. 由于像素坐标必须为整数,因此由—(,) 化为如下的整数方程 Nx,一()+2,(1) 所确定,其中,常数?为一个正整数,,和z,为由i 决定的整数,且『,()为的整系数多项式. 设式(1)中各数已确定,把z—z…一, ()一+1)一A)代入式(1),整理得 Nx+l一(+1)一?()+2,+?? 由此式可按下面各种情况确定z…和…: ?若一?()+2一N ,则,一1(即 件1一,+1),2,+1一一A)+2,+?; ?若一?()+Zi>N ,则,一一1(即 z+l—z一1),2,+1一一A)+2—N; ?若一<一?()+zl,则::=o(即 …一,),2…一一A)+2,. 由选取的和2,(max『(t)『, 一 <z,N) ,可保证一<一?()+z,, 从而一<…N. 用上述方法可逐次得到z,i一1,2,…,n,所用 到的差分?(,)可由下面公式得出 A()一A(一1)+A(一1) 由于h次多项式的h阶差分恒为常数,因此在求出 i=0时的各阶差分后,以后的各阶差分都可根据上 式用一次加法得到. 2参数多项式曲面片的逐点算法 设曲面片的参数方程为:P—P(r,S),0r, 51,即z—(r,S),=(r,5),2—2(r,S),其中 x(r,5),y(r,5),z(r,5)为r,S的二元多项式,并设其 系数为有理数.取r一音,5一,o<i,n,则 ()一f,1一丛(2)\,,,,j』 其中,f(i,)是i,的整系数多项式,?是一个正整 数.当 . 至{}},}Osc})时,由式(2)易证明, 当i或增加1时,增量的绝对值不大于1,f(i,) 增量的绝对值不大于?.由于z取整数值,且曲面 与曲线的逐点计算类似,因此可把式(2)改写为 Nx一f(,)+e(3) 其中,”,和ei,j为整数,且,『.对一0,依次取 i一0,1,…,,可按文献E53中多项式曲线逐点算法 由式(3)求得各n.和e?,对每个固定的”.和e, 再依次取一0,1,…,,即可求得各和e. 对和z也可作同样的处理.这样所得各点 P一(z,?Zi,j),i,:0,…,,2,即组成所求的曲 面片.为保证曲面的连续性,应取为,z关于r, S的偏导数的绝对值的共同上界. 由于许多绘图软件(如OpenGL)具有深度检测 功能,可自行解决消隐问题,因此本算法中不再对消 隐问题加以考虑. 3逐点计算时,点数咒的确定 由上节算法的推导知,参数r,S方向上的点数 应满足 > o maX {{{,{{,{{,{{,{考{,{{} 因此应求出,,z关于r,S的偏导数绝对值的上 界.下面分几种情况讨论: (1)m次三角形I3~zier曲面片计算公式为 第7期黄有度等:一种参数多项式曲面片的逐点生成算法 P=??PBz(r,)0r,s,r+1(4) 其ee,P为控制点,(,.,S)为二元Bernstein基函 数 f__差rtsI(卜r—s)…一,o,,i+jGm既()一 l而u…’ 【0其他 (5) BZ,(,.,5)满足 一 … [-Bm--1)一所]1 一 … FB,71一孵]) 这样即可得 m--1--1-- (P+一P)Bz1(rl 警=萎妻ccr,)j 由于?B7()三1,所以 aP ‘ X{l) (8) ? X{l一P.jI) 若以上两式右端的P分别换为,Y,z,则可求得6 个值,而不小于该6个值的整数,即可作为的值. (2)四边形B~zier曲面片可由如下一代数多项 式表示 P—P(,.,5),O,.,51 设P(,一,5)对,一是m次多项式,对5是h次多项式, 则四边形B~zier曲面片方程可表示为 P一??PB…(,一)B(5)(9) 其中,B…(,.)和B?()为Bernstein基函数;四边形 B6zier曲面也可表示为 h P一??,一(1o)i:O,一O 由B:.()一kEB,一1.一1()一B?一1()]和 ?B?()三1,易得 aP 一max{.厂) (12) }aPj?x{IP+一PI) 同样,如以上两式右端的P分别换为,Y,z,则可求得 6个值,而不小于该6个值的整数,即可作为的值. 4曲面绘制实例 两个三次三角形B~zier曲面片P,Q的各控制 点分别为P和q?(,J,矗三三=0,i++矗一3),各控制 点坐标数据如下(为使两曲面光滑连接,P附近的控 制点q需适当选取,以使两曲面相邻的控制三角形 构成平行四边形): P?一(18O,2O,150), P210一(100,60,100),P20】一(200,18O,380), P120一(1OO,12O,160),P1】1一(16O,140,400), P】02一(300,12O,1O0), P030一(40,200,60),P021一(200,200,360), P012一(1O0,220,60),PD03一(300,200,300); qsoo==:Poo3? q210一po12,q201一户012+Poos--Plo2, q120=P021,q1】1一P021+P012一P?1, q102一(240,200,200), q030=P030,qo21一P03O+P02】一Pl20, q0】2一(50,300,220),q003一(180,360,140). 图1为用VC一4.2编制的本文算法程序所生 成的曲面(已用简单的光照模型进行了处理),曲面 由P,Q两曲面片光滑拼接而成,P在上,Q在下.左 边的是曲面在Xy坐标面上的投影,右边的是曲面 在yZ坐标面上的投影. 薹恫5结论通过下式(见文献[5]或文献[7])转化为式(9)J=口 C:C; 0c,ol ji OO … C: … =i jj 0coo 1 C2 1 1 C: B0. () B1.() .() 本文给出了参数多项式曲面的逐点生成算法, 此算法可逐点计算曲面上点的空间坐标,由于只用 到整数加法,故计算速度很快.曲面生成中的消隐问 题可通过适当选取节点的排列方向或利用深度缓冲 区(Z缓冲区)来解决.本算法还可在如下几方面进 行改进或推广: 中国图象图形第7卷(A版) 图1用本文算法生成的曲面 (1)有理曲线,曲面的逐点生成算法; (2)研究曲面光照模型的逐点生成计算等.由于 光照模型中,涉及的三角函数可由有理函数表示,故 以上两个问题实为同一个问题,即均为有理函数的 逐点计算问题.另外,有理函数比多项式复杂得多, 这将在其他文章中进行讨论; (3)用离散值i/.来代替连续变量t时,的取 值取决于曲线(面)函数导数绝对值的最大值,但在 导数绝对值较小处,算出的点可能重叠,将造成计算 量的浪费,但若分段选取或固定而使迭代步长 可变,则又使算法大大复杂化,这些方法未必可取. 因此如何进一步节省计算量也是值得深入探讨的 问题. 参考文献 1BresenhamJE.Algorithmsforcomputercontrolofadigital plotter[J].IBMSystemsJournal,1965,4(1):25,33. 2BresenhamJE.Alinearalgorithmforincrementaldigitaldisplay ofcirculararcsEJ].CommunicationsoftheACM,1977,2O(2): 1OO,1O6. 3HuynhNP,NatlawitD.EfficientalgorithmforBeziercurres [J].ComputerAidedGeometricDesign,2000,17(3): 247,250. 4刘勇奎,石教英.曲线的整数型生成算法EJ].计算机,1998, 21(3):27O,280. 5黄有度,朱功勤.参数多项式曲线的快速逐点生成算法EJ].计算 机,2000,23(4):393,397. 6贾志刚.精通OpenGL~M].北京:电子工业出版社,1998. 7施法中.计算机辅助几何设计与非均匀有理B样条 (cAGD~.NURBS)[M].北京:北京航空航天大学出版社,1994. 黄有度1949年生,硕士,现为合肥工 业大学数学与信息科学系教授.研究方向 为计算数学和计算机图形学. 朱功勤1938年生,现为合肥工业大 学数学与信息科学系教授兼中国科技大学 数学系博士生导师.研究方向为计算数学.
本文档为【[doc] 一种参数多项式曲面片的逐点生成算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_731942
暂无简介~
格式:doc
大小:30KB
软件:Word
页数:12
分类:
上传时间:2017-11-20
浏览量:17