工程硕士课程-计算机图形学-第5章课件.ppt

工程硕士课程-计算机图形学-第5章课件.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工程硕士课程-计算机图形学-第5章课件

第五章 曲线与曲面;§5.1 基础知识 ;过同样三个点的非参数表示的曲线旋转前后的情况;? 对几何不变性的理解(2);? 圆的三种绘制方法的比较;4. 样条、样条曲线、参数样条曲线;5. 插值、逼近、光顺、拟合;6. 位置矢量、切矢量;7. 调和函数;§5.2 插值曲线 ;【例】求图中由P0,P1,P2三点决定的抛物线插值公式; 如给定4个型制值点P1,P2,P3,P4,对相邻三个点进行抛物线插值,如对P1,P2,P3插值得抛物线Q1(t),对P1,P2,P3得抛物线Q2(s),在P1P2之间,对这两条抛物线进行线性调配,即: P(T)=(1-T)·Q1(u)+T·Q2(s) 其中T?[0,1], u ?[0.5,1], s?[0,0.5];统一参数:;P0; ? 已知P0、P1、P0’、P1’,求作一条三次曲线Q(t),使Q(0)=P0、Q(1)=P1、Q’(0)=P0’、Q’(1)=P1’。 ;可以得到:;F0(t)、F1(t)、F2(t)、F3(t)称为调和函数(权函数);【例】已知P0[0,1]、P1[1,0]、P’0[1,0]、P1’[0,-1],求此四个条件决定的三次Hermite曲线,并求出Q(0.5)及Q’(0.5)的值。;? 将P’1改为[1,0]如何?;? Bezier其人 ? Bezier曲线的定义 ? 伯恩斯坦基函数的性质 ? Bezier曲线的性质 ? Bezier曲线的作图与编程 ? Bezier曲线的拼接;1. Bezier其人;Bezier曲线的几个例子;? 二次项系数(扬辉三角形); ? 一次Bezier曲线; ? 二次Bezier曲线;? 三次Bezier曲线;3. 伯恩斯坦基函数;B0,3(t);B0,6(t);4. Bezier曲线的性质;5. Bezier曲线的作图与编程;?;P;P;(2) 基于递推分割法的编程;main( ) { int i,n,k; float t,x,y,px[10],py[10]; scanf(“%d,%d”,n,k); for(i=0;i=n;i++) scanf(“%f,%f”,px[i],py[i]); for(i=0;i=k;i++) { t=(float)i/k; x=decas(px,t,n); y=decas(py,t,n); if (i==0) moveto(x,y); else lineto(x,y); } };(3) 基于定义的编程;? 绘制Bezier曲线的函数 Bezier(int k, int px[],int py[],int n ) { int i,j,x,y; float t; for(j=0; j=k; j++) { t=(float)j/k; x=0; y=0; for(i=0; i=n; i++) { x=x+cni(i,n)*pow(t,i)*pow(1-t,n-i)*px[i]; y=y+cni(i,n)*pow(t,i)*pow(1-t,n-i)*py[i]; } if(i==0) moveto(x,y); else lineto(x,y); } };6. Bezier曲线的拼接;? 平面上两条三次Bezier曲线的拼接;§5.4 Bezier曲面;2. Bezier曲面的定义;? 1?1次Bezier曲面片 共P00、P10、P01、P11四个点,决定1?1次Bezier曲面片,实际上是一张双线性插值曲面,或叫扭面。; ? 1?1次Bezier曲面公式可以从双线性插值曲面的性质推出;? 2?2次Bezier曲面片;? 3?3次Bezier曲面片;§5.5 B样条曲线

文档评论(0)

dmdt5055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档