计算机图形学 抛物及三次样条曲线

上传人:飞*** 文档编号:48501081 上传时间:2018-07-16 格式:PPT 页数:58 大小:1.19MB
返回 下载 相关 举报
计算机图形学 抛物及三次样条曲线_第1页
第1页 / 共58页
计算机图形学 抛物及三次样条曲线_第2页
第2页 / 共58页
计算机图形学 抛物及三次样条曲线_第3页
第3页 / 共58页
计算机图形学 抛物及三次样条曲线_第4页
第4页 / 共58页
计算机图形学 抛物及三次样条曲线_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《计算机图形学 抛物及三次样条曲线》由会员分享,可在线阅读,更多相关《计算机图形学 抛物及三次样条曲线(58页珍藏版)》请在金锄头文库上搜索。

1、6.1 概述:一为什么要学习曲线? (用曲线能作什么?)应用很广泛: 汽车制造,多媒体应用,飞机外形设计,计算机辅助设计等方面被大量使用.如: 用B样条曲线绘制汽车.用抛物样条曲线绘制鱼(靠型值点来画)第六章 曲线二 汽车的传统设计方法和计算机辅助设计方法的比较:汽车的制造过程:1 素描车身草图,挑选其中的最佳方案。3 确定方案后制作1:1实物模型,继续修改。2 使用油泥或黏土制作小型模型(1:5模型),改进方案.如何改进方案?传统设计方法: (1)将模型上测量下来的一批型值点标注在绘图板上;(2)利用有机玻璃或木质样条把这些点连成一条光滑曲线;(3)调整样条的外形尽量使之对准型值点,用压铁压

2、住,沿样条画出所需曲线。压块样条计算机辅助设计的方法:(1)利用三坐标测量仪直接从1:5模型上测量三维坐标;(2)输入计算机进行处理,再将1:5的数据放大为1:1;(3)由于外表面设计系统中留有数控加工的接口,故易于在数控铣床上加工1:1软材料模型;(4)如果发现线形比例不合适,可利用计算机进行修改。计算机辅助设计(CAD)方法:该设计需要曲线曲面的理论作支撑.1 曲线和曲面的理论的发展有赖于生产实际的推动。实践提出问题,理论指导方向,生产推动前进。总之,生产需要是科技发展的动力。2 曲线曲面的理论对于飞机汽车等的外型设计工业具有重要作用:1963年以来,美国波音飞机公司,通用汽车公司,法国雷

3、诺汽车公司,雪铁龙汽车公司和美国的大学及研究机构投入极大的人力物力和财力用于曲线曲面的理论基础、表示方法和实际应用的研究并取得巨大的成绩.3 本章主要学习有关曲线的理论。三 理论与生产的关系: (从本章的学习能深刻体会这种关系)四 曲线的分类和比较:一类曲线: 规则曲线如: 圆、椭圆、双曲线 正弦曲线等等。特点: 每一种曲线均可以用一个标准的解析式来表示,称为曲线的方程。比如,圆的方程为:x2+y2=R2等。 另一类曲线: 不规则曲线.如: 统计曲线 .实验曲线等。特点: 不能给出描述整个曲线的方程。 原因 : 这些数据点是在不同的环境中根据实际测量得到的一系列离散数据点(“型值点” ),带有

4、不可预见性.所以不可能用一个标准的解析式来表达。至于如何描述这些曲线,则取决于采用什么数学方法。问题:如果曲线的数学表达方法确定了,如何把曲线绘制出来?1 在手工绘图中,不同的曲线可以用不同的方法和绘图工具来绘制.如: 圆规,曲线板等.2 用计算机如何来完成各种曲线? 特别是不规则曲线的绘制工作的呢?本章分别介绍抛物样条曲线、三次样条曲线、贝塞尔曲线和B样条曲线,其中讨论它们的原理和特性,以及如何描述和绘制曲线。6.2 曲线表示的基础知识:一 曲线的表示方法:1显示方式:一条平面曲线的一般式:y=f (x) 如正弦曲线:f=sin(x)一条直线的一般式: y=m*x+b特点:一个x表示一个y.

5、 2隐式方式:一条平面曲线的一般式:f (x, y)=0一条直线的一般式: ax+by+c=0 一个圆心在原点的圆: x2+y2+1 =0 特点:不如显式方式直观, 转成参数坐标表示式很困难3 参数方式:曲线上的一个点的参数式: x=x(t),y=y(t) 曲线上的一个点的矢量表示:p(t)=x(t) y(t)参数曲线的切矢量: p(t)=x(t) y(t)直线参数方程: p(t)=p1+(p2-p1)t圆的参数方程: x=Rcos,y=Rsin 0,2特点:与坐标轴无关,仅与参数有关,易于编程。例如:圆的参数方程:x=cos, y=sin绘制的1/4圆的各点弧长相等,见下图a。以显示方式绘制

6、的1/4圆的各点弧长不等,见下图b。ab用参数方程可以非常均匀地画出来 即:参数方程控制形状的能力强X等分取,y值不均匀分析: 参数方程与非参数方程的比较:非参数方程参数方程与坐标轴相关, 出现斜率无穷大的情况 不便于编程,自变量范围不 定。 与坐标轴无关,仅与参数t, 或参数有关。 对t求导,避免斜率无穷大。 易于编程,参数t范围恒定0-1 。二 常用术语:(一) 位置矢量:曲线上任意一点可以用矢量表示,其坐标叫作位置矢量,它可以表示为:p(t)=x(t),y(t),z(t)(三维)4个位置矢量曲线终点曲线起点(二)切矢量:用矢量表示曲线上点的切线。在曲线的非参数表示中 它表示当参数t递增了

7、一个单位时三个坐标变量的变化量, 它的方向与曲线的变化方向一致。切矢量的定义PP(t)P(t+t)P(t)(三) 曲率:曲率k表示曲线弯曲的程度,它反映曲线在一个点上的变化率 rCT(c)T(c+c)Q(1)以弧长c为参数,曲线方程为p(c); (2)点r上的单位切矢量为T(c),点Q上的单位切矢量为 T(c+c),其夹角为。(3)弧 r Q的弯曲程度取决于(角度变化量)和c(弧长变化量),通常使用|/c来衡量弯曲程度。曲线P(c)在r点的曲率为:k=lim|/c|曲率半径:= 1/ k曲率大,则曲率半径小,曲线弯曲得厉害,如A点; 曲率小,则曲率半径大,曲线弯曲得不厉害,如B点。 圆的曲率半

8、径等于它的半径。AB(四) 型值点和控制点:型值点: 通过测量或计算得到的曲线上少量描述曲线几何形状的数据(如:鱼)控制点: 用来控制或调整曲线形状的特殊点,曲线段本身不通过控制点(如:汽车)(五)插值 逼近 拟和:1 插值和逼近是曲线设计中的两种方法.2 插值设计方法:要求建立的曲线数学模型,严格通过已知的每一个型值点.方法: (1)线性插值 (用线性函数)(2)抛物线插值 (用二次曲线)3 逼近设计方法:建立的曲线数学模型只是近似的接近已知的型值点.4 曲线的拟和:用插值和逼近的方法使生成的曲线达到设计要求,叫拟和如: 在允许的范围内贴近原始的型值点或控制点序列,或曲线看上去很光滑等。6.

9、3 抛物样条曲线一 为什么要拟合曲线?1 通过实验得到一组数据,要将它们绘成一条光滑的曲线,但是不可能有现成的曲线公式可以绘制实验数据,只能使用一种已知的曲线进行拟合2 拟合的方法有插值(点点通过)或者逼近(非点点通过)。有规律的已知曲线 拟合(插值或逼近) 无规律的未知曲线(如图)以型值点(如红点)为依据 使用已知的某种曲线方程绘制曲线小段(如蓝线和绿线), 来拟和(近似)由实验取得的不可预测的离散的型值点。二 什么叫做样条和样条曲线?压块样条由这根富有弹性的细木条描绘出来的曲线叫样条曲线。改变压块(型值点)的数量和位置可以产生不同的曲线。一根富有弹性 的细木条 (样条)用压块压木条,使它

10、变成光滑的曲线状三 为什么选择抛物线来生成抛物样条曲线?因为抛物线是最简单的二次曲线。四 为什么要讨论抛物样条曲线?1 抛物样条曲线的光滑程度以及其它特性不够好,使用计算机绘制图形时,实际使用的是B样条曲线,2 但是推导抛物样条曲线的过程可以使我们了解从理论到程序,从曲线到端点等各个环节,便于理解贝塞尔曲线和B样条曲线。五 过三个型值点定义一段抛物线(一) 思路:要解决的问题:求出过三个点(p1,p2,p3)的抛物线方程方法:1 写出抛物线的一般表达式:p(t)=A1+A2t+A3t2(0t1)2 求A1,A2,A3的值 (利用三个点p1,p2,p3的坐标)3 将A1,A2,A3的值代入上式4

11、 求出过三点的抛物线方程过3点的抛物线p3p1p2(二)求解过程1 写出抛物线的一般表达式:p(t)=A1+A2t+A3t2(0t1)过3点的抛物线p3p1p22 求A1,A2,A3的值 (利用三个点p1,p2,p3的坐标) (1)为了确定3个系数,设定3个独立的条件:p1为始点,t=0时, 曲线过p1。p3为终点,t=1时, 曲线过p3。p2点 , t=0.5时,曲线过p2,该点的切矢量为p3-p1。(2)由上图的条件: A点为线段p1 p2的中点: Ap2= p2Q抛物线在p1处与直线段p1Q相切抛物线在p3处与直线段p3Q相切切矢量p2与线段p1 p3平行Qp2t=0.5P3P2P1 t

12、=0At=1(3)根据以上设定的条件,可以列出3个方程:(原方程为 :p(t)=A1+A2t+A3t2 )t=0: p(0)=A1= p1 (点)t=1: p(1)=A1+A2+A3= p3 (点)t=0.5 : p(0.5)=A1+0.5A2+0.25A3=p2 (点)(4)解以上联立方程,求解A1A2A3,得:A1=p1A2=4p2 p3 3p1A3=2p1 +2p3 4p23 将A1,A2,A3的值代入p(t)=A1+A2t+A3t2,得:p(t)=A1+A2t+A3t2=p1 +(4p2 p3 3p1)t +(2p1 +2p3 4p2) t2=(2t2-3t+1)p1+(4t-4t2)

13、p2+(2t2-t)p3(0t1) 将上式改写为矩阵形式:4 求出过三点的抛物线方程: x(t)= (2t2-3t+1)x1+(4t-4t2)x2+(2t2-t)x3 y(t)= (2t2-3t+1)y1+(4t-4t2)y2+(2t2-t)y35 利用该方程可以画出过p1,p2,p3三点的曲线t=0 : p(0)= p1 (点)t=0.5 : p(0.5)=p2 (点)t=1 : p(1)= p3 (点)0t0.5 : 利用已求得的方程算出在p1,p2之间插入的点坐标 0.5t1 : 利用已求得的方程算出在p2,p3之间插入的点坐标逐点连直线段,近似画出过p1,p2,p3的一段抛物线。(三)

14、 问题点:1 问题点:利用x(t)和y(t)可以画出过p1,p2,p3的一段抛物样条曲线。利用x(t)和y(t)可以画出过p2,p3,p4的一段抛物样条曲线。一般情况下:每两段曲线的撘接区间,不可能重合.原因是:(s1段:p2,p3间的插值点坐标与p1,p2,p3的坐标有关 s2段:p2,p3间的插值点坐标与p2,p3,p4的坐标有关而p1,p4的坐标不相等,所以s1段的p2,p3间的插值与s2段的p2,p3间的插值不等 ,即:不重合)而实际绘制曲线时,要求多个线段光滑地相连.怎么办?p3p2 p1p4s1 s22 解决方法: 加权合成(1) 加权合成的目的:由p1,p2,p3,p4四个点生成

15、p2,p3这条曲线即:推导出合成p2,p3的曲线方程)使s1和s2的p2,p3部分结合成一条曲线p3p2 p1p4s1 s2p3p2 p1 p4s1s2(2) 加权合成思路:1)分别写出过Pi,Pi+1,Pi+2的抛物线方程;以及过Pi+1,Pi+2, Pi+3的抛物线方程:Si(ti)=(2ti2-3ti+1)Pi+(4ti-4ti2)Pi+1+(2ti2-ti)Pi+2 (0ti1)Si+1(ti+1)=(2ti+12-3ti+1+1)Pi+(4ti+1-4ti+12)Pi+1+ (2ti+12-ti+1)Pi+2 (0ti+11) 2)选加权函数f(T)和g(T),加权合成后的曲线为:Pi+1(t)=f(T)* Si(ti)+g(T)* Si+1(ti+1) 3)选加权函数f(T)和g(T),要使其具有互补性:f(T)=1-Tg(T)=T (0T1)4)曲线改写为:Pi+1(t)=(1-T)* Si(ti)+ T* Si+1(ti+1)( Pi+1(t)这条曲线相当于要合成的p2,p3段曲线)5)将Pi+1(t)=(1-T)*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号