[2018年最新整理]实验四实验报告
成都理工大学计算机科学与技术学院计算机图形学实验报告(四)学 院:信息科学与技术学院专 业:数值媒体与技术系小 组 名:数媒一班一组 2012/12/24说明:该实验由于时间关系,我们组参考了别人的程序模版加以修改。一、实验目的与实验要求:1、目的与任务:学习并掌握图形处理的数学模型和算法。提高C++编程的能力,加深对类库,成员函数、变量,继承、派生等概念的理解。2、实验基本要求:(1)用鼠标点击方式生成曲线与曲面控制点,控制点可任意生成、修改等。(2)完成Bezier、B样条、NURBS曲线的生成(3)完成Bezier、B样条、Coons曲面生成二、绘图基本算法1.Bezier曲线生成思想针对Bezier曲线,给定空间n+1个点的位置矢量Pi(i=0,1,2,…,n),则Bezier曲线段的参数方程表示如下:这是一个n次多项式,具有n+1项。其中pi(xi,yi,zi),i=0,1,2….n是控制多边形的n+1个顶点,即构成该曲线的特征多边形;Bi,n(t)是Bernstein基函数,有如下形式:恰好是二项式的展开式!Pi是空间的很多点(向量,有x、y、z三个分量),t在0到1之间,把t=0代进去可以算出一个数(x、y、z三个值,因为p是向量,有三个分量)--即空间一个点,随着t值的变化,点也在变化。当t从0变到1时,就得到空间的一个图形,这个图形就是bezier曲线。Bernstein基函数是一个多项式,基函数的性质决定了曲线的性质。绘制Bezier曲线主要有以下步骤:①首先给出的递归计算式:②将表示成分量坐标形式:根据以上的公式可以直接写出绘制Bezier曲线的程序。根据Bezier曲线的定义确定的参数方程绘制Bezier曲线,因其计算量过大,不太适合在工程上使用。但使用德卡斯特里奥(de Casteljau)提出的递推算法则要简单得多。设P0、P02、P2是一条抛物线上顺序三个不同的点。过P0和P2点的两切线交于P1点,在P02点的切线交P0P1和P2P1于P01和P11,则如下比例成立:这是所谓抛物线的三切线定理。当P0,P2固定,引入参数t,令上述比值为t:(1-t),即有:t从0变到1,第一、二式就分别表示控制二边形的第一、二条边,它们是两条一次Bezier曲线。将一、二式代入第三式得:当t从0变到1时,它表示了由三顶点P0、P1、P2三点定义的一条二次Bezier曲线。并且表明:这二次Bezier曲线P02可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次Bezier曲线的线性组合。依次类推,由四个控制点定义的三次Bezier曲线P03可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次Bezier曲线的线性组合。由(n+1)个控制点Pi(i=0,1,...,n)定义的n次Bezier曲线P0n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0n-1与P1n-1的线性组合:由此得到Bezier曲线的递推计算公式:这便是著名的de Casteljau算法。用这一递推公式,在给定参数下,求Bezier曲线上一点P(t)非常有效。上式中:Pi0=Pi是定义Bezier曲线的控制点,P0n即为曲线P(t)上具有参数t的点。de Casteljau算法稳定可靠,直观简便,可以编出十分简捷的程序,是计算Bezier曲线的基本算法和标准算法。2. Bezier曲面生成思想设为个空间点列,则m×n次Bezier曲面定义为: (式2-1) 其中 ,是Bernstein基函数。依次用线段连接点列中相邻两点所形成的空间网格,称之为特征网格。Bezier曲面的矩阵表示式是:(式2-2)在一般实际应用中,n、m不大于4。(1) 双线性Bezier曲面 当m=n=1时 u,w∈[0,1] (式2-3)定义一张双线性Bezier曲面。已知四个角点之后,则(式2-4) (2) 双二次Bezier曲面 当m=n=2时 (式2-5)由此式定义的曲面,其边界曲线及参数坐标曲线均为抛物线。 (3) 双三次Bezier曲面 当m=n=3时 (式2-6) (式2-7)其矩阵表示为 (式2-8)Bezier曲线的递推(de Casteljau)算法,可以推广到Bezier曲面的情形。若给定Bezier曲面特征网格的控制顶点:和一对参数值(u,v),则: 式(2-9)一条曲线可以表示成两条低一次曲线的组合,一张曲面可以表示成低一次的四张曲面的线性组合。其中:式(2-10)或:式(2-11)上面给出了确定曲面上一点的两种方案。当按(1)式方案执行时,先以u参数值对控制网格u向的n+1个多边形执行
您可能关注的文档
- [2018年最新整理]安全防范工程技术规范2014-56.ppt
- [2018年最新整理]安全评价师职业资格鉴定考试题型及相关范例.ppt
- [2018年最新整理]安全风险辨识评估表 - 变电土建.doc
- [2018年最新整理]安全阀在线校验技术.ppt
- [2018年最新整理]安宁函都教育、艾笛网络科技大田喷灌合同.doc
- [2018年最新整理]安居宝可视对讲系统培训手册.ppt
- [2018年最新整理]安川伺服驱动器参数表和功能表.doc
- [2018年最新整理]安布闭壳龟通篇.doc
- [2018年最新整理]安师大《 热力学统计物理》复习提纲22.doc
- [2018年最新整理]安徽工业大学—通信原理课程设计—基于FPGA的时分多路数字电话基带传输系统的设计与开发.doc
原创力文档

文档评论(0)