图形处理技术基础优秀PPT.ppt

上传人:1398****507 文档编号:78636059 上传时间:2023-03-18 格式:PPT 页数:54 大小:907.50KB
返回 下载 相关 举报
图形处理技术基础优秀PPT.ppt_第1页
第1页 / 共54页
图形处理技术基础优秀PPT.ppt_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《图形处理技术基础优秀PPT.ppt》由会员分享,可在线阅读,更多相关《图形处理技术基础优秀PPT.ppt(54页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第四章 图形处理技术基础n学习目标:学习目标:n 图形处理是图形处理是CAD/CAM中的关键技术,要求学习中的关键技术,要求学习者全面驾驭图形处理技术的基础学问,包括图元生成、者全面驾驭图形处理技术的基础学问,包括图元生成、编辑、图形变换、裁剪、消隐、光照等;学会运用典型编辑、图形变换、裁剪、消隐、光照等;学会运用典型的矢量绘图软件。的矢量绘图软件。n学习重点:图形的几何变换。学习重点:图形的几何变换。n学习难点:裁剪算法、消隐算法、光照处理算法。学习难点:裁剪算法、消隐算法、光照处理算法。n学习建议学习建议:n在学习过程中,结合一个商品化绘图软件,如:在学习过程中,结合一个商品化绘图软件,如

2、:Pro/E、AutoCAD、UG、solidwork的运用,加深对本学问点的的运用,加深对本学问点的理解;理解;n利用利用OpenGL图形库编程能快速应用图形处理技术图形库编程能快速应用图形处理技术图形处理技术基础n图元生成(图元生成()n几何变换(几何变换()n投影变换(投影变换()n视窗变换(视窗变换()n裁剪技术(裁剪技术()n消隐技术消隐技术n光照技术光照技术阴极射线管(CRT)l阴极射线管(CRT)l组成:包括电子枪、聚焦系统、加速电极、偏转系统、荧光屏l工作原理:电子枪放射电子束,经过聚焦系统、加速电极、偏l转系统,轰击到荧光屏的不同部位,发光产生可见l 的图形。l结构彩色阴极射

3、线管n点状影孔板工作原理点状影孔板工作原理n红、绿、兰三基色红、绿、兰三基色n三色荧光点(很小并充分靠近三色荧光点(很小并充分靠近-像素)像素)n三支电子枪三支电子枪电子枪、影孔板中的一个电子枪、影孔板中的一个小孔和荧光点呈始终线;小孔和荧光点呈始终线;每个小孔与一个像素(即每个小孔与一个像素(即三个荧光点)对应三个荧光点)对应单色光栅扫描图形显示器工作原理接受帧存储器映射到屏幕,逐点对应。寄存器DAC电子枪帧存屏幕单个存储位面的单色光栅扫描图形显示器的工作原理亮/暗彩色光栅扫描图形显示器工作原理DAC电子枪帧存屏幕三存储位面的彩色光栅扫描图形显示器的工作原理三存储位面的彩色光栅扫描图形显示器

4、的工作原理DACDAC0 1 0彩色显示彩色显示8种颜色种颜色3位DAC8级灰度帧缓冲存储器(显存)作用:作用:存储屏幕上像素的颜色值存储屏幕上像素的颜色值n帧缓存中单元数目与显示器上像素的数目相同,单元与像素一一对应,帧缓存中单元数目与显示器上像素的数目相同,单元与像素一一对应,n 各单元的数值确定了其对应像素的颜色。各单元的数值确定了其对应像素的颜色。n显示颜色的种类数量与帧缓存中每个单元的位数有关(图示帧缓冲器的每个显示颜色的种类数量与帧缓存中每个单元的位数有关(图示帧缓冲器的每个n 单元只有一位)。单元只有一位)。n若每个单元有若每个单元有24位(每种基色占位(每种基色占8位)即显示系

5、统可同时产生位)即显示系统可同时产生224种颜色种颜色(24位真彩色)。位真彩色)。n辨别率辨别率M*N、颜色个数、颜色个数K与显存大小与显存大小V的关系的关系光栅扫描绘图过程绘图过程2921 22 23 24 25 262028271018171615131412111930图元生成n点点v用图形的颜色对象素进行写操作(调用设备驱动程序)用图形的颜色对象素进行写操作(调用设备驱动程序)n直线直线vDDADDA算法算法v中点画线法中点画线法vBresenhamBresenham算法算法n圆弧圆弧n填充填充一一维维图图元元二维图元二维图元图形变换n二维基本变换二维基本变换n二维组合变换二维组合变

6、换n三维基本变换三维基本变换n三维组合变换三维组合变换n三视图的生成三视图的生成二维基本变换比例、对称比例、对称错切和旋转错切和旋转平移平移透视变换透视变换全比例全比例T=T=二维图形的基本变换包括以下几种:平移变换、比例变换、二维图形的基本变换包括以下几种:平移变换、比例变换、对称变换、旋转变换、错切变换对称变换、旋转变换、错切变换、透视变换透视变换统一的齐次变换矩阵形式:统一的齐次变换矩阵形式:点点(x x,y y),用用齐齐次次坐坐标标表表示示为为(x x,y y,1 1),点点在在二二维维空空间里的变换可写为:间里的变换可写为:xxy y1=x y 1T1=x y 1T3333阶变换矩

7、阵阶变换矩阵平移变换比例变换讨论:讨论:(1)SxSy1 时时图形不变图形不变(2)SxSy 1 时时图形沿两轴方向等比例放大图形沿两轴方向等比例放大(3)SxSy 1 时时图形沿两轴方向等比例缩小图形沿两轴方向等比例缩小(4)Sx Sy 时时图形沿两轴方向作非均匀比例变换图形沿两轴方向作非均匀比例变换BACBACXYBCABACYX对称变换:(1)bd0,a-1,e 1 时时x*-x,y*y,以以y 轴对称轴对称(2)bd0,a1,e-1 时时x*x,y*-y,以以x 轴对称轴对称(3)bd0,a e-1 时时x*-x,y*-y,以原点对称以原点对称(4)bd1,ae 0 时时x*y,y*x

8、,以以y=x 直线对称直线对称(5)bd-1,a e 0 时时x*-y,y*-x,以以y=-x 直线对称直线对称 旋转变换逆时针:逆时针:顺时针:顺时针:错切变换探讨:探讨:(1)d0 时时x*x+by,y*y,沿沿x 轴方向错切轴方向错切(2)b0时时x*x,y*dx+y,沿沿y 轴方向错切轴方向错切b 0,沿沿+x 轴方向错切位移轴方向错切位移b 0,沿沿-x 轴方向错切位移轴方向错切位移(3)b 0,d 0 时时同时沿两同时沿两 轴方向错切轴方向错切二维组合变换问题的提出问题的提出 对图形的基本变换只能相对坐标原点或者坐标轴进行。对图形的基本变换只能相对坐标原点或者坐标轴进行。而实际图形

9、变换中常常是相对于随意点或线变换。那么而实际图形变换中常常是相对于随意点或线变换。那么如何才能实现图形在二维平面内的随意变换呢?如何才能实现图形在二维平面内的随意变换呢?解决问题的方法解决问题的方法 先将随意点移向坐标原点、随意线移向与先将随意点移向坐标原点、随意线移向与X X轴或轴或Y Y轴重轴重合的位置;合的位置;再利用基本变换矩阵进行变换;再利用基本变换矩阵进行变换;最终反向移回随意点(或随意线)。最终反向移回随意点(或随意线)。组合变换组合变换 多个基本变换矩阵之积多个基本变换矩阵之积 组合变换通常有三种状况:组合变换通常有三种状况:(1 1)图形相对于任一点作旋转变换)图形相对于任一

10、点作旋转变换 (2 2)图形相对于任一点作比例变换)图形相对于任一点作比例变换 (3 3)图形相对于任一条线)图形相对于任一条线y=ax+by=ax+b对称的变换对称的变换 (1)图形相对于任一点作旋转变换)图形相对于任一点作旋转变换 用三种变换组合而成:用三种变换组合而成:将旋转中心移到原点(平移);将旋转中心移到原点(平移);按要求的角度方向旋转(旋转);按要求的角度方向旋转(旋转);将旋转后的图形平移到原来的旋转中心(平移)。将旋转后的图形平移到原来的旋转中心(平移)。设相对于(设相对于(e,f)点作旋转变换,则组合变换矩阵)点作旋转变换,则组合变换矩阵T为:为:图图2-8 以点(以点(

11、5,3)为中心旋转)为中心旋转60 例例 如如图图2-8所所示示三三角角形形abc,求求其其以以点点(5,3)为为中中心心旋转旋转60的复合变换矩阵。的复合变换矩阵。(2)图形相对于任一点作比例变换)图形相对于任一点作比例变换 1)将比例中心移到原点(平移);)将比例中心移到原点(平移);2)按要求进行缩放(比例);)按要求进行缩放(比例);3)将缩放后的图形平移回原来的比例中心(平移)。)将缩放后的图形平移回原来的比例中心(平移)。设相对于(设相对于(e,f)点作比例变换,则组合变换矩阵:)点作比例变换,则组合变换矩阵:(3)图图形形相相对对于于任任一一条条线线y=ax+b对对称称的的变变换

12、换 用用5种种变变换换组合而成:组合而成:1)将直线沿)将直线沿y轴平移轴平移b,使其通过坐标原点,使其通过坐标原点,直线方程变为直线方程变为y=ax,见图,见图2-10。变换矩阵为:。变换矩阵为:2)将将直直线线y=axy=ax旋旋转转(或或11)角角,使使其其与与Y Y(或或X X)轴轴重重合合,变变为为x x(或或y y)=0=0。(=901,1=1=arctga)变换矩阵为:变换矩阵为:(或)(或)3)作对)作对Y(或(或X)轴对称变换。变换矩阵为:)轴对称变换。变换矩阵为:(或)(或)4)反向旋转,复原直线)反向旋转,复原直线y=ax。变换矩阵为:。变换矩阵为:(或)(或)5)反向平

13、移,复原直线)反向平移,复原直线y=ax+b,使对称轴回到原来位置。,使对称轴回到原来位置。变换矩阵为:变换矩阵为:6)计算组合变换矩阵)计算组合变换矩阵而而注意:注意:先计算先计算 ,然后再按公式计算,然后再按公式计算 矩阵乘法通常不符合交换律矩阵乘法通常不符合交换律,复合变换矩阵的求解依次不复合变换矩阵的求解依次不能随意变动。能随意变动。Rotate2D(45);Translate2D(1,0);House();Translate2D(1,0);Rotate2D(45);House();例例 求对直线求对直线xy+2=0(见图(见图2-11)对称的组合变换矩阵。)对称的组合变换矩阵。求解步

14、骤:求解步骤:(a)将直线右移)将直线右移+2与原点相交;与原点相交;(b)接着旋转)接着旋转45与与Y轴重合;轴重合;(c)对)对Y轴作对称变换;轴作对称变换;(d)反向旋转)反向旋转45;(e)左移)左移2,复原原直线;,复原原直线;图图2-11总的变换矩阵总的变换矩阵 ,其中:,其中:则:则:视窗变换WL,WBWR,WTXW,YW窗口窗口VL,VBVR,VTXS,YS视口视口比例变换比例变换平移变换平移变换a=(VR-VL)/(WR-WL)c=(VT-VB)/(WT-WB)b=VL-WL*a d=VB WB*c三维基本变换 点点(x x,y y,z z),用用齐齐次次坐坐标标表表示示为为

15、(x x,y y,z z,1 1),点点在在三维空间里的变换可写为:三维空间里的变换可写为:xxy yz z1=x y z 1T1=x y z 1T比例、对称、比例、对称、错切和旋转错切和旋转透视变换透视变换平移平移全比例全比例4444阶变换矩阵阶变换矩阵平移变换比例变换比例变换:比例变换:等比例变换:等比例变换:对称变换b b 相对相对YOZYOZ平面的平面的变换阵变换阵c c 相对相对XOZXOZ平面的平面的变换阵变换阵a a 相对相对XOYXOY平面平面的变换阵的变换阵旋转变换绕绕 x 轴的旋转矩阵:轴的旋转矩阵:绕绕 y 轴的旋转矩阵:轴的旋转矩阵:绕绕 z 轴的旋转矩阵:轴的旋转矩阵

16、:错切变换 三维错切变换的变换矩阵为:三维错切变换的变换矩阵为:可见,当可见,当主对角线各元素均为主对角线各元素均为1 1,第,第4 4行和第行和第4 4列其它列其它元素均为元素均为0 0,其余元素不全为,其余元素不全为0 0时,产生三维错切变换。时,产生三维错切变换。三维组合变换绕空间随意轴规定角度的旋转变换:绕空间随意轴规定角度的旋转变换:思路:思路:将旋转轴转到将旋转轴转到 z 轴方向,对图形作绕轴方向,对图形作绕 z 轴的轴的旋转变换后再转回原位置旋转变换后再转回原位置例:例:设旋转轴由空间一点设旋转轴由空间一点A(xa,ya,za)及其方向数及其方向数(a,b,c)定义,若空间一点定

17、义,若空间一点 P(xp,yp,zp)绕绕 该该 轴转轴转 q q 角到角到 P*(x*p,y*p,z*p),构造关系构造关系 x*p y*p z*p 1 =xp yp zp 1.Ra其中,其中,Ra 为待求的变换矩阵为待求的变换矩阵A AP PP*P*B解:解:(1)使坐标原点平移到使坐标原点平移到 A 点,即用平移矩阵作变换点,即用平移矩阵作变换a ab bc ca az zx xy yA AA AP PP*P*BBb ba az zx xy y(2)绕绕 x 轴转轴转 a a 角,使角,使 B 落在落在 x-z 平面内平面内(3)绕绕 y 轴转轴转 b b 角,使角,使 B落在落在 z

18、轴上轴上BA(4)绕绕 z 轴转轴转 q q 角,使角,使 P 绕绕 A 旋转旋转 q q 角角z zx xy y(5)求求 Ry,Rx,TA 的逆变换的逆变换BA(6):总的变换矩阵为:总的变换矩阵为:R Ra aT TA A.R Rx x.R Ry y.R Rz z.R R-1-1y y.R R-1-1x x.T T-1-1A A投影变换一、投影变换的分类投影变换的分类:斜平行投影斜平行投影正平行投影正平行投影正投影正投影(三视图三视图)正轴测投影正轴测投影斜等测投影斜等测投影斜二测投影斜二测投影正等测投影正等测投影 (三轴变形系数相等三轴变形系数相等)正二测投影正二测投影 (两轴向变形相

19、等两轴向变形相等)正三测投影正三测投影 (三轴变形系数各不相同三轴变形系数各不相同)一点透视投影一点透视投影二点透视投影二点透视投影三点透视投影三点透视投影平行投影平行投影透视投影透视投影灭点灭点灭点灭点灭点灭点灭点灭点投影变换投影变换:将三维物体的图形变为二维图形表示的过程称为投影变换:将三维物体的图形变为二维图形表示的过程称为投影变换三视图的生成(正投影)主视图主视图俯视图俯视图侧视图侧视图d轴侧图的生成(斜平行投影)物体先绕物体先绕Z轴旋转轴旋转,再绕,再绕X轴旋转角轴旋转角,然后向,然后向XOZ平面投影。平面投影。1)正等侧轴侧图正等侧轴侧图(=45=45,=3516=3516)2)正

20、二侧轴侧图正二侧轴侧图(=2042=2042,=1928=1928)上机作业 自选一个二维或三维组合体,利用高级语言编程自选一个二维或三维组合体,利用高级语言编程实现图形变换功能。实现图形变换功能。图形变换例程(1)#include#include#include double R33,T33;/*R为复合变换矩阵,为复合变换矩阵,T为基本变换矩阵为基本变换矩阵*/void idr2(void);/*单位矩阵单位矩阵*/void tran2(double tx,double ty);/*平移矩阵平移矩阵T*/void scale2(double sx,double sy);/*比例矩阵比例矩阵

21、T*/void mult2(void);/*复合变换矩阵复合变换矩阵*/double coor2(double x,double y,double*pxy);/*计算图形变换后的坐标点计算图形变换后的坐标点*/void idr2(void)/*单位矩阵单位矩阵*/int i,j;for(i=0;i3;i+)for(j=0;j3;j+)Rij=0;Rii=1;图形变换例程(2)/*基本变换矩阵基本变换矩阵T*/void tran2(double tx,double ty)/*平移矩阵平移矩阵T*/int i,j;for(i=0;i3;i+)for(j=0;j3;j+)Tij=0;Tii=1;T2

22、0=tx;T21=ty;void scale2(double sx,double sy)/*比例矩阵比例矩阵T*/int i,j;for(i=0;i3;i+)for(j=0;j3;j+)Tij=0;T00=sx;T11=sy;T22=1;图形变换例程(3)/*R和和T相乘后得到的复合矩阵相乘后得到的复合矩阵*/void mult2(void)/*复合变换矩阵复合变换矩阵R*/int i,j,k;double rt,b33;for(i=0;i3;i+)for(j=0;j3;j+)rt=0;for(k=0;k3;k+)rt=rt+Rik*Tkj;bij=rt;for(i=0;i3;i+)for(j

23、=0;j3;j+)Rij=bij;double coor2(double x,double y,double*pxy)/*计算图形变换后的坐标点计算图形变换后的坐标点*/pxy0=x*R00+y*R10+R20;pxy1=x*R01+y*R11+R21;return*pxy;图形变换例程(4)main()int n,m;int driver=DETECT,mode,MAXY;double x,y,sx,sy,tx,ty;double xy112=40,0,40,-8,-25,-8,-40,8,0,0,0,8,6,8,6,32,-6,24,-6,8,0,8;/*小船图形数据点小船图形数据点*/d

24、ouble pxy2=0,0;/*用于存放变换后的新坐标值用于存放变换后的新坐标值*/initgraph(&driver,&mode,);/*初始化图形环境初始化图形环境*/MAXY=getmaxy();/*获得绘图区域获得绘图区域Y的最大值的最大值*/for(m=1;m=4;m+)/*画变换后的四条小船画变换后的四条小船*/idr2();/*单位矩阵单位矩阵R*/sx=pow(0.7,(m-1);sy=sx;/*每条小船依次进行比例变换每条小船依次进行比例变换sy=sx0.7*/scale2(sx,sy);/*比例变换矩阵比例变换矩阵T*/mult2();/*复合变换矩阵复合变换矩阵R*/t

25、x=40*m;ty=tx;/*每条小船依次进行平移变换每条小船依次进行平移变换sy=sx0.7*/tran2(tx,ty);/*平移变换矩阵平移变换矩阵T*/mult2();/*复合变换矩阵复合变换矩阵R*/x=xy40;y=xy41;coor2(x,y,pxy);/*计算变换后的起始点坐标计算变换后的起始点坐标*/moveto(pxy0,MAXY-pxy1);/*移到图形起始点移到图形起始点*/for(n=0;n11;n+)/*画变换后的小船画变换后的小船*/x=xyn0;y=xyn1;coor2(x,y,pxy);/*进行坐标变换,计算点进行坐标变换,计算点(x,y)变换后的坐标值变换后的

26、坐标值(pxy0,pxy1)*/lineto(pxy0,MAXY-pxy1);getch();closegraph();用VC实现步骤(1)1 1、新建一个、新建一个MFC AppWizardexeMFC AppWizardexe工程文件。工程文件。选择选择file/new/projects/MFC AppWizardexefile/new/projects/MFC AppWizardexe,选择,选择locationlocation为存储为存储路径,输入路径,输入project name:transformproject name:transform。按。按OKOK后,弹出对话框,按后,弹出对话框,按finishfinish及及OKOK。精品课件精品课件!精品课件精品课件!用VC实现步骤(2)2、添加代码。、添加代码。选取左框底部标签页选取左框底部标签页fileview,点击,点击transformview.cpp文件,在该文件中相文件,在该文件中相应的位置添加代码,详见应的位置添加代码,详见transformview.cpp中标有中标有/*的的部分。部分。3、编译运行。、编译运行。1)选择)选择build菜单,先菜单,先Compile后后Build,产生产生EXE文件。文件。2)选择)选择build菜单,菜单,Execute编译好的编译好的EXE文件即可。文件即可。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 商业计划书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com