




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第一章 计算机动画原理简介 3.3 3.2 3.4 3.1计算机动画概述 常见动画制作软件 动画的设计与创意 主要内容常用动画文件格式 2 3.5动画制作软件Flash 3.2计算机动画特点 计算机动画概述将一张张具有连贯动作的图画或者一个个连贯姿态的人偶画面图像文件,用逐格拍摄的方式摄制下来,由此获得动感影响的效果,形成视频作品,也泛指此类型影视手法本身称为动画(Animatian或Cartoon)。何谓动画呢?3计算机动画是采用连续播放静止图像的方法产生景物运动的效果,也即使用计算机产生图形、图像运动的技术。计算机动画的原理与传统动画基本相同,只是在传统动画的基础上把计算机技术用于动画的
2、处理和应用,并可以达到传统动画所达不到的效果。计算机动画概述随着计算机图形技术的迅速发展,从60年代起,计算机动画技术也很快发展和应用起来。计算机动画区别于计算机图形、图像的重要标志是动画使静态图形、图形产生了运动效果。计算机动画发展7080年代 计算机图形图像技术的软、硬件都取得了显著的发展,使计算机动画技术日趋成熟,三维辅助动画系统也开始研制并投入使用。 三维动画也称为计算机生成动画(computer generated animation ),其动画的对象不是简单地由外部输入,而是根据三维数据在计算机内部生成的。计算机动画发展历史90 - 现在 计算机动画已经发展成一个多种学科和技术的综
3、合领域,它以计算机图形学,特别是实体造型和真实感显示技术(消隐、光照模型、表面质感等)为基础,涉及到图像处理技术、运动控制原理、视频技术、艺术甚至于视觉心理学、生物学、机器人学、人工智能等领域,它以其自身的特点而逐渐成为一门独立的学科。计算机动画发展历史按读者群分类:儿童和少年动画青年动画动画的分类:10按传播方式分类:TV动画剧场动画OVA动画按空间视觉效果分类:平面动画立体动画计算机动画 故事 剧本 收集资料及素材 组建剧组 整体美术风格设计 造型设计 场景及道具设计 动作风格设计 故事板设计 声音形象设计 前期配音动画的设计与创意前期创意与设计11 镜头设计 摄影时间表 分场美术气氛 组
4、建剧组 整体美术风格设计 造型设计 场景及道具设计 动作风格设计 故事板设计 声音形象设计 前期配音动画的设计与创意中期设计制作12常见动画制作软件14Animagic GifGif AnimatorXara 3DCOOL 3DFlash3ds maxAlias/Wave front MayaGIF动画格式 GIF图像由于采用了无损数据压缩方法中压缩率较高的LZW算法,文件扩展名为 .GIF,文件尺寸较小,因此被广泛采用。目前Internet上大量采用的彩色动画文件多为这种格式的GIF格式。常用动画文件格式15MA格式 MA是MAYA的动画文件格式,文件扩展名为 .MA,利用ASCII编码,可
5、编辑,可以用记事本打开。常用动画文件格式17MB格式 MB是MAYA的动画文件格式,文件扩展名为 .MB,利用二进制编码不可编辑。常用动画文件格式18DIR格式 DIR是Director的动画格式,扩展名为.DIR,也是一种具有交互性的动画,可以加入声音,数据量较大。该格式多用于多媒体产品和游戏中。常用动画文件格式19二维动画制作软件Flash Flash是一种用于制作和编辑二维动画软件,它制作的动画软件扩展名为.SWF。20操作界面21菜单栏工具面板舞台动画展示22操作界面24动画展示25基础知识第二章图形与图像图形:人工绘制或者计算机运算生成的,是对自然界中存在事物的抽象描述,色彩相简单图
6、像:图像是指利用计算机外部辅助设备(如扫描仪、数码相机或视频采集装置等)输入的自然图片。图形与图像的主要区别有:数据来源不同 图像数据来自客观世界;图形数据来自主观世界。 处理方法不同 图像处理方法包括几何修正、图像变换、图像增强、图像分割、图像理解、图像识别等;图形处理方法包括几何变换、开窗和裁剪、隐藏线和隐藏面消除、曲线和曲面拟合、明暗处理、纹理产生等。 图形与图像的主要区别有:数据来源不同 图像数据来自客观世界;图形数据来自主观世界。 处理方法不同 图像处理方法包括几何修正、图像变换、图像增强、图像分割、图像理解、图像识别等;图形处理方法包括几何变换、开窗和裁剪、隐藏线和隐藏面消除、曲线
7、和曲面拟合、明暗处理、纹理产生等。 用途不同 图像处理主要用于遥感、医学、工业、航天航空、军事等。计算机图形学主要用于CAD/CAM/CAE/CAI、计算机艺术、计算机模拟、计算机动画等。 在实际应用中,图形、图像技术又是相互关联的。把图形、图像处理技术相结合,可以使视觉效果和质量更加完善,更加精美。从技术发展趋势和应用要求看,两者的结合既有必要性,又有可能性。 1. 必要性 利用两种技术进行完美逼真的立体成像 2. 可能性 都以像素为基础图形与图像的对比与区别 图形(Graphics)图像(Image)数据量少数据量大有结构,便于编辑修改无结构,不便于编辑修改能准确表示3D景物,易于生成所需
8、的不同视图3D景物的信息巳部分丢失,很难生成不同的视图生成视图需要复杂的计算生成视图不需要复杂的计算自然景物的表示很困难自然景物的表示不困难国际标准:GKS,PHIGS,OpenGL,WMF,VRML,CGM,STEP国际标准:JBIG,JPEG,TIFF编辑软件(绘图软件): AutoCAD,CorelDRAW编辑软件(图像处理软件):Photoshop 随着图形图像技术的发展,两者之间相互交叉、相互渗透,其界线也越来越模糊,计算机图形与图像处理之间的联系与转换如图7.3所示。位图与矢量图项目 位 图 矢量图表示由像素组成的,用若干位来定义图中每个像素点的颜色用矢量表示图的轮廓,用数学公式描
9、述图中所包含的直线段、曲线段、圆弧等图形的形状放大模糊、失真依然清晰文件大小相对较大相对小1.1.2 图形的表示方法点阵法参数法点阵法是在实现阶段用具有颜色信息的像素点阵来表示图形的一种方法,描述的图形常称为图像。计算机图形学就是研究将图形的表示法从参数法转换到点阵法的一门学科。图形的点阵法参数法是在设计阶段采用几何方法建立数学模型时,用形状参数和属性参数描述图形的一种方法形状参数可以是线段的起始点和终止点等几何参数属性参数则包括线段的颜色、线型、宽度等非几何参数一般用参数法描述的图形依旧称为图形。图形的参数法用直线y=kx+b表示的图形用直线y=kx+b表示的图像 插:图形输出设备() 图形
10、显示器图形显示器是最常见的图形输出设备, 多数图形显示器采用的是标准的阴极 射线管(CRT)。阴极射线管的工作原理 是:利用电磁场产生高速的、经过聚 焦的电子束,受控偏转到屏幕上的不 同位置,轰击屏幕表面的荧光材料而 产生亮点。(随机扫描;存储管;光栅扫描;液晶)这些可产生的亮点,是屏幕上可以控制的最小单元,被称作像素 ( pixel ) ,它是组成图形的基本元素,一般叫作“点”。 通常把屏幕上所包含像素的个数叫做分辨率。分辨率越高,显示的图形越细致、质量越好,这是显而易见的。因为所有的图形都是由这些离散的像素点组成的。(见下图)在屏幕上画一条直线(红色)直线由离散点组成,显得不光滑。( 2
11、)绘图机绘图机分笔式绘图机和喷墨式绘图机两种。喷墨式绘图机的工作原理是利用电脉冲控制喷墨头,由喷墨头上的喷嘴把墨滴喷到图纸上而形成图形。绘图笔的运动由六种基本动作所组成,它们是:、四个方向上的移动和抬、落笔。因此,任何绘图路线都只能由这四个方向的基本运动组成。(见下图)在绘图机上,线条由锯齿形折线组成。(圆弧见例图)基础知识第二章第二节图形变换2.1 图形变换的数学基础矢量、点和欧氏空间坐标系和坐标矩阵与坐标变换齐次坐标的引入矢量矢量具有确定的方向和大小(长度)矢量是流动的,无位置概念矢量的运算 C=A+B矢量点表示空间中的一个位置点和另一个点相减得到一个矢量 v=P-Q矢量和点相加得到另一个
12、点 P=Q+v点和矢量都是客观实在欧氏空间点乘 a=u 。v (a为实数,u、v为矢量)0 。0=0如果u 。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的坐
13、标为(a1,a2,a3)写成矩阵形式为:P=P0+ (a1,a2,a3)( v1、v2、v3 )T坐标系之间的变换已知坐标系I:原点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 v
14、1,v2,v3 T = Q0 +(d1d2d3- q1q2q3 )M -1u1,u2,u3T 所以,D点在坐标系I中的坐标为(d1d2d3- q1q2q3 )M -1 齐次坐标技术 1.齐次坐标技术的引入 平移、比例和旋转等变换的组合变换 处理形式不统一,将很难把它们级联在一起。 2.变换具有统一表示形式的优点便于变换合成便于硬件实现 3.齐次坐标技术的基本思想 把一个n维空间中的几何问题转换到n+1维空间中解决。 对于三维空间中的点,其坐标用三个实数表示,如:(X,Y,Z)。还可以用四个实数来表示一个点的坐标,写为: (X,Y,Z,W),其中W不能为0。该坐标与(X/W,Y/W,Z/W)等价
15、。这样做有许多方面的好处:1、很容易表示无穷远点2、容易用矩阵与矢量乘的方法表示点的平移操作,以便简化计算过程。齐次坐标表示齐次坐标表示不是唯一的 有n个分量的向量有n+1个分量的向量规格化的齐次坐标齐次坐标的引入例一:式子P= P0 + a1v1+a2v2+a3v3的简化:非齐次坐标: P= P0 + a1,a2,a3 v1,v2,v3 T齐次坐标:基本几何变换的齐次坐标表示 平移变换 比例变换旋转变换:逆时针为正 6. 无穷远点或无穷远区域的齐次坐标表示 时,齐次坐标 表示一个n维的无穷远点 常用的二维几何变换 1.对称变换(symmetry)(反射变换或镜像变换) (1)相对于y轴对称(
16、2)相对于x轴对称oyx对称变换(1)yxo对称变换(2)(3)相对于原点对称(即中心对称)(4)相对于直线y=x对称oxy对称变换(3)xyoy=x对称变换(4)(5)相对于直线y=-x对称xyoy=-x对称变换(5)错切变换 在图形学的应用中,有时需要产生弹性物体的变形处理,这就要用到错切变换,也称为剪切、错位变换。在前述变换中,变换矩阵中的非对角线元素大都为0,若变换矩阵中非对称角元素不为0,则意味着x,y同时对图形的变化起作用,也就是说,变换矩阵中非对角元素起着把图形沿x方向或y方向错切的作用。x值或y值越小,错切量就越小;反之,x值或y值越大,错切量就越大。 其变换矩阵如下:错切变换
17、(1)沿X轴方向关于y的错切,即变换前后y坐标不变,x坐标呈线性变化。变换后P的坐标为: x=x+cy y=y若cy0,则沿X轴正方向错切;若cy0,则沿Y轴正方向错切; 若by0,则沿Y轴负方向错切。例子:任意点绕(x ,y)任意点(x0 , y0)的旋转变换 绕任意点旋转变换的步骤: (1)平移变换 (2)对图形绕原点进行旋转变换 (3)平移变换 (x2,y2)(x3,y3)(x0,y0)Oxy(x1,y1)(x4,y4)相对于任意点(x0,y0)的旋转变换二维组合变换任意点旋转变换示意图平移平移旋转令则有三维变换矩阵在前面介绍的二维图形变换中,由于采用了齐次坐标表示法,二维变换矩阵是一个
18、33的方阵。故我们可以联想到,在三维变换中,其变换矩阵是一个44的方阵。三维变换矩阵的一般形式为: 我们可以把该三维变换矩阵中的各元素按功能分为四部分该四部分的功能分别为: a1 a2 a3(1)b1 b2 b3 c1 c2 c3可以实现比例、对称、错切和旋转等基本变换。(2)d1 d2 d3 : 实现三个轴向的平移变换;(3)p q r:可以实现透视变换; (4)s :可以实现全比例变换; 在前面介绍的二维图形变换中,由于采用了齐次坐标表示法,二维变换矩阵是一个33的方阵。故我们可以联想到,在三维变换中,其变换矩阵是一个44的方阵。三维图形显示的模型视景体(圆台、四棱台)三维图形显示的模型前
19、后裁剪面 窗口视区变换 1 坐标系 组成图形的最基本元素是点,而点的位置通常是在一个坐标系中定义的。图形系统中使用的坐标系是人们广为熟悉的直角坐标系,也称笛卡尔坐标系。 1世界坐标系 世界坐标系(World Coordinate System,简单称WC)是最常用的坐标系,如图1所示,它是一个符合右手定则的直角坐标系,其中图1(a)是定义二维图形的坐标系,图1(b)是定义三维物体的坐标。 YXOYXOZ图1 世界坐标系 世界坐标系是用来定义用户在二维或三维世界中的物体,因此也称为用户坐标系。理论上,世界坐标系是无限大且连续的,即它的定义域为实数域。 2设备坐标系 图形输出设备(如显示器、绘图仪
20、)自身都有一个坐标系称之为设备坐标系(Device Coordinate System), 简称DC或物理坐标系。 设备坐标系是一个二维平面坐标系,它的度量单位是步长(绘图仪)或象素(显示器),因此它的定义域是整数域且是有界的。例如,对显示器而言,分辩率就是其设备坐标系的界限范围。 3规格化设备坐标系 由于用户的图形是定义在用户坐标系里,而图形的输出定义在设备坐标系里,它依赖于具体的图形设备。由于不同的图形设备具有不同的设备坐标系,且不同设备之间坐标范围也不尽相同,例如:分辨率为1024768的显示器,其屏幕坐标范围为:X方向01023,Y方向0767,而分辨率为640480的显示器,其屏幕坐
21、标范围为:X方向0639,Y方向0479,显然这使得应用程序与具体的图形输出设备有关,给图形处理及应用程序的移植带来不便。 为了便于图形处理,有必要定义一个标准设备,我们引入与设备无关的规格化的设备坐标系(Normalized Device Coordinate System, 简称NDC),采用一种无量纲的单位代替设备坐标,当输出图形时,再转换为具体的设备坐标。规格化设备坐标系的取值范围为:左下角(0.0,0.0),右上角(1.0,1.0)。用户的图形数据经转换成规格化的设备坐标系中的值,使应用程序与图形设备隔离开,增强了应用程序的可移值性。 在图形处理中,上述三种坐标系的转换关系如图3.2
22、6所示。 YXOYXO11YXO图3.26 WC、NDC和DC三种坐标系的转换 4.3.2 窗口与视区 1窗口 “窗口”一词对大家并不陌生,在日常生活中也常遇到。例如,我们坐在教室里,透过窗户向外看,尽管外面的世界是无限的,然而映入我们眼帘的仅仅是一小部分,其余的均被窗户周围的墙遮挡了。这里,窗户就是一个窗口。 在计算机中,窗口是图形的可见部分,是在用户坐标系中定义的确定显示内容的一个矩形区域,只有在这个区域内的图形才能在设备坐标系下输出,而窗口外的部分则被裁掉。 如图4.27所示,我们用矩形的左下角点的坐标(Wxl,Wyb)和右上角点的坐标(Wxr,Wyt)来确定窗口的大小和位置,通过改变窗
23、口的大小、位置和比例,可以方便地观察局部图形,控制图形的大小。 2.视区 视区是在设备坐标系(通常是屏幕)中定义的一个矩形区域,用于输出窗口中的图形。视区决定了窗口中的图形要显示于屏幕上的位置和大小。 YXOWxlWxrWybWyt(Wxl,Wyb)(Wxr,Wyt)图3.27 窗口的定义 视区是一个有限的整数域,它应小于等于屏幕区域,而定义小于屏幕的视区是非常有用的,因为这样可以在同一屏幕上定义多个视区,用来同时显示不同的图形信息。例图4.28表示在同一屏幕上定义了四个视区,分别代表一个机械零件的前视图,侧视图、顶视图和轴测图。 图3.28 一个三维物体的多视图 4.3.3 窗口-视区变换
24、由于窗口和视区是在不同的坐标系中定义的,因此,在把窗口中的图形信息送到视区去输出之前,必须进行坐标变换,即把用户坐标系的坐标值转化为设备(屏幕)坐标系的坐标值,这个变换即为窗口-视区变换。 如图3.29所示,设在用户坐标系下定义的窗口为:左下角点坐标(Wxl,Wyb),右上角点坐标(Wxr,Wyt);在设备坐标系中定义的视区为:左下角点坐标(Vxl,Vyb),右上角点坐标(Vxr,Vyt)。 YwXWWxlWxrWytWybO(xW,yW)YVXVVytVybVxlVxr(xV,yV)O图3.29 窗口-视区变换 由图可知,在用户坐标系中的点(xw,yw)投影到设备坐标系中的点(xv,yv),
25、有下列等式: (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) 这两种表示方法,在绘图的时候是存有明显的差别的。看图。取等量的变量但得不到均匀曲线取等量的变量得到均匀曲线从以上的分析可得出绘制曲线的基本方法有两条:*离散化这是由于硬件的条件决定的,理想化的曲线是绘不出来的。*参数法这是由于曲线的质量要求决定的。下面我们以一个椭圆为例,来说明其绘图过程和程序。椭圆的参数方程为:(中心在原点)x=acos(t)y=bsin(t) (0t2)当参数 t=ti 时:xi=
28、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(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;
29、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,y)。 该函数对应的头文件为graphics.h 返回值: 无 这个程序说明了绘制曲线的一般方法,用离散的直线段代替了曲线。致於直线段长度的取值则决定于对曲线的精度要求。显然,参变量的增量越小,则离散直线段的长度
30、越短,于是得到的曲线精度越高。二、抛物样条曲线用抛物线作为基本曲线,通过一定的数学方法,把一组离散的数据点用一条复合的曲线光滑地连接起来。 .过三点定义一条抛物线设有不在一直线上的任意三点:P1,P2,P3。如何定义一条抛物线使其通过该三点。P2 P1 P3抛物线参数表达式的一般形式为:P(t)=A1+A2t+A3t(t1)目前,表达式中的三个系数A1、A2和A3是未知的,所以只要确定该三个系数的值,则抛物线就能唯一确定。要求三个未知数,必须设三个独立的条件。因抛物线过该三点,所以设:(1) 抛物线以 P1 为始点,即t=0时,P(0)=P1;(2) 抛物线以 P3 为终点,即t=1时,P(1
31、)=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)=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
32、(0t1)以上推导求出的算式,即为过不在一直线上的三点:P1(x1,y1)、P2(x2,y2)和P3(x3,y3)的抛物线的方程。这时根据 t的取值,可以一一计算出曲线上的点,从而绘出图形。 .样条曲线表达式的推导设有一离散点列i,(i=1,2,.,n)。我们可以用上述方法每经过相邻的三点作一条抛物线,则由n个点最多总共可以作出(n-2)条抛物线。见图。 两种连接法在第二种连接方式的(n-2)条抛物线中,第i条抛物线的方程应为:第i+1条抛物线的方程应为: (0ti,ti+11)一般来说,两段曲线 Si 和 Si+1 在其重叠区间是不可能完全自然重合的。 见图 Pi+1 (t) 但是,整个点列
33、必须是只能用一条曲线连接起来的。为了做到这一点,在两条曲线的共同区间内,必须想法让它们按照一定的规则结合组成一条曲线。有效的办法就是 加权合成。所谓的加权合成,就是用权函数来分 配原曲线在形成的合成曲线中各自所 占的比例。 设两个权函数分别为:f1(T)=1-Tf2(T)=T (0T1)则加权合成后的曲线为:Pi+1(t)=f1(T)Si(ti)+f2(T)Si+1(ti+1)在同一个参数方程中,出现了三个参变量:T、ti和ti+1。所以,为了使下面的工作得以进行,首先要统一参变量。对于f(T):(0T1)Si(ti):(0.5ti1)Si+1(ti+1):(0ti+10.5)我们设统一后的参
34、变量为 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-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 +(-1
35、2t3+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之间的曲线无法确定。首、尾两端曲线无法确定的原因在于缺乏连续的相邻四点。所以解决问题的方法也就是要想办法补足四点。即在P1前补一点P0,在Pn后补一点Pn+1,以使首、尾两端具备有相邻四点的条
36、件:P0、P1、P2、P3和Pn-2、Pn-1、Pn、Pn+1。从而可产生P1P2曲线段和 Pn-1Pn曲线段。(见图)如何添加这P0和Pn+1两个点,就是要讨论的 端点条件。 自由端对曲线的两端没有约束条件,我们称为自由端。这时让新补之点和原端点 重合,即P0=P1Pn+1=Pn 4.抛物样条曲线的性质不管用什么方法由离散点生成曲线,总希望所得到的曲线是连续光滑的。用来评价曲线连续光滑程度的指标是曲线在节点处的导数能满足于什么样的条件。假如在节点处两曲线的一阶导数相等,则我们称曲线为一阶连续(C连续);而如果两曲线的二阶导数相等,则我们称曲线为二阶连续(C连续)。以此类推。 下面我们来看抛物
37、样条曲线的情况:设它们的相邻两段为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=0Pi+1(t)节点处t=0.5分别对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
38、 (当t=0.5时) 同样可求得:Pi+2(t)=Pi+3-Pi+1(当t=0时)可见抛物样条曲线达成一阶连续。5.程序marking( ) 标记型值点。parspl( ) 绘制曲线。main( ) 完成初始设置,读入数据文件。曲 线 曲 面(B样条曲线和曲面)在我们工程中应用的拟合曲线,一般地说可以分为两种类型:一种是最终生成的曲线通过所有的给定型值点,比如抛物样条曲线和三次参数样条曲线等;另一种曲线是,它的最终结果并不一定通过给定的型值点,而只是比较好地接近这些点,这类曲线(或曲面)比较适合于外形设计。因为在外形设计中(比如汽车、船舶),初始给出的数据点往往并不精确;并且有的地方在外观上考
39、虑是主要的,因为不是功能的要求,所以为了美观而宁可放弃个别数据点。因此不须最终生成的曲线都通过这些数据点。另一方面,考虑到在进行外形设计时应易于实时局部修改,反映直观,以便于设计者交互操作。第一类曲线在这方面就不能适应。法国的 Bezier 为此提出了一种新的参数曲线表示方法,因此称为Bezier曲线。后来又经过 Gordon、Forrest和 Riesenfeld等人的拓广、发展, 提出了样条曲线。 这两种曲线都因能较好地适用于 外形设计的特殊要求而获得了广泛的 应用。一、Bezier曲线Bezier曲线的形状是通过一组多边折线(特征多边形)的各顶点唯一地定义出来的。在这组顶点中:(1) 只
40、有第一个顶点和最后一个顶点在曲线上;(2) 其余的顶点则用于定义曲线的导数、阶次和形状;(3) 第一条边和最后一条边则表示了曲线在两端点处的切线方向。Bezier曲线的数学表达式 Bezier曲线是由多项式混合函数推导出来的,通常 n+1 个顶点定义一个 n次多项式。其数学表达式为: (0=t=1)式中:i:为各顶点的位置向量i,n(t):为伯恩斯坦基函数伯恩斯坦基函数的表达式为:假如规定:,!,则t=0:i=0 ,Bi,n(t)=1 i0 ,Bi,n(t)=0P(0)=P0t=1:i=n ,Bi,n(t)=1 in ,Bi,n(t)=0P(1)=Pn 所以说,“只有第一个顶点和最后一个 顶点
41、在曲线上”。即Bezier曲线只通过多边折线的起点和终点。1. 一次Bezier曲线(n=1) 一次多项式,有两个控制点,其矩阵表示为: 显然,它是一条以P0为起点、以P1为终点的直线段。2二次Bezier曲线(n=2)二次多项式,有三个控制点,其矩阵表示为:显然,它是一条以P0为起点、以P2为终点的抛物线。3三次Bezier曲线(n=3)三次多项式,有四个控制点,其矩阵表示为:可知,三次Bezier曲线是一条以P0为起点、以P3为终点的自由曲线。习题1:请利用下面给出的控制点的坐标,做三次Brezier曲线:p0=(1,0,0);p1=(5,5,0);p2=(15,7,0);p3=(10,2
42、,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) p3tBi解: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,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
43、) 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)01234524681012(1,0,0)(4.01,2.62,0)(6.42,3.88,0)(9.86,4.60,0)(11.31,4.18,0)
44、(10.00,2.00,0)三次Brezier曲线描图二、B样条曲线.从 Bezier 曲线到样条曲线(1) Bezier 曲线在应用中的不足: 缺乏灵活性一旦确定了特征多边形的顶点数(m个),也就决定了曲线的阶次(m-1次),无法更改; 控制性差当顶点数较多时,曲线的阶次将较高,此时,特征多边形对曲线形状的控制将明显减弱; 不易修改由曲线的混合函数可看出,其值在开区间 ( 0 , 1 ) 内均不为零。因此,所定义之曲线在 ( 0 t 1)的区间内的任何一点均要受到全部顶点的影响,这使得对曲线进行局部修改成为不可能。(而在外形设计中,局部修改是随时要进行的)为了克服 Bezier 曲线存在的问
45、题,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 ( t ) 为 n 次B样条基函数,也称样条分段混合函数。其表达式为:式中: 0 =t = 1 k
46、= 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)处理。 *三种不同模型的简单比较 线框模型表面模型实体模型结构简单、处理可形成彩色图像、可用于物性计容易、存储量小,面积体积计算算、工程分析,图形有二义性。数控加工,不能布尔运算造型。形成实体。存储量比:市场占有比: 另一方面
51、,产生高质量的图形要求计算机系统具有很强的计算能力。作为粗略的估算,若假设显示二维静态图形所需要的计算量为;则显示二维动态图形为 10;三维动态线框图形为 40;三维动态实体图形为20,000;高度三维真实感图形为200,000。二、形体表示方法 形体表示方法是指形体在计算机内 部,或最终对用户而言所用的具体表 示方式。最常用的有两种: (1)实体构造法(CSG) (2)边界描述法(BRep) 1.实体构造法实体构造(Constructive Solid Geometry,简称 CSG)法是在几何造 型中得到广泛应用的一种形体表示方 法。CSG 法的基本思想是:任何复杂 的形体都可以通过简单形
52、体(体素) 的组合来表示。用CSG法时,形体的构造过程就是集合 运算的过程,并在过程中配合执行相 关的几何变换,这个过程可用一棵CSG 树来表示。CSG树是一棵二叉树,树的 根结点是最终生成的形体;树的叶子 结点是体素,或是几何变换的参数; 其他结点则是正则集合运算或几何变 换;每棵子树表示了其下两个结点组 合及变换的结果。 CSG树可定义为: := | | CSG树是无二义性的,但不是唯一的。 CSG法的突出优点是方便。数据模型构造实体几何表示将物体表示成一棵二叉树,称为CSG树叶节点-基本体素,如立方体、圆柱体、圆环、锥体、球体等中间节点-并、交、差正则集合运算U*U* 2.边界描述法 边
53、界描述法( BRep : Boundary Representation)也是在几何造型中 得到广泛应用的一种形体表示方法, 它的基本思想是通过对形体边界的描 述来定义一个形体,即是用面、环、 边和点来定义形体的位置和形状。为了描述一个形体的边界,BRep法必 须详细记录构成形体的所有几何信息 和拓扑信息,以便直接存取构成形体 的各个面、面的边界边以及各个顶点 的定义参数,使利于以面、边、点为 基础的各种几何运算和操作。 BRep法的突出优点是好用。数据模型分解表示(1/8)空间位置枚举表示选择一个立方体空间,将其均匀划分用三维数组CIJK表示物体,数组中的元素与单位小立方体一一对应数据模型分
54、解表示(2/8)优点可以表示任何物体容易实现物体间的集合运算容易计算物体的整体性质,如体积等缺点是物体的非精确表示占用大量的存储空间,如1024*1024*1024 = 1G bits没有边界信息,不适于图形显示对物体进行几何变换困难,如非90度的旋转变换数据模型分解表示(3/8)八叉树(octrees)表示自适应分割数据模型分解表示(4/8)(a)(b)zyx55554777FPEEEEEEEEEFEFFEP1023456012345677八叉树建立过程八叉树的根节点对应整个物体空间如果它完全被物体占据,将该节点标记为F(Full),算法结束;如果它内部没有物体,将该节点标记为E(Empty
55、),算法结束;如果它被物体部分占据,将该节点标记为P(Partial),并将它分割成8个子立方体,对每一个子立方体进行同样的处理数据模型分解表示(5/8)优点可以表示任何物体,数据结构简单容易实现物体间的集合运算容易计算物体的整体性质,如体积等较空间位置枚举表示占用的存贮空间少缺点是物体的非精确表示没有边界信息,不适于图形显示对物体进行几何变换困难数据模型分解表示(6/8)单元分解(cell decomposition)表示多种体素(a) 棱锥体素(b) 长方体体素(c) 图(a)和(b)两种体素的并集数据模型分解表示(7/8)三种空间分割方法的比较空间位置枚举表示-同样大小立方体八叉树表示-
56、不同大小的立方体单元分解表示-多种体素数据模型分解表示(8/8)优点表示简单容易实现几何变换基本体素可以按需选择,表示范围较广可以精确表示物体缺点物体的表示不唯一物体的有效性难以保证三、实体造型这里说的实体造型,是指如何来构造 实体模型,常用的方法有三种:预定义了几种基本实体模型(体素)通过拉伸或旋转2D对象生成实体模型通过布尔运算将简单的实体模型组合 成复杂的实体模型。生成基本实体模型三维软件一般会预定义几种基本实体模型,可供用户直接调用生成。它们是:立方体(Box) 球体(Sphere)圆柱体(Cylinder)圆锥体(Cone)楔形体(Wedge)圆环体(Torus)2由二维对象生成实体
57、模型 将二维对象拉伸成实体模型在三维软件中,可以将一些二维对象经过旋转,放样等方法而生成实体模 型。这些二维对象包括圆、椭圆、多 边形、封闭的多义线、封闭的样条曲 线和圆环等。旋转命令Revolve的执行方法:下拉菜单Surface|Revolve扫描法 扫描法的基本思想非常简单: “运动的物体”加上“轨迹”。常用的扫描方式有:平移式、旋转式和广义式。平移扫描法:沿垂直于二维集合进行扫描;旋转扫描法:绕某一轴线旋转某一角度;广义扫描法:二维几何集合沿一条空间曲线的集合扫描; 平移扫描法旋转扫描法广义扫描法3用布尔运算生成实体模型对于已经存在的实体模型,可以通过布尔运算将它们组合,结果能生成较为
58、复杂的实体模型。在MAYA中有三种基本的布尔操作:并运算(Union)差运算(Subtraction)交运算(Intersection)()并运算并运算可以将两个独立的实体合并组合成一个实体。UNION命令用于完成并运算的操作。UNION命令的执行方法有:下拉菜单Polygons|Booleans|Union()差运算差运算是从一个实体中减去属于另一个实体的部分,而生成新的实体。SUBTRACT命令用于完成差运算的操作。命令的执行方法有:下拉菜单Polygons|Booleans|Difference()交运算交运算用于取两个独立实体的共同部分组成一个新实体。INTERSECT命令用于完成交运
59、算的操作。命令的执行方法有:下拉菜单Polygons|Booleans|Intersect消隐消隐的分类消除隐藏线消除隐藏面画家算法Z缓冲区(Z-Buffer)算法扫描线Z-buffer算法区域子分割算法 光线投射算法基本概念投影变换失去了深度信息,往往导致图形的二义性 要消除二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称作消除隐藏线和隐藏面,简称为消隐。经过消隐得到的投影图称为物体的真实图形。长方体线框投影图的二义性 消隐的对象是三维物体。三维体的表示主要有边界表示和CSG表示等。消隐结果与观察物体有关,也与视点有关。 线框图 消隐图 真实感图形2.7.1消隐的分类按消隐对象分类线消隐消隐对象是物体上的边,消除的是物体上不可见的边。 面消隐 消隐对象是物体上的面,消除的是物体上不可见的面。 Southerland按消隐空间分类物体空间的消隐算法 (光线投射、Roberts)将场景中每一个面与其他每个面比较,求出所有点、边、面遮挡关系。图像空间的消隐算法 (Zbuffer、扫描线、Warno
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 打赌戒烟协议书
- 印刷商品合同范例
- 压力容器订购合同范本
- 双方合伙合作合同范本
- 发包茶园合同范例
- 面瘫患者护理范本
- 环保排污年检合同范本
- 展位销售英文合同范本
- 作品授权使用合同范本
- 签约保证合同范本
- 2024年世界职业院校技能大赛高职组“声乐、器乐表演组”赛项参考试题库(含答案)
- 2024年共青团入团考试题库及答案
- 2024解析:第十二章机械效率-讲核心(原卷版)
- 2023年国家公务员录用考试《申论》真题(副省卷)及答案解析
- 2023年海南省公务员录用考试《行测》真题卷及答案解析
- 2024-2030年中国语言培训行业竞争分析及发展策略建议报告版
- 2024-2030年中国医疗器械维修设备行业供需状况及发展策略分析报告
- 中国心力衰竭诊断和治疗指南2024解读(完整版)
- 女性健康知识讲座课件
- DB11T 1787-2020 二氧化碳排放核算和报告要求 其他行业
- 企业网络安全管理规范作业指导书
评论
0/150
提交评论