Bezier曲线曲面.ppt
Bezier 曲线与曲面曲线与曲面 由于几何外形设计的要求越来越高,传统的曲线曲面表示方法,已不能满足用户的需求。1962年,法国雷诺汽车公司的P.E.Bezier构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了一种称为UNISURF的曲线和曲面设计系统,1972年,该系统被投入了应用。Bezier方法将函数逼近同几何表示结合起来,使得设计师在计算机上就象使用作图工具一样得心应手。12/29/20221Bezier曲线的定义和性质曲线的定义和性质12/29/20222给定空间n+1个点的位置矢量Pi(i=0,1,2,n),则Bezier参数曲线上各点坐标的插值公式是:其中,Pi构成该Bezier曲线的特征多边形,Bi,n(t)是n次Bernstein基函数:0=1,0!=1曲线实例如右图所示。Bezier曲线定义曲线定义12/29/20223Bezier基函数Bezier基函数的定义如下n次多项式称为n次Bezier基函数12/29/20224Bezier基函数Bezier基函数的性质正性权性12/29/20225Bezier基函数对称性降阶公式12/29/20226Bezier基函数升阶公式导数12/29/20227Bezier基函数积分最大值在t=i/n处取得最大值线性无关性 是n次多项式空间的一组基12/29/20228Bezier曲线曲线Bezier曲线的定义曲线的定义n次多项式曲线次多项式曲线P(t)称为称为n次次Bezier曲线曲线控制顶点控制顶点控制多边形控制多边形12/29/20229Bezier曲线曲线Bezier曲线的性质曲线的性质端点位置端点位置12/29/202210Bezier曲线曲线端点切矢量导数曲线12/29/202211Bezier曲线曲线端点曲率端点曲率曲率公式曲率公式12/29/202212Bezier曲线曲线仿射不变性仿射不变性表达式表达式几何属性:形状,曲率等等几何属性:形状,曲率等等12/29/202213Bezier曲线曲线凸包性凸包性凸集凸集凹集凹集点集的凸包点集的凸包包含这些点的最小凸集包含这些点的最小凸集Bezier曲线位于其控制顶点的凸包之内曲线位于其控制顶点的凸包之内12/29/202214Bezier曲线曲线直线再生性直线再生性平面曲线的保凸性平面曲线的保凸性平面曲线的变差缩减性平面曲线的变差缩减性12/29/202215Bezier曲线曲线拟局部性拟局部性形状的易控性形状的易控性12/29/202216Bezier曲线曲线三次三次Bezier曲线的矩阵表示曲线的矩阵表示12/29/202217Bezier曲线线性运算曲线线性运算De Casteljau算法算法问题问题给定参数给定参数 ,计算,计算tP(t)12/29/202218 计算Bezier曲线上的点,可用Bezier曲线方程,但使用de Casteljau提出的递推算法则要简单的多。如图3.1.10所示,设 、是一条抛物线上顺序三个不同的点。过 和 点的两切线交于 点,在 点的切线交 和 于 和 ,则如下比例成立:这是所谓抛物线的三切线定理。三切线定理德卡斯特里奥算法德卡斯特里奥算法12/29/202219当P0,P2固定,引入参数t,令上述比值为t:(1-t),即有:t从0变到1,第一、二式就分别表示控制二边形的第一、二条边,它们是两条一次Bezier曲线。将一、二式代入第三式得:当t从0变到1时,它表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线。并且表明:这二次Bezier曲线P20可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合。线性组合线性组合12/29/202220Bezier曲线计算曲线计算算法算法计算过程计算过程12/29/202221Bezier曲线计算曲线计算几何解释几何解释12/29/202222Bezier曲线分割曲线分割分割定理分割定理问题:一条多项式曲线被分割成两段,得到问题:一条多项式曲线被分割成两段,得到的两段曲线是不是多项式曲线?如果是,它的两段曲线是不是多项式曲线?如果是,它们的表达式如何?们的表达式如何?P=Q+R12/29/202223Bezier曲线生成曲线生成离散生成算法离散生成算法想法想法12/29/202224Bezier曲线生成曲线生成程序程序void DisplayBezierCurve(Vector P,int n,float DELTA)if(Distance(P,n)=DELTA)显示控制多边形显示控制多边形P;elseBezierCurveSplitting(P,Q,R,n);DisplayBezierCurve(Q,n,DELTA););DisplayBezierCurve(R,n,DELTA););12/29/202225Bezier曲线的曲线的拼接拼接 几何设计中,一条Bezier曲线往往难以描述复杂的曲线形状。这是由于增加由于特征多边形的顶点数,会引起Bezier曲线次数的提高,而高次多项式又会带来计算上的困难,实际使用中,一般不超过10次。所以有时采用分段设计,然后将各段曲线相互连接起来,并在接合处保持一定的连续条件。下面讨论两段Bezier曲线达到不同阶几何连续的条件。12/29/202226Bezier曲线拼接曲线拼接曲线的拼接曲线的拼接12/29/202227Bezier曲线拼接曲线拼接 条件条件 条件条件 条件?条件?12/29/202228 给定两条Bezier曲线P(t)和Q(t),相应控制点为Pi(i=0,1,.,n)和Qj(j=0,1,.,m),且令 ,如图3.1.13所示,我们现在把两条曲线连接起来。图3.1.13 Bezier曲线的拼接拼接命题拼接命题12/29/202229(1)要使它们达到G0连续的充要条件是:Pn=Q0;(2)要使它们达到G1连续的充要条件是:Pn-1,Pn=Q,Q1三点共线,即:(3)要使它们达到G2连续的充要条件是:在G1连续的条件下,并满足方程 。我们将 、和 ,、代入,并整理,可以得到:选择 和 的值,可以利用该式确定曲线段 的特征多边形顶点 ,而顶点 、已被 连续条件所确定。要达到 连续的话,只剩下顶点 可以自由选取。连接条件连接条件12/29/202230如果从上式的两边都减去 ,则等式右边可以表示为 和 的 线性组合:这表明 、和 五点共面,事实上,在接合点两条曲线段的曲率相等,主法线方向一致,我们还可以断定:位于直线 的同一侧。连接条件连接条件12/29/202231Bezier曲面曲面 基于Bezier曲线的讨论,我们可以方便地可以给出Bezier曲面的定义和性质,Bezier曲线的一些算法也可以很容易扩展到Bezier曲面的情况。设 为 个空间点列,则 次张量积形式的Bezier曲面定义为:其中 ,是Bernstein基函数。依次用线段连接点列 中相邻两点所形成的空间网格,称之为特征网格。12/29/202232Bezier曲面Bezier曲面的矩阵表示式是:在一般实际应用中,不大于4。12/29/202233Bezier曲面曲面Bezier曲面的定义控制定点控制网格12/29/202234Bezier曲面曲面Bezier曲面的性质边界线12/29/202235Bezier曲面曲面角点位置12/29/202236Bezier曲面曲面角点切平面角点法矢量12/29/202237Bezier曲面曲面凸包性Bezier曲面包含在其控制顶点的凸包之内平面再生性仿射不变性拟局部性12/29/202238Bezier曲面曲面离散生成算法De Casteljau算法给定 ,计算型值点uv12/29/202239递推(de Casteljau)算法 Bezier曲线的递推(de Casteljau)算法,可以推广到Bezier曲面的情形。若给定Bezier曲面特征网格的控制顶点 和一对参数值 ,则:或 12/29/202240Bezier曲面曲面12/29/202241Bezier曲面曲面计算过程12/29/202242Bezier曲面曲面12/29/202243Bezier曲面曲面分割定理12/29/202244Bezier曲面曲面12/29/202245Bezier曲面曲面12/29/202246Bezier曲面片的拼接Bezier曲面片的拼接如图所示,设两张mn次Bezier曲面片分别由控制顶点 和 定义。12/29/202247拼接条件如果要求两曲面片达到 连续,则它们有公共的边界,即:于是有 。如果又要求沿该公共边界达到 连续,则两曲面片在该边界上有公共的切平面,因此曲面的法向应当是跨界连续的,即:12/29/202248习题习题1、将如下抛物线表示成、将如下抛物线表示成Hermite曲线的形曲线的形式。式。2、将下面的二次参数多项式曲线转换为、将下面的二次参数多项式曲线转换为Bezier曲线的表示形式。曲线的表示形式。12/29/202249