资源预览内容
第1页 / 共68页
第2页 / 共68页
第3页 / 共68页
第4页 / 共68页
第5页 / 共68页
第6页 / 共68页
第7页 / 共68页
第8页 / 共68页
第9页 / 共68页
第10页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章第四章 计算机图形处理技术计算机图形处理技术 一、图形变换一、图形变换 二、计算机辅助绘图二、计算机辅助绘图 三、曲线和曲面三、曲线和曲面第一节第一节 图形变换图形变换3.1.1 3.1.1 窗口窗口视区变换视区变换1.窗口窗口 矩形观察框,用以显示感兴趣的图形内容。窗口一般用矩形对角坐标表示。涉及图形剪裁技术。窗口也可定义为圆形、多边形等异型窗口。窗口可以嵌套。窗口 2.视区视区 在图形设备上定义的矩形区域。 视区同样用矩形对角坐标表示。视区应小于等于屏幕区域,可在同一屏幕上定义多个视区。3.窗口与视区的变换窗口与视区的变换 若将窗口内容在相应视区上显示,必须进行坐标变换。其变换归结为坐标点的变换。窗口与视区的变换窗口与视区的变换窗口与视区坐标点的变换窗口与视区坐标点的变换:可见:可见: 若视区大小不变,窗口缩小或放大,会使图形放大或缩小。若视区大小不变,窗口缩小或放大,会使图形放大或缩小。 若窗口大小不变,视区缩小或放大,则图形会跟随缩小或放大。若窗口大小不变,视区缩小或放大,则图形会跟随缩小或放大。 若窗口与视区大小相同时,则图形大小比例不变。若窗口与视区大小相同时,则图形大小比例不变。 若视区与窗口纵横比不同时,则图形会产生伸缩变形。若视区与窗口纵横比不同时,则图形会产生伸缩变形。 1.1.工程图形的齐次坐标矩阵表示工程图形的齐次坐标矩阵表示齐次坐标:齐次坐标:将一个n维向量用n+1维向量表示。例:平面三角形A齐次坐标矩阵表示 123oxy3.1.2 3.1.2 二维图形的几何变换二维图形的几何变换若图形A经过某种变换后得到图形B,则有:B=ATT称为变换矩阵称为变换矩阵,二维:T为3x3矩阵,三维:T为4x4矩阵。A(1)比例变换)比例变换变换矩阵为:变换矩阵为:坐标点坐标点(x,y,1)变换运算变换运算:若若a=d=1,为恒等变换,变换后的图形不变;为恒等变换,变换后的图形不变;若若a=d1,1时为等比例放大,时为等比例放大,0c0沿沿+ +x x方向错切;方向错切; c0c0b0沿沿+ +y y方向错切;方向错切; b0b1等比例缩小;等比例缩小;0s1等比例放大。等比例放大。 3.复合变换复合变换 由多种基本变换的组合而实现的变换由多种基本变换的组合而实现的变换。 复合变换矩阵复合变换矩阵:等于各基本变换矩阵的有序乘积。 例:三角形abc绕任意点A旋转角,步骤:旋转中心平移到坐标原点T平;绕原点旋转T转;旋转中心平移到原来位置T平。复合变换矩阵复合变换矩阵T为为:坐标点变换坐标点变换:XY1=XY1T坐标点变换坐标点变换:XY1=XY1T绕任意点绕任意点A旋转旋转角的点坐标计算角的点坐标计算#include#include#include#definePI3.1415926main()floatdegree=90,x3=40,90,40,y3=40,40,60;floatx13,y13;inti,m,n,xa=20,ya=30;m=DETECT;initgraph(&m,&n,c:);degree=degree*PI/180;for(i=0;i3;i+)x1i=xi*cos(degree)-yi*sin(degree)-xa*cos(degree)+ya*sin(degree)+xa;y1i=xi*sin(degree)+yi*cos(degree)-xa*sin(degree)-ya*cos(degree)+ya;line(x10,y10,x11,y11);line(x10,y10,x12,y12);line(x11,y11,x12,y12);closegraph();三角形绕任意点三角形绕任意点A旋转旋转C语言程序:语言程序:已知条件已知条件A点坐标(20,30)旋转角90度三角形(40,40)(90,40)(40,60)三维图形变换矩阵三维图形变换矩阵T:4444矩阵矩阵左上角子矩阵左上角子矩阵:图形的比例、对称、 错切和旋转变换;左下角子矩阵:左下角子矩阵:平移变换;右上角子矩阵:右上角子矩阵:透视变换;右下角子矩阵:右下角子矩阵:比例变换。3.1.3 3.1.3 三维图形的几何变换三维图形的几何变换1、比例变换、比例变换变换矩阵为:变换矩阵为:其中,其中,a,e,j分别为分别为x,y,z方向的比例因子。方向的比例因子。 相对于相对于xoy平面、平面、yoz平面和平面和xoz平面三个坐标平面的平面三个坐标平面的对称变换矩阵分别为:对称变换矩阵分别为: 2、对称变换、对称变换3、错切变换错切变换变换矩阵为:变换矩阵为:d、h:沿沿x方向的错切系数;方向的错切系数;b、i:沿沿y方向的错切系数;方向的错切系数;c、f:沿沿z方向的错切系数。方向的错切系数。 4、平移变换平移变换 变换矩阵为:变换矩阵为:l,m,n: 为为x,y,z三个坐标方向的平移量。三个坐标方向的平移量。 5、旋转变换旋转变换 (1)绕)绕x轴旋转轴旋转a角的变换矩阵:(平行于角的变换矩阵:(平行于yoz平面)平面) (2)绕)绕y轴旋转轴旋转a角的变换矩阵:(平行于角的变换矩阵:(平行于xoz平面)平面) (3)绕)绕z轴旋转轴旋转a角的变换矩阵:(平行于角的变换矩阵:(平行于xoy平面)平面) 3.1.4 3.1.4 三维头型的投影变换和透视变换三维头型的投影变换和透视变换投影变换(三视图)投影变换(三视图)主主视视图图:变换矩阵中坐标y0,其它坐标不变: 俯视图俯视图 令z0,绕x顺时针旋转90,再在负z方向平移,其变换矩阵为:左视图:左视图:令x0,绕z轴逆时针转90,再沿负x方向平移,变换矩阵为:a)一点透视一点透视 b)二点透视二点透视 c)三点透视三点透视透视变换:透视变换: 是通过视点将三维物体投影到投影面的变换。是通过视点将三维物体投影到投影面的变换。第二节 计算机辅助绘图1 1、交互式绘图交互式绘图2 2、程序参数化绘图、程序参数化绘图3、尺寸驱动式参数化绘图、尺寸驱动式参数化绘图4、参数化图库使用与建立、参数化图库使用与建立5、工程图自动生成、工程图自动生成3.2.1 3.2.1 交互式绘图交互式绘图交互式绘图交互式绘图:在交互式绘图系统的支持下,使用键盘、鼠标等输入设备通过人机对话进行工程绘图。特点:特点:绘图过程直观、灵活,效率不高。常用绘图软件系统常用绘图软件系统:AutoCAD、高华CAD、 开目CAD、PICAD等,其中以AutoACD最为普及。例:使用例:使用AutoCAD绘制固定钳身零件图步骤:绘制固定钳身零件图步骤:1)设设置置图图幅幅选择GB_A3为样板建立clamp图形文件,用LIMITS命令设置绘图范围(594420)。2)设设置置图图层层建立CENTER、HIDDEN、DIM、HATCH四个图层,并设置各图层颜色和线型。3)设设置置绘绘图图辅辅助助状状态态设置捕捉方式END、INT、CEN,用F8设置正交绘图。视图布置与俯视图的绘制视图布置与俯视图的绘制4)设设置置当当前前层层置CENTER为当前层,并在当前层画各视图中心线。5)执执行行UCS命命令令设定俯视图上中心线的交点为当前用户坐标系的原点,绘制俯视图轮廓线。6)作视图间对齐辅助线,确定主视图及左视图的轮廓。作视图间对齐辅助线,确定主视图及左视图的轮廓。通过对各视图的倒角、圆角、剖面线绘制,标注尺寸,最终得到完整的工程图。3.2.2 3.2.2 程序参数化绘图程序参数化绘图原原理理:用一组变量记录图形的几何参数和结构参数,用程序表示图形的拓扑关系和结构信息,最终将图形信息记录在程序中。步骤:步骤:确定参数变量,包括形状参数、位置参数和方位(旋转)参数;通过参数变量计算各图形实体的坐标参数;调用图形函数,编制绘图程序。如:一简单板金件绘制AutoLisp程序,其参数包括(x1,y1,a,b,c,d):(defunc:draw()(setqp0(getpointnbasepoint:)(setqa(getdistp0ndimensiona:)(setqb(getrealndimensionb:)(setqc(getrealndimensionc:)(setqd(getrealndimensiond:)(setqx1(carp0)(setqy1(cadrp0)(setqx2(+x1a)(setqy2y1)(setqx3x2)(setqy3(+y2d)(setqx4(-x3b)(setqy4y3)(setqx5x4)(setqy5(+y1c)(setqx6x1)(setqy6y5)(setqp1(listx1y1)(setqp2(listx2y2)(setqp3(listx3y3)(setqp4(listx4y4)(setqp5(listx5y5)(setqp6(listx6y6)(commandlinep1p2p3p4p5p6c))存储:存储:赋予上述程序文件名“Exam.lsp”进行存储。装载装载:在AutoCAD环境下用命令(load “Exam”)装入该文件;调用:调用:如同AutoCAD命令,输入函数名draw即可自动绘制所需图形。图形元素拼装:图形元素拼装:用AutoLisp编制一个个图形元素程序(如图4.19),通过编程拼装复杂零件图,如轴类零件。特点:特点:绘图效率高;可与分析程序结合,实现规则产品自动化设计。AutoLisp文件装载和调用文件装载和调用尺寸驱动参数化绘图是目前计算机绘图普遍采用的一种绘图技术。绘制步骤:绘制步骤:草图绘制图形规整添加约束生成准确图形。原理:原理:通过几何约束和尺寸约束,按所给尺寸参数驱动图形绘制。几何约束:几何约束:平行、垂直、相切、相等、对齐、对称等拓扑关系。尺寸约束:尺寸约束:各图元长度、角度、半径及相对位置等。全约束:全约束:若施加的约束正好可以唯一确定图形的结构和大小。欠约束:欠约束:若施加的约束小于所需约束。过约束:过约束:若施加的约束大于所需约束。欠约束和过约束,可通过增加或删除适当尺寸标注加以解决。3.2.3 3.2.3 尺寸驱动式参数化绘图尺寸驱动式参数化绘图草图草图规整规整尺寸驱动参数化绘图实例一尺寸驱动参数化绘图实例一尺寸驱动参数化绘图实例二尺寸驱动参数化绘图实例二3.2.4 3.2.4 参数化图库的使用与建立参数化图库的使用与建立参数化图库应用:参数化图库应用:用于螺栓、螺母、轴承等标准件,常见绘图系统均附有常用标准件参数化图库。 参数化图库建立方法:参数化图库建立方法:用AutoCAD形(Shape)、块(Block)功能建立图形符号库;用程序化参数绘图方法,编制参数化绘图程序,组成图形程序库;利用绘图系统提供的参数化图库管理工具建立参数化图库。PCCAD系统标准件参数化图库的调用系统标准件参数化图库的调用 PCCAD参数化图库管理系统3.2.5 3.2.5 工程图的自动生成工程图的自动生成利用三维实体模型,通过投影、剖切功能自动生成二维工程图,通过参数关联,三维实体模型的修改立即关联到对二维工程图的修改,彻底解决了图档更新问题。目前,CADCAM软件均具有该功能等。SolidworksSolidworks环境下建立零件三维模型环境下建立零件三维模型步骤:步骤:1)建立零件三维模型)建立零件三维模型2)设置绘图环境)设置绘图环境3)生成三视图)生成三视图SolidworksSolidworks工程图绘制环境设置工程图绘制环境设置SolidworksSolidworks环境下三视图生成环境下三视图生成 第三节第三节 曲线曲面曲线曲面3.3.13.3.1曲线曲面的数学表示形式曲线曲面的数学表示形式1)显式表示y=f(x)2)隐式表示F(x,y,z)=03)参数表示x=x(u),y=y(u),z=z(u)参数表示法优越性参数表示法优越性:可方便表示三维曲线,有更多自由度控制曲线曲面形状;所表示的曲线曲面与坐标系选择无关;使用切矢来代替斜率,便于处理斜率无穷大的问题;有明确的定义域,使其对应的几何量都是有界的;易于用矢量和矩阵表示几何量,便于计算机计算与编程。曲线的连续性曲线的连续性:连接点处光滑程度,有参数连续、几何连续。n阶参数连续阶参数连续Cn:曲线连接点处相对于参数参数u具有n阶连续导矢。n阶几何连续阶几何连续Gn:曲线连接点处相对于弧长参数弧长参数s具有n阶连续导矢. C0连续连续-表示连接点处位置矢量相同;表示连接点处位置矢量相同; C1连续连续-表示连接点处切矢方向相同,大小相等;表示连接点处切矢方向相同,大小相等; C2连续连续-表示连接点处二阶导矢相同。表示连接点处二阶导矢相同。 G0连续连续含义同含义同C0; G1连续连续表示曲线在连接点切矢方向相同,表示曲线在连接点切矢方向相同, 但大小可能不等;但大小可能不等; G2连续连续表示曲线在连接点处具有相同的曲率。表示曲线在连接点处具有相同的曲率。曲线段间连续性定义:曲线段间连续性定义:1.Bezier曲线的定义曲线的定义其中:Bi,n(u)为伯恩斯坦(Bernstein)基函数:若给定n+1个控制顶点Pi(i=0,1,.,n),可定义一条n次Bezier曲线:3.3.2 3.3.2 BezierBezier曲线曲面曲线曲面0u1显然,一次Bezier曲线是一条连接起点P0和终点P1的直线段。2.几种常见的几种常见的Bezier曲线曲线1)一次一次Bezier曲线曲线 当n=1时:其中:B0,1=C01u0(1-u)1-0=1-uB1,1=C01u1(1-u)1-1=u其矩阵表示为:2)二次二次Bezier曲线曲线 当n=2时:其中: 可见,二次Bezier曲线是一条以P0和P2为端点的抛物线。p0p1p2端点特性:端点特性:P(0)=p0 P(1)=p2P(0)=2(p1-p0)P(1)=2(p2-p1)3)三次三次Bezier曲线曲线 当n=3时:其中:其中: 三次三次Bezier曲线几何曲线几何特性:特性: 端点特性凸包性曲线落在控制顶点所构成的最小凸多边形内。几何不变性与坐标选择无关。全局控制性缺乏局部修改能力。4) Bezier曲线曲线 的拼接的拼接 若给定两条三次Bezier曲线段P(u)和Q(u),使P(u)终点p3和Q(u)的始点q0重合:G0连续条件连续条件:P(1)=Q(0)G1连续条件连续条件:p(1)=q(0)由于:p(1)=3(p3-p2)q(0)=3(q1-q0)则:3(p3-p2)=3(q1-q0)表明:若三次Bezier曲线G1连续,需p2、p3(q0)、q1三点共线。G2连续条件连续条件:要求特征多边形p1p2、p2p3、q0q1、q1q2共面。Bezier曲线的拼接5) Bezier曲面曲面 设有pij(i=0,1,2,.,m;j=0,1,2,.,n)为(m+1)(n+1)个空间点列,则可定义一张mn次Bezier曲面:Bezier曲线不足:曲线不足: 特征多边形顶点数决定曲线的阶次,当阶次较高时,求解困难, 特征多边形对曲线的控制能力将削弱; 局部控制性差,改变任一顶点位置,会对整条曲线产生影响; 分段曲线连接要求高,扩展不易。3.3.3 3.3.3 B B样条曲线曲面样条曲线曲面1、B样条曲线定义样条曲线定义已知n+1个控制顶点pi(i=0,1,2,.,n),k次B样条曲线表达式为:其中,Ni,k(u)为k次B样条基函数,由以下递推关系得到:1)节点矢量)节点矢量节点个数:节点个数:U=u0,u1,.,un+k+1有n+k+2个。均匀均匀B样条曲线样条曲线:ui+1-ui=常数。非均匀非均匀B样条曲线:样条曲线:ui+1-ui常数。例如:n=5,k=3的均匀B样条曲线节点矢量个数:n+k+2=5+3+2=10节点矢量:U=0,1,2,3,4,5,6,7,8,92. B样条曲线的节点矢量和定义域样条曲线的节点矢量和定义域由定义可见,B样条与样条与Bezier样条区别:样条区别:引入了节点矢量U;由n+1个控制顶点可生成n-k+1段k次B样条曲线段。准均匀准均匀B样条:样条:节点矢量中两端节点具有k+1个重复度,即:u0=u1=uk,un+1=un+2=un+k+1例:n=6,k=2准均匀B样条节点矢量:U=0,0,0,1,2,3,4,5,5,5共10个;n=6,k=3准均匀B样条节点矢量:U=0,0,0,0,1,2,3,4,4,4,4共11个;n=3,k=3,U=0,0,0,0,1,1,1,1,转化为三次Bezier样条。2) B样条曲线样条曲线定义域定义域B样条曲线段:样条曲线段:n+1个控制顶点k次B样条曲线由n-k+1曲线段构成。每段曲线段:每段曲线段:每曲线段由k+1个顶点所控制,对于uui,ui+1上 的曲线段,由Pi-k,Pi-k+1,Pi共k+1个控制点控制。整个整个B样条曲线定义域:样条曲线定义域: uuk,un+1。例:n=8,k=3时,节点矢量:U=u0,u1,.,un+k+1有n+k+213个曲线段数:n-k+1=6段三次B样条曲线定义域:uuk,un+1u3,u9uu6,u7上曲线段受P3,P4,P5,P6四个控制点控制。3、均匀、均匀B样条曲线段样条曲线段1)一次一次B样条样条曲线段曲线段 =(1-u)P0+uP1一次B样条曲线段是一条连接起点和终点的直线段。p0p12)二次二次B样条样条曲线曲线 =(u2-2u+1)P0+(-2u2+2u+1)P1+u2P2 二次B样条曲线是一条通过特征多边形中点,并与特征多边形相切的抛物线。p0p1p2P(0)=(p0+p1), P(1)=(p1+p2) 端点特征:端点切矢量:P(0)=P1-P0,P(1)=P2-P13)三次三次B样条样条曲线曲线 =(-u33u2-3u+1)P0+(3u3-6u2+4)P1+(-3u33u2+3u+1)P2+u3P3端点位置矢量端点位置矢量= (P0+4P1+P2)+(-3P0+3P2)u+(3P0-6P1+3P2)u2+(-P0+3P1-3P2+P3)u3端点切矢量端点切矢量P(0)=(P2P0)P(1)=(P3P1)曲线段起点与终点切矢量分别平行于P0P2,P1P3边,其模长为该边长的一半。端点的二阶导矢端点的二阶导矢P(0)=P02P1+P2(P0P1)(P2P1)P(1)=P12P2+P3(P1P2)(P3P2) 曲线二阶导矢为相邻直线边所形成的平行四边形对角线。 = (P0+4P1+P2)+(-3P0+3P2)u+(3P0-6P1+3P2)u2+(-P0+3P1-3P2+P3)u34. B样条曲线的几何性质样条曲线的几何性质 局部性局部性 改变一个顶点坐标,仅对k+1个曲线段产生影响; 连续性连续性 k次B样条曲线具有k-1阶连续; 几何不变性几何不变性 曲线与坐标系选择无关; 凸包性凸包性 比Bezier曲线更贴近特征多边形; 造型的灵活性造型的灵活性p0p1p2p3四点共线四点共线形成直线段形成直线段P0P1P2P3两顶点重合两顶点重合与边相切与边相切P0P1P2P3P0P4P1P2P3三顶点重合三顶点重合形成尖点形成尖点4. B样条曲线反算样条曲线反算正算:由控制顶点构造B样条曲线。反算:通过给定曲线上一些型值点构造B样条曲线。方法:由给定的曲线上型值点反算曲线的控制顶点,再由控制顶点来构造B样条曲线。例:已知型值点Qi(i=1,2,.,n),求经过型值点Qi的均匀三次B样条曲线。根据三次B样条型值点和控制顶点间的关系:(Pj-1+4Pj+Pj+1)/6=Qj(j=1,2,.,n)使P1=Q1、Pn=Qn,构造方程组:采用追赶法便可求出控制顶点Pj(j=1,2,.,n)5. B样条曲面样条曲面 给定(m+1)(n+1)个控制点pij(i=0,1,.,m;j=0,1,.,n),则可定义kl次B样条曲面: 其中,Ni,k(u)和Nj,l(v)分别为k次和l次B样条基函数.例如:k=l=3双三次B样条曲面片:Uk=u3u2u1=v3v2v1T=1、NURBS曲线的定义:曲线的定义: n+1个控制顶点pi(i=0,1,n)可构成一条分段的k次NURBS曲线: 其中:wi称为权因子,反映各控制顶点对曲线的影响程度; 称为NURBS曲线有理基函数:3.3.4 3.3.4 NURBSNURBS曲线曲面曲线曲面(非均匀有理(非均匀有理B B样条)样条)图中:图中: i曲线通过Pi点;i0曲线通过B点; i1曲线通过N点;d为曲线变化动点.由此可见:由此可见:1)随i增/减,曲线被拉向/拉开Pi点;2)随i增/减,在i影响范围内,被拉开/拉向其余控制顶点,i影响区域为ui,ui+k+1权因子权因子i 对对NURBS曲线形状的影响曲线形状的影响
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号