计算机动画原理.ppt

上传人:李司机 文档编号:4108891 上传时间:2023-04-04 格式:PPT 页数:229 大小:4.79MB
返回 下载 相关 举报
计算机动画原理.ppt_第1页
第1页 / 共229页
计算机动画原理.ppt_第2页
第2页 / 共229页
计算机动画原理.ppt_第3页
第3页 / 共229页
计算机动画原理.ppt_第4页
第4页 / 共229页
计算机动画原理.ppt_第5页
第5页 / 共229页
点击查看更多>>
资源描述

《计算机动画原理.ppt》由会员分享,可在线阅读,更多相关《计算机动画原理.ppt(229页珍藏版)》请在三一办公上搜索。

1、,1,第一章 计算机动画原理简介,3.3,3.2,3.4,3.1,计算机动画概述,常见动画制作软件,动画的设计与创意,主要内容,常用动画文件格式,2,3.5,动画制作软件Flash,3.2,计算机动画特点,计算机动画概述,将一张张具有连贯动作的图画或者一个个连贯姿态的人偶画面图像文件,用逐格拍摄的方式摄制下来,由此获得动感影响的效果,形成视频作品,也泛指此类型影视手法本身称为动画(Animatian或Cartoon)。,何谓动画呢?,3,计算机动画是采用连续播放静止图像的方法产生景物运动的效果,也即使用计算机产生图形、图像运动的技术。计算机动画的原理与传统动画基本相同,只是在传统动画的基础上把

2、计算机技术用于动画的处理和应用,并可以达到传统动画所达不到的效果。,计算机动画概述,随着计算机图形技术的迅速发展,从60年代起,计算机动画技术也很快发展和应用起来。计算机动画区别于计算机图形、图像的重要标志是动画使静态图形、图形产生了运动效果。,计算机动画发展,60年代 美国的BELL实验室和一些研究机构就开始研究用计算机实现动画片中间画面的制作和自动上色。这些早期的计算机动画系统基本上是二维辅助动画系统(computer assisted animation),也称为二维动画。,计算机动画发展历史,7080年代 计算机图形图像技术的软、硬件都取得了显著的发展,使计算机动画技术日趋成熟,三维辅

3、助动画系统也开始研制并投入使用。三维动画也称为计算机生成动画(computer generated animation),其动画的对象不是简单地由外部输入,而是根据三维数据在计算机内部生成的。,计算机动画发展历史,90-现在 计算机动画已经发展成一个多种学科和技术的综合领域,它以计算机图形学,特别是实体造型和真实感显示技术(消隐、光照模型、表面质感等)为基础,涉及到图像处理技术、运动控制原理、视频技术、艺术甚至于视觉心理学、生物学、机器人学、人工智能等领域,它以其自身的特点而逐渐成为一门独立的学科。,计算机动画发展历史,从制作的角度看,计算机动画可能相对较简单,如一行字幕从屏幕的左边移入,然后

4、从屏幕的右边移出,这一功能通过简单的编程就能实现。计算机动画也可能相当复杂,如电影“变形金刚”。,计算机动画特点,计算机动画,按读者群分类:儿童和少年动画青年动画,动画的分类:,10,按传播方式分类:TV动画剧场动画OVA动画,按空间视觉效果分类:平面动画立体动画计算机动画,故事 剧本 收集资料及素材 组建剧组 整体美术风格设计 造型设计 场景及道具设计 动作风格设计 故事板设计 声音形象设计 前期配音,动画的设计与创意,前期创意与设计,11,镜头设计 摄影时间表 分场美术气氛 组建剧组 整体美术风格设计 造型设计 场景及道具设计 动作风格设计 故事板设计 声音形象设计 前期配音,动画的设计与

5、创意,中期设计制作,12,特效制作 视觉合成 影片剪辑 声音混录 输出,动画的设计与创意,后期制作,13,常见动画制作软件,14,Animagic Gif,Gif Animator,Xara 3D,COOL 3D,Flash,3ds max,Alias/Wave front Maya,GIF动画格式 GIF图像由于采用了无损数据压缩方法中压缩率较高的LZW算法,文件扩展名为.GIF,文件尺寸较小,因此被广泛采用。目前Internet上大量采用的彩色动画文件多为这种格式的GIF格式。,常用动画文件格式,15,SWF格式 SWF是Macromedia公司的产品Flash的矢量动画格式,文件扩展名为

6、.SWF,它采用曲线方程描述其内容,不是由点阵组成内容,因此这种格式的动画在缩放时不会失真,非常适合描述由几何图形组成的动画,如教学演示等。,常用动画文件格式,16,MA格式 MA是MAYA的动画文件格式,文件扩展名为.MA,利用ASCII编码,可编辑,可以用记事本打开。,常用动画文件格式,17,MB格式 MB是MAYA的动画文件格式,文件扩展名为.MB,利用二进制编码不可编辑。,常用动画文件格式,18,DIR格式 DIR是Director的动画格式,扩展名为.DIR,也是一种具有交互性的动画,可以加入声音,数据量较大。该格式多用于多媒体产品和游戏中。,常用动画文件格式,19,二维动画制作软件

7、Flash,Flash是一种用于制作和编辑二维动画软件,它制作的动画软件扩展名为.SWF。,20,操作界面,21,动画展示,22,三维动画制作软件Maya,Maya是美国Autodesk公司出品的世界顶级的三维动画软件,应用对象是专业的影视广告,角色动画,电影特技等。,23,操作界面,24,动画展示,25,什么是动画?动画具有什么特点?动画的策划具有哪些的作用?现代动画制作具有哪些的特征?平面动画制作软件Flash具有的特点?,26,课后思考,基础知识,第二章,图形与图像,图形:人工绘制或者计算机运算生成的,是对自然界中存在事物的抽象描述,色彩相简单图像:图像是指利用计算机外部辅助设备(如扫描

8、仪、数码相机或视频采集装置等)输入的自然图片。,图形与图像的主要区别有:数据来源不同 图像数据来自客观世界;图形数据来自主观世界。处理方法不同 图像处理方法包括几何修正、图像变换、图像增强、图像分割、图像理解、图像识别等;图形处理方法包括几何变换、开窗和裁剪、隐藏线和隐藏面消除、曲线和曲面拟合、明暗处理、纹理产生等。,图形与图像的主要区别有:数据来源不同 图像数据来自客观世界;图形数据来自主观世界。处理方法不同 图像处理方法包括几何修正、图像变换、图像增强、图像分割、图像理解、图像识别等;图形处理方法包括几何变换、开窗和裁剪、隐藏线和隐藏面消除、曲线和曲面拟合、明暗处理、纹理产生等。用途不同

9、图像处理主要用于遥感、医学、工业、航天航空、军事等。计算机图形学主要用于CAD/CAM/CAE/CAI、计算机艺术、计算机模拟、计算机动画等。,在实际应用中,图形、图像技术又是相互关联的。把图形、图像处理技术相结合,可以使视觉效果和质量更加完善,更加精美。从技术发展趋势和应用要求看,两者的结合既有必要性,又有可能性。1.必要性 利用两种技术进行完美逼真的立体成像 2.可能性 都以像素为基础,图形与图像的对比与区别,随着图形图像技术的发展,两者之间相互交叉、相互渗透,其界线也越来越模糊,计算机图形与图像处理之间的联系与转换如图7.3所示。,位图与矢量图,1.1.2 图形的表示方法,点阵法参数法,

10、点阵法是在实现阶段用具有颜色信息的像素点阵来表示图形的一种方法,描述的图形常称为图像。计算机图形学就是研究将图形的表示法从参数法转换到点阵法的一门学科。,图形的点阵法,参数法是在设计阶段采用几何方法建立数学模型时,用形状参数和属性参数描述图形的一种方法形状参数可以是线段的起始点和终止点等几何参数属性参数则包括线段的颜色、线型、宽度等非几何参数一般用参数法描述的图形依旧称为图形。,图形的参数法,用直线y=kx+b表示的图形,用直线y=kx+b表示的图像,插:图形输出设备()图形显示器图形显示器是最常见的图形输出设备,多数图形显示器采用的是标准的阴极 射线管(CRT)。阴极射线管的工作原理 是:利

11、用电磁场产生高速的、经过聚 焦的电子束,受控偏转到屏幕上的不 同位置,轰击屏幕表面的荧光材料而 产生亮点。(随机扫描;存储管;光栅扫描;液晶),这些可产生的亮点,是屏幕上可以控制的最小单元,被称作像素(pixel),它是组成图形的基本元素,一般叫作“点”。通常把屏幕上所包含像素的个数叫做分辨率。分辨率越高,显示的图形越细致、质量越好,这是显而易见的。因为所有的图形都是由这些离散的像素点组成的。(见下图),在屏幕上画一条直线(红色),直线由离散点组成,显得不光滑。,(2)绘图机绘图机分笔式绘图机和喷墨式绘图机两种。喷墨式绘图机的工作原理是利用电脉冲控制喷墨头,由喷墨头上的喷嘴把墨滴喷到图纸上而形

12、成图形。,绘图笔的运动由六种基本动作所组成,它们是:、四个方向上的移动和抬、落笔。因此,任何绘图路线都只能由这四个方向的基本运动组成。(见下图),在绘图机上,线条由锯齿形折线组成。,(圆弧见例图),基础知识,第二章第二节图形变换,2.1 图形变换的数学基础,矢量、点和欧氏空间坐标系和坐标矩阵与坐标变换齐次坐标的引入,矢量,矢量具有确定的方向和大小(长度)矢量是流动的,无位置概念矢量的运算 C=A+B,矢量,点表示空间中的一个位置点和另一个点相减得到一个矢量 v=P-Q矢量和点相加得到另一个点 P=Q+v点和矢量都是客观实在,欧氏空间,点乘 a=u。v(a为实数,u、v为矢量)0。0=0如果u。

13、v=0,则称u和v垂直矢量的长度|v|,|v|2=v。v,欧氏空间,u。v=|u|v|cos()由右手法则确定方向,坐标系和坐标,为了描述矢量和点引入坐标系在3维空间,给出三个线性无关的矢量v1、v2、v3 则任意一个矢量w可以表示为:w=a1v1+a2v2+a3v3,(a1a2a3为实数),坐标系和坐标,在三维空间给定一个点P0和三个线性无关的矢量v1、v2、v3 则空间中任何一个点P可以表示为:P=P0+a1v1+a2v2+a3v3,(a1a2a3为实数)称点P的坐标为(a1,a2,a3)写成矩阵形式为:P=P0+(a1,a2,a3)(v1、v2、v3)T,坐标系之间的变换,已知坐标系I:

14、原点Q0,坐标轴 u1,u2,u3 坐标系II:原点P0,坐标轴v1,v2,v3Q0在坐标系II的坐标为:q1,q2,q3,坐标系之间的变换,写成矩阵形式:Q0=P0+q1,q2,q3 v1,v2,v3 Tu1,u2,u3 T=M v1,v2,v3 T其中:,坐标系之间的变换,对于空间中的任一个点D,如果已知D点在坐标系II中的坐标为d1d2d3 则:D=P0+d1d2d3 v1,v2,v3 T=Q0-q1q2q3 v1,v2,v3 T+d1d2d3 v1,v2,v3 T=Q0+(d1d2d3-q1q2q3)M-1u1,u2,u3T 所以,D点在坐标系I中的坐标为(d1d2d3-q1q2q3)

15、M-1,齐次坐标技术,1.齐次坐标技术的引入 平移、比例和旋转等变换的组合变换 处理形式不统一,将很难把它们级联在一起。,2.变换具有统一表示形式的优点便于变换合成便于硬件实现,3.齐次坐标技术的基本思想 把一个n维空间中的几何问题转换到n+1维空间中解决。,对于三维空间中的点,其坐标用三个实数表示,如:(X,Y,Z)。还可以用四个实数来表示一个点的坐标,写为:(X,Y,Z,W),其中W不能为0。该坐标与(X/W,Y/W,Z/W)等价。这样做有许多方面的好处:1、很容易表示无穷远点2、容易用矩阵与矢量乘的方法表示点的平移操作,以便简化计算过程。,齐次坐标表示,齐次坐标表示不是唯一的,有n个分量

16、的向量,有n+1个分量的向量,规格化的齐次坐标,齐次坐标的引入,例一:式子P=P0+a1v1+a2v2+a3v3的简化:非齐次坐标:P=P0+a1,a2,a3 v1,v2,v3 T齐次坐标:,基本几何变换的齐次坐标表示,平移变换,比例变换,旋转变换:,逆时针为正,6.无穷远点或无穷远区域的齐次坐标表示,时,齐次坐标 表示一个n维的无穷远点,常用的二维几何变换,1.对称变换(symmetry)(反射变换或镜像变换)(1)相对于y轴对称,(2)相对于x轴对称,o,y,x,对称变换(1),y,x,o,对称变换(2),(3)相对于原点对称(即中心对称),(4)相对于直线y=x对称,o,x,y,对称变换

17、(3),x,y,o,y=x,对称变换(4),(5)相对于直线y=-x对称,x,y,o,y=-x,对称变换(5),错切变换,在图形学的应用中,有时需要产生弹性物体的变形处理,这就要用到错切变换,也称为剪切、错位变换。在前述变换中,变换矩阵中的非对角线元素大都为0,若变换矩阵中非对称角元素不为0,则意味着x,y同时对图形的变化起作用,也就是说,变换矩阵中非对角元素起着把图形沿x方向或y方向错切的作用。x值或y值越小,错切量就越小;反之,x值或y值越大,错切量就越大。其变换矩阵如下:,错切变换,(1)沿X轴方向关于y的错切,即变换前后y坐标不变,x坐标呈线性变化。变换后P的坐标为:x=x+cy y=

18、y,若cy0,则沿X轴正方向错切;若cy0,则沿X轴负方向错切,错切变换,(2)沿Y轴方向关于x的错切,即变换前后x坐标不变,y坐标呈线性变化。变换后P的坐标为:x=x y=y+bx 若bx0,则沿Y轴正方向错切;若by0,则沿Y轴负方向错切。,例子:任意点绕(x,y)任意点(x0,y0)的旋转变换 绕任意点旋转变换的步骤:(1)平移变换(2)对图形绕原点进行旋转变换(3)平移变换,二维组合变换,令,则有,三维变换矩阵在前面介绍的二维图形变换中,由于采用了齐次坐标表示法,二维变换矩阵是一个33的方阵。故我们可以联想到,在三维变换中,其变换矩阵是一个44的方阵。,三维变换矩阵的一般形式为:我们可

19、以把该三维变换矩阵中的各元素按功能分为四部分,该四部分的功能分别为:a1 a2 a3(1)b1 b2 b3 c1 c2 c3可以实现比例、对称、错切和旋转等基本变换。,(2)d1 d2 d3:实现三个轴向的平移变换;(3)p q r:可以实现透视变换;(4)s:可以实现全比例变换;,在前面介绍的二维图形变换中,由于采用了齐次坐标表示法,二维变换矩阵是一个33的方阵。故我们可以联想到,在三维变换中,其变换矩阵是一个44的方阵。,三维图形显示的模型,视景体(圆台、四棱台),三维图形显示的模型,前后裁剪面,窗口视区变换,1 坐标系,组成图形的最基本元素是点,而点的位置通常是在一个坐标系中定义的。图形

20、系统中使用的坐标系是人们广为熟悉的直角坐标系,也称笛卡尔坐标系。,1世界坐标系 世界坐标系(World Coordinate System,简单称WC)是最常用的坐标系,如图1所示,它是一个符合右手定则的直角坐标系,其中图1(a)是定义二维图形的坐标系,图1(b)是定义三维物体的坐标。,图1 世界坐标系,世界坐标系是用来定义用户在二维或三维世界中的物体,因此也称为用户坐标系。理论上,世界坐标系是无限大且连续的,即它的定义域为实数域。,2设备坐标系 图形输出设备(如显示器、绘图仪)自身都有一个坐标系称之为设备坐标系(Device Coordinate System),简称DC或物理坐标系。,设备

21、坐标系是一个二维平面坐标系,它的度量单位是步长(绘图仪)或象素(显示器),因此它的定义域是整数域且是有界的。例如,对显示器而言,分辩率就是其设备坐标系的界限范围。,3规格化设备坐标系 由于用户的图形是定义在用户坐标系里,而图形的输出定义在设备坐标系里,它依赖于具体的图形设备。由于不同的图形设备具有不同的设备坐标系,且不同设备之间坐标范围也不尽相同,例如:分辨率为1024768的显示器,其屏幕坐标范围为:X方向01023,Y方向0767,而分辨率为640480的显示器,其屏幕坐标范围为:X方向0639,Y方向0479,显然这使得应用程序与具体的图形输出设备有关,给图形处理及应用程序的移植带来不便

22、。,为了便于图形处理,有必要定义一个标准设备,我们引入与设备无关的规格化的设备坐标系(Normalized Device Coordinate System,简称NDC),采用一种无量纲的单位代替设备坐标,当输出图形时,再转换为具体的设备坐标。规格化设备坐标系的取值范围为:左下角(0.0,0.0),右上角(1.0,1.0)。用户的图形数据经转换成规格化的设备坐标系中的值,使应用程序与图形设备隔离开,增强了应用程序的可移值性。,在图形处理中,上述三种坐标系的转换关系如图3.26所示。,图3.26 WC、NDC和DC三种坐标系的转换,4.3.2 窗口与视区,1窗口“窗口”一词对大家并不陌生,在日常

23、生活中也常遇到。例如,我们坐在教室里,透过窗户向外看,尽管外面的世界是无限的,然而映入我们眼帘的仅仅是一小部分,其余的均被窗户周围的墙遮挡了。这里,窗户就是一个窗口。,在计算机中,窗口是图形的可见部分,是在用户坐标系中定义的确定显示内容的一个矩形区域,只有在这个区域内的图形才能在设备坐标系下输出,而窗口外的部分则被裁掉。,如图4.27所示,我们用矩形的左下角点的坐标(Wxl,Wyb)和右上角点的坐标(Wxr,Wyt)来确定窗口的大小和位置,通过改变窗口的大小、位置和比例,可以方便地观察局部图形,控制图形的大小。,2.视区 视区是在设备坐标系(通常是屏幕)中定义的一个矩形区域,用于输出窗口中的图

24、形。视区决定了窗口中的图形要显示于屏幕上的位置和大小。,图3.27 窗口的定义,视区是一个有限的整数域,它应小于等于屏幕区域,而定义小于屏幕的视区是非常有用的,因为这样可以在同一屏幕上定义多个视区,用来同时显示不同的图形信息。例图4.28表示在同一屏幕上定义了四个视区,分别代表一个机械零件的前视图,侧视图、顶视图和轴测图。,图3.28 一个三维物体的多视图,4.3.3 窗口-视区变换,由于窗口和视区是在不同的坐标系中定义的,因此,在把窗口中的图形信息送到视区去输出之前,必须进行坐标变换,即把用户坐标系的坐标值转化为设备(屏幕)坐标系的坐标值,这个变换即为窗口-视区变换。,如图3.29所示,设在

25、用户坐标系下定义的窗口为:左下角点坐标(Wxl,Wyb),右上角点坐标(Wxr,Wyt);在设备坐标系中定义的视区为:左下角点坐标(Vxl,Vyb),右上角点坐标(Vxr,Vyt)。,图3.29 窗口-视区变换,由图可知,在用户坐标系中的点(xw,yw)投影到设备坐标系中的点(xv,yv),有下列等式:,(3-1),由(3-1)式得窗口中一点W(xw,yw)变换到视区中对应的点V(xv,yv)二者之间的关系为:,(3-2),设:,则(3-2)式可写成:,(3-3),写成矩阵为:,(3-4),第四章 曲 线 曲 面(抛物样条曲线),一、绘制曲线的基本方法在设计和绘图中,几乎不可能没有曲线。这些曲

26、线一般分为两类:一类是标准曲线,可以有标准的数学方程来描述,如圆、椭圆、抛物线等;另一类是拟合曲线,它们不能用标准的数学方程来描述,只有先给出一些数据点,然后用相应的数学方法来拟合这些数据点成曲线。,例如有实验曲线、等值线等,它们都是通过做实验得到一些实验数据、或经测量得到一系列离散数据点。依据 这些实际数据,我们希望能构造出一 条曲线,使其完全通过或者比较贴近 这些数据点。所以拟合曲线的问题就是介绍由离散的数据点如何构成曲线的方法。,在计算机图形学这个领域里谈起的曲线,一般都是指的后一种曲线。我们要讨论的问题在于:已知一组数据点(也称型值点),选用哪种数学方法 来加以拟合,相应的数学表达方式

27、以 及如何绘制成曲线。为了说清这些问题,还须先从标准曲线开始。,在手工操作绘制曲线时,除了圆弧类曲线可以直接借助于工具圆规来画出外,其他的曲线一般都是先确定几个点,然后借用曲线板分段绘出。其实这也是用计算机来绘制曲线的基本原理。由于计算机图形输出设备的工作特点,曲线一般是离散成直线画出的。(见图),另一个问题是参数法表示。(特别是对于多值曲线,尤为重要)例如看一个圆,它的标准方程是:x+y=r可写成:y=r-x 圆的参数方程表示为:x=rcos(t)y=rsin(t)这两种表示方法,在绘图的时候是存有明显的差别的。看图。,取等量的变量但得不到均匀曲线,取等量的变量得到均匀曲线,从以上的分析可得

28、出绘制曲线的基本方法有两条:*离散化这是由于硬件的条件决定的,理想化的曲线是绘不出来的。*参数法这是由于曲线的质量要求决定的。,下面我们以一个椭圆为例,来说明其绘图过程和程序。椭圆的参数方程为:(中心在原点)x=acos(t)y=bsin(t)(0t2),当参数 t=ti 时:xi=acos(ti)yi=bsin(ti)当参数 t=tit 时:x i+1=acos(ti t)y i+1=bsin(ti t)当 t 相当小时,我们认为在椭圆上两点之间的弧长就可以用该两点之间的弦长来代替。(见图),(xi,yi),(xi+1,yi+1),ti,t,所以椭圆的绘图程序可写成:void ellipse

29、(x0,y0,a,b,dt)int x0,y0,a,b,dt;int x,y,n,i;float t1,t=0.0;t1=dt*0.01745;n=360/dt;moveto(x0+a,y0);for(i=1;in;i+)t=t+t1;x=x0+a*cos(t);y=y0+b*sin(t);lineto(x,y);lineto(x0+a,y0);,lineto()画线函数 功能:函数lineto()使用当前绘图色、线型及线宽,从当前位置画一直线到指定位置。用法:此函数调用方式为void lineto(int x,int y);说明:参数x,y为指定点的坐标,函数调用后,当前位置改变到指定点(x

30、,y)。该函数对应的头文件为graphics.h 返回值:无,这个程序说明了绘制曲线的一般方法,用离散的直线段代替了曲线。致於直线段长度的取值则决定于对曲线的精度要求。显然,参变量的增量越小,则离散直线段的长度越短,于是得到的曲线精度越高。,二、抛物样条曲线用抛物线作为基本曲线,通过一定的数学方法,把一组离散的数据点用一条复合的曲线光滑地连接起来。,.过三点定义一条抛物线设有不在一直线上的任意三点:P1,P2,P3。如何定义一条抛物线使其通过该三点。P2 P1 P3,抛物线参数表达式的一般形式为:P(t)=A1+A2t+A3t(t1)目前,表达式中的三个系数A1、A2和A3是未知的,所以只要确

31、定该三个系数的值,则抛物线就能唯一确定。,要求三个未知数,必须设三个独立的条件。因抛物线过该三点,所以设:(1)抛物线以 P1 为始点,即t=0时,P(0)=P1;(2)抛物线以 P3 为终点,即t=1时,P(1)=P3;(3)当 t=0.5 时,曲线过P2点,即P(0.5)=P2。,P2(t=0.5)P1(t=0)P3(t=1)于是可列出三个独立的方程为:A1=P1(t=0)A1+A2+A3=P3(t=1)A1+0.5A2+0.25A3=P2(t=0.5),解以上的联列方程组,可得:A1=P1A2=4P2-P3-3P1A3=2P1+2P3-4P2故抛物线的参数表达式就可以唯一确定为:P(t)

32、=A1+A2t+A3t=P1+(4P2-P3-3P1)t+(2P1+2P3-4P2)t(0t1),将上式先展开再整理后可得:P(t)=(2t-3t+1)P1+(4t-4t)P2+(2t-t)P3(0t1)以上推导求出的算式,即为过不在一直线上的三点:P1(x1,y1)、P2(x2,y2)和P3(x3,y3)的抛物线的方程。这时根据 t的取值,可以一一计算出曲线上的点,从而绘出图形。,.样条曲线表达式的推导设有一离散点列i,(i=1,2,.,n)。我们可以用上述方法每经过相邻的三点作一条抛物线,则由n个点最多总共可以作出(n-2)条抛物线。见图。,两种连接法,在第二种连接方式的(n-2)条抛物线

33、中,第i条抛物线的方程应为:第i+1条抛物线的方程应为:(0ti,ti+11),一般来说,两段曲线 Si 和 Si+1 在其重叠区间是不可能完全自然重合的。见图 Pi+1(t),但是,整个点列必须是只能用一条曲线连接起来的。为了做到这一点,在两条曲线的共同区间内,必须想法让它们按照一定的规则结合组成一条曲线。有效的办法就是 加权合成。所谓的加权合成,就是用权函数来分 配原曲线在形成的合成曲线中各自所 占的比例。,设两个权函数分别为:f1(T)=1-Tf2(T)=T(0T1)则加权合成后的曲线为:Pi+1(t)=f1(T)Si(ti)+f2(T)Si+1(ti+1)在同一个参数方程中,出现了三个

34、参变量:T、ti和ti+1。所以,为了使下面的工作得以进行,首先要统一参变量。,对于f(T):(0T1)Si(ti):(0.5ti1)Si+1(ti+1):(0ti+10.5)我们设统一后的参变量为 t,并且使其定义域为:0t0.5,则有:T=2tti=0.5+t ti+1=t,于是合成曲线的以上表达式:Pi+1(t)=f1(T)Si(ti)+f2(T)Si+1(ti+1)可以改写成以下形式:Pi+1(t)=(1-2t)Si(t+0.5)+2tSi+1(t)其中:Si(t+0.5)=(2t-t)Pi+(1-4t)Pi+1+(2t+t)Pi+2Si+1(t)=(2t-3t+1)Pi+1+(4t-

35、4t)Pi+2+(2t-t)Pi+3(0t0.5),把新的Si和Si+1代入i+1(t),得到:Pi+1(t)=(-4t3+4t-t)Pi+(12t3-10t+1)Pi+1+(-12t3+8t+t)Pi+2+(4t3-2t)Pi+3式中:0t 0.5 i=1,2,3,n-3该式的实质是:每四个相邻的数据点可以确定中间一段抛物样条曲线。,总共有n个点,只能确定(n-3)段分段曲线,.抛物样条曲线的端点条件根据以上得到的结果,每相邻四个点可以确定一段样条曲线。以此类推,我们可以得到后续的各段曲线。但全部 n 个数据点,总共只能产生 n-3 个曲线段。还有首、尾两端 P1P2和 Pn-1Pn之间的曲

36、线无法确定。,首、尾两端曲线无法确定的原因在于缺乏连续的相邻四点。所以解决问题的方法也就是要想办法补足四点。即在P1前补一点P0,在Pn后补一点Pn+1,以使首、尾两端具备有相邻四点的条件:P0、P1、P2、P3和Pn-2、Pn-1、Pn、Pn+1。从而可产生P1P2曲线段和 Pn-1Pn曲线段。(见图),如何添加这P0和Pn+1两个点,就是要讨论的 端点条件。自由端对曲线的两端没有约束条件,我们称为自由端。这时让新补之点和原端点 重合,即P0=P1Pn+1=Pn,4.抛物样条曲线的性质不管用什么方法由离散点生成曲线,总希望所得到的曲线是连续光滑的。用来评价曲线连续光滑程度的指标是曲线在节点处

37、的导数能满足于什么样的条件。假如在节点处两曲线的一阶导数相等,则我们称曲线为一阶连续(C连续);而如果两曲线的二阶导数相等,则我们称曲线为二阶连续(C连续)。以此类推。,下面我们来看抛物样条曲线的情况:设它们的相邻两段为i+1(t)和Pi+2(t),Pi+1(t)=(-4t3+4t-t)Pi+(12t3-10t+1)Pi+1+(-12t3+8t+t)Pi+2+(4t3-2t)Pi+3 Pi+2(t)=(-4t3+4t-t)Pi+1+(12t3-10t+1)Pi+2+(-12t3+8t+t)Pi+3+(4t3-2t)Pi+4见图,Pi+2(t)节点处t=0,Pi+1(t)节点处t=0.5,分别对

38、i+1(t)和Pi+2(t)求导:Pi+1(t)=(-12t+8t-1)Pi+(36t-20t)Pi+1+(-36t+16t+1)Pi+2+(12t-4t)Pi+3=Pi+3-Pi+1(当t=0.5时)同样可求得:Pi+2(t)=Pi+3-Pi+1(当t=0时)可见抛物样条曲线达成一阶连续。,5.程序marking()标记型值点。parspl()绘制曲线。main()完成初始设置,读入数据文件。,曲 线 曲 面(B样条曲线和曲面),在我们工程中应用的拟合曲线,一般地说可以分为两种类型:一种是最终生成的曲线通过所有的给定型值点,比如抛物样条曲线和三次参数样条曲线等;另一种曲线是,它的最终结果并不

39、一定通过给定的型值点,而只是比较好地接近这些点,这类曲线(或曲面)比较适合于外形设计。,因为在外形设计中(比如汽车、船舶),初始给出的数据点往往并不精确;并且有的地方在外观上考虑是主要的,因为不是功能的要求,所以为了美观而宁可放弃个别数据点。因此不须最终生成的曲线都通过这些数据点。另一方面,考虑到在进行外形设计时应易于实时局部修改,反映直观,以便于设计者交互操作。第一类曲线在这方面就不能适应。,法国的 Bezier 为此提出了一种新的参数曲线表示方法,因此称为Bezier曲线。后来又经过 Gordon、Forrest和 Riesenfeld等人的拓广、发展,提出了样条曲线。这两种曲线都因能较好

40、地适用于 外形设计的特殊要求而获得了广泛的 应用。,一、Bezier曲线Bezier曲线的形状是通过一组多边折线(特征多边形)的各顶点唯一地定义出来的。在这组顶点中:(1)只有第一个顶点和最后一个顶点在曲线上;(2)其余的顶点则用于定义曲线的导数、阶次和形状;(3)第一条边和最后一条边则表示了曲线在两端点处的切线方向。,Bezier曲线的数学表达式 Bezier曲线是由多项式混合函数推导出来的,通常 n+1 个顶点定义一个 n次多项式。其数学表达式为:(0=t=1)式中:i:为各顶点的位置向量i,n(t):为伯恩斯坦基函数,伯恩斯坦基函数的表达式为:假如规定:,!,则t=0:i=0,Bi,n(

41、t)=1 i0,Bi,n(t)=0P(0)=P0,t=1:i=n,Bi,n(t)=1 in,Bi,n(t)=0P(1)=Pn 所以说,“只有第一个顶点和最后一个 顶点在曲线上”。即Bezier曲线只通过多边折线的起点和终点。,1.一次Bezier曲线(n=1)一次多项式,有两个控制点,其矩阵表示为:显然,它是一条以P0为起点、以P1为终点的直线段。,2二次Bezier曲线(n=2)二次多项式,有三个控制点,其矩阵表示为:显然,它是一条以P0为起点、以P2为终点的抛物线。,3三次Bezier曲线(n=3)三次多项式,有四个控制点,其矩阵表示为:可知,三次Bezier曲线是一条以P0为起点、以P3

42、为终点的自由曲线。,习题1:请利用下面给出的控制点的坐标,做三次Brezier曲线:p0=(1,0,0);p1=(5,5,0);p2=(15,7,0);p3=(10,2,0)参数t的取值间隔为0.2,则n=3时,B0(t)=(1-t),B1(t)=3(1-t)t,B2(t)=3(1-t)t,B3(t)=t对于参数t的不同取值,坐标P(t)可以用下式求得:P(t)B0(t)p0 B1(t)p1 B2(t)p2 B3(t)p3,解:P(0)=1(1,0,0)0(5,5,0)0(15,7,0)0(10,2,0)(1,0,0)P(0.2)=0.51(1,0,0)0.38(5,5,0)0.10(15,7

43、,0)0.01(10,2,0)(4.01,2.62,0)P(0.4)=0.22(1,0,0)0.43(5,5,0)0.23(15,7,0)0.06(10,2,0)(6.42,3.88,0)P(0.6)=0.06(1,0,0)0.23(5,5,0)0.43(15,7,0)0.22(10,2,0)(9.86,4.60,0)P(0.8)=0.01(1,0,0)0.10(5,5,0)0.38(15,7,0)0.51(10,2,0)(11.31,4.18,0)P(1)=0(1,0,0)0(5,5,0)0(15,7,0)1(10,2,0)(10.00,2.00,0),0,1,2,3,4,5,2,4,6,8

44、,10,12,(1,0,0),(4.01,2.62,0),(6.42,3.88,0),(9.86,4.60,0),(11.31,4.18,0),(10.00,2.00,0),三次Brezier曲线描图,二、B样条曲线.从 Bezier 曲线到样条曲线(1)Bezier 曲线在应用中的不足:缺乏灵活性一旦确定了特征多边形的顶点数(m个),也就决定了曲线的阶次(m-1次),无法更改;控制性差当顶点数较多时,曲线的阶次将较高,此时,特征多边形对曲线形状的控制将明显减弱;,不易修改由曲线的混合函数可看出,其值在开区间(0,1)内均不为零。因此,所定义之曲线在(0 t 1)的区间内的任何一点均要受到全部

45、顶点的影响,这使得对曲线进行局部修改成为不可能。(而在外形设计中,局部修改是随时要进行的),为了克服 Bezier 曲线存在的问题,Gordon 等人拓展了 Bezier曲线,就外形设计的需求出发,希望新的曲线要:易于进行局部修改;更逼近特征多边形;是低阶次曲线。于是,用 n次样条基函数替换了伯恩斯坦基函数,构造了称之为样条曲线的新型曲线。,2.样条曲线的数学表达式样条曲线的数学表达式为:在上式中,0=t=1;i=0,1,2,m所以可以看出:样条曲线是分段定义的。如果给定 m+n+1 个顶点 Pi(i=0,1,2,m+n),则可定义 m+1 段 n 次的参数曲线。,在以上表达式中:F k,n(

46、t)为 n 次B样条基函数,也称样条分段混合函数。其表达式为:式中:0=t=1 k=0,1,2,n,连接全部曲线段所组成的整条曲线称为 n 次样条曲线。依次用线段连接点 Pi+k(k=0,1,n)所组成的多边折线称为样条曲线在第i段的特征多边形。,Nurbs曲线:非均匀有理B样条(non-uniform rational b-splines)曲线。国际标准化组织将NURBS作为定义工业产品形状的唯一数学方法。,几 何 造 型,1三维模型 2形体表示方法 3实体造型,计算机图形学的许多应用涉及到三维几何信息在机内的生成和表示,如飞机、汽车的外形设计,机械零部件的设计,机器人运动的模拟等。这类问题

47、统称为几何造型。一般来说,几何造型是通过对点、线、面、体等几何元素,经过平移、旋转等几何变换和并、交、差等集合运算,产生满足设计目的的物体模型。,在设计中,立体的形状具有决定性的意义。它不仅是绘制工程图的基础;而且是分析、计算立体物性(质量、重心、惯性矩等)的重要参数;也是决定如何进行工程分析的依据。几何造型所涉及的基本问题,就是如 何建立计算机能够处理的几何模型,以及处理的方法。,一、模型分类,过程模型,包括-随机插值模型、迭代函数系统、L系统、粒子系统、复变函数迭代等,以一个过程和相应的控制参数描述以一个数据文件和一段代码的形式存在,数据模型,完全以数据描述以数据文件的形式存在,包括-边界

48、表示、分解表示、构造表示等,三维数据模型形体在计算机中建模时,常分为三种形式。它们是:线框模型表面模型实体模型,.线框模型(wireframe model)线框模型是用顶点和棱边来表示的模型。为了确切地表示清楚形体的形状和位置,必须给出顶点集的位置和它们之间的连边规则。线框模型结构简单,它是表面模型和 实体模型的基础。但用线框模型表示 曲面体比较困难,也不能形成明暗和 色彩,不能进行立体的物性计算等。,在 MAYA 中,线框模型可以通过在 三维空间中绘制二维对象来创建(例 如 CV Curve Tool),2.表面模型(surface model)表面模型是用有向棱边围成的部分来定义形体的表面

49、,再用面的集合来定义形体。表面模型是在线框模型的基础上,增加面边信息以及表面特性、棱边的连接方向等内容。表面模型可以满足于面面求交线、形成明暗色彩等要求,但对于立体的物性计算和工程分析仍有困难(如有限元分析)。,面模型:比线框模型立体感强;,“空壳”,能够计算面积,表达物体的表面形状;进行剖切操作时,内部为空洞;,在面模型上打孔,内部为“空洞”,面模型,.实体模型(solid model)实体模型,即是指实心的立体模型,其主要的几何特征表现为体,它可以更完整准确地表达模型的几何特征,包含的信息也更多。利用实体模型,可以计算、分析物体的质量、体积、重心和惯性矩等物理特性,因此它是计算机辅助设计的

50、重要基础。,可以理解为“实心”,能够计算体积、面积、重量等基本物理量;动量、转达惯量;可以赋予材料特性;模拟物理的运动,受力变形,体模型,实体模型是在表面模型的基础上,再进一步定义实体存在于面的哪一侧而建立的。一般可用下面方法来定义:(1)给出实体存在侧的一点。(2)用表面的外法矢直接指明。,尽管实体模型与前面所说的线框模型、表面模型截然不同,但是在图形显示时,实体模型也是以线框图来表示的,除非对它进行了消隐(Hide)、阴影(Shade)或渲染(Render)处理。*,三种不同模型的简单比较 线框模型表面模型实体模型结构简单、处理可形成彩色图像、可用于物性计容易、存储量小,面积体积计算算、工

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号