![第4章 图形处理技术基础_第1页](http://file4.renrendoc.com/view5/M00/27/1A/wKhkGGY895mAImJ6AABrLR-7iO0541.jpg)
![第4章 图形处理技术基础_第2页](http://file4.renrendoc.com/view5/M00/27/1A/wKhkGGY895mAImJ6AABrLR-7iO05412.jpg)
![第4章 图形处理技术基础_第3页](http://file4.renrendoc.com/view5/M00/27/1A/wKhkGGY895mAImJ6AABrLR-7iO05413.jpg)
![第4章 图形处理技术基础_第4页](http://file4.renrendoc.com/view5/M00/27/1A/wKhkGGY895mAImJ6AABrLR-7iO05414.jpg)
![第4章 图形处理技术基础_第5页](http://file4.renrendoc.com/view5/M00/27/1A/wKhkGGY895mAImJ6AABrLR-7iO05415.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章图形处理技术基础
4.1图形的几何变换
-图形几何变换的基本原理
-二维图形的基本变换
■二维图形的组合变换
■三维图形的变换、工程图的生成
4.L1图形几何变换的基本原理
-图形:无论二维或图形,都是由组成图形的点、
点之间的连线、连线构成的面、以及点、线、
面之间的关系表达的。
■图形变换:只是改变图形顶点的坐标,不改变
它们的拓扑关系。
■从原理上讲:图形的几何变换,实际上位点的
变换。
4.L2二维图形的基本变换
■一个点的坐标可以用矩阵形式[Xy]或表示,坐
标变换的矩阵表示形式为:步
■AT=B,T为变换矩阵
ab
设T
cd
ab
[axbx
[xy][xc。加
y]
变换类型
*
xaxcy
(1)比例变换
V*bxdy
当b=c=O,a、d>0,
A
[X**y][X[axdy]
中)等比例变换
a=d时
2)不等比例变换
a#d时
(2)对称变换
1)对X轴x*axcy
a=1,d=—1;y*bxdy
2)对Y轴
a=—1,d=1;
3)对原点
A=—1,d=-1
(3)错切变换
1)沿X方向Y
b=0,d=La=Lc#0时,
[x*y^lx+cyy]
练习:对如图所示的边长为10的正
方向进行c=2的错切变换。
4OO)OO)Z*
0
81o1O1O05
1*
00
c1KO1⑵13O1C
1*
DOO——0
1。*
20
2)沿Y方向
a=l,c=0,d=Lb#0时,
[x*y^]=[xbx+y]
练习:对如图所示的边长为10的
正方向进行b=-0.5的错切变换。
X*axcy
A0000y*bxdy
510010.5105B*
C101001105G
DO1000D*
3)沿X、Y两个方向错切
a=d=l,b,0,cWO时,[x*/]=[*+①bx+y]
举例:对如图所示的边长为10的正方向进行b=c=0.5的错
切变换。
x*axcy
y*bxdy
(4)旋转变换
当。dcos,bsin.csin,
[x**y][xcosj/siliixsmycos
绕原点的旋转,转角逆时针为正。
x*axcy
y*bxdy
(5)平移变换
■无论变换矩阵中的即b,c,dx*ax
为何值,均不能实现图形y*bxdy
的平移,为此需要图形的
另一种表示坐标一齐次坐
标。
齐次坐标
z[HxHyHzH]
齐次坐标
■将一个11维空间的点用n+1维坐标来表示。
口如在直角坐标系中,二维点[xy]的齐次坐标
通常用三维坐标[HxHyH]表示;
口一个三维点[xyz]的齐次坐标通常用四维坐
标[HxHyHzH]表示。
口最后一维坐标H称为比例因子,H为不为零
的任意实数。
■直角坐标与齐次坐标的关系
x=Hx/H
y=Hy/H
z=Hz/H
■任一点可用多个齐次坐标表示。
■例如二维点(20,10)用齐次坐标可表示为:(20,
10,1)、(40,20,2)或者(30,15,1.5);
■同理三维点(2,3,5)的齐次坐标可表示为(2,
3,5,1)或者(20,30,50,10)。
一般,总是将H设为“产,以保持两种坐标的一致
________________________________________________
ab
变换矩阵:Tftdq
Ims
当a=d=s=l,b=c=p=q=O,I、而不全为0时,
,100I
x**y1xy1010[x
加11Im
/为x方向的平移因子,1%为丫方向的平移因
子。
齐次变换矩阵
■对于二维坐标系上的点,齐次坐标为[HxHyH];
■齐次坐标变换矩阵的形式是:
可以实现图形的比列、
对称、错切、旋转等
S
4.L3二维图形的组合变换
■工程应用中,仅用基本变换不能实现图形的
变换;
■必须采用两种或两种以上的基本变换组合才
能完成,即组合变换。
■设各次变换的变换矩阵分别为TLT2,
Tn,则组合变换矩阵是各次变换矩阵的乘
积。
绕任意一点对图形实施旋转变换
例1:三角形abc,坐标分别为a(6,4),b(9,4),c
(6,6),绕A(5,3)点逆时针旋转90。
图形变换由如下
步骤组合:
(1)平移变换
(2)旋转变换
(3)平移变换
(1)将图形平移
(—5,—3),使100
得旋转中心在原点no1o
531
(2)三角形绕原
0-
点旋转变换
0
(3)将图形平移(/,
阳),得到满足要求
的几何变换。
①-④
■组合变换矩阵
H1oo0I0I00
TT\T2T010I000I0
li|l5Jl31
00I53I
则,变换后的顶点:
XJ6
a44I
,
XV9
Q-47
1
,
XJ6
a24I
思考:当图形要对画面中的某一点A(Xo,y°)作放
大时,通过哪些基本变换复合而成?
(1)首先将图形平移,使点A与坐标原点(0,0)
重合;
⑵然后图形以(0,0)为中心作放大;
(3)最后将图形平移,使点A回原处。
则以点(1yj为中心,放大系数分别为XS>
S的组合变换矩阵为:
V
LLI1oosxoohoo
o,s001
TT1T2TT010
1001Un%UnJy
1
4.L4三维图形的几何变换
三维点坐标—三维点齐次坐标
(x,y,z)——(x,y,z,1)
三维图形的几何一
变换矩阵
/in
000
比例0^00
T=
变换00i0
0001
1000
0100
等比例T=
变换0010
000s
1000店z[
平移0100
T=
变换0010
mn\
三维图变换及其变换矩阵
变换变换
名称柜库图例说明
。一绕渤的旋转角,
逆时针为正,顺时针为
负。
4
"cosfi0-smO'Z
0100P—绕Y轴的旋转角,
旋转sinfi0cosfl0逆时针为正,顺时针为
变换0001_0负°
■cosysinx0o-
店:包7-绕Z轴的旋转角,
-sinycosy00
0010逆时针为正,顺时针为
0001负。
三维图变换及其变换矩阵
变换变换
名称矩阵图例说明
1000
0100
T
00-10对XOY平面的对称变换
Y
0001乂咛
1000
『0-100
对称T—
0010对XOZ平面的对称变换
变换
0001
-1000
0100
对YOZ平面的对称变换
0010
0001
三维图变换及其变换矩阵
蠹矩阵变换图例
说明
000
沿X含Y的错切,
100
010d——错切因子,
001
1000
沿X含Z的错切,
,0100
错切T=
g010g——错切因子,
变换
0001
1600沿丫含X的错切,
0100
T=
0010b——错切因子,
0001
三维图变换及其变换矩阵
(3)二维图形变换及其变换矩阵
变换变换
名称矩阵图例说明
1000正面投影变换,
0000图形在XOZ平面的投
0010影,即Y坐标的比例因子
0001为零。
水平面投影变换
1000
图形在平面的投
0100XOY
投登T
0000影,即Z坐标的比例因子
变换
0001为零。
0000
图形在YOZ平面的投
0100
T=影,即挫标的比例因子
0010
0001为零。
应用举例:
(1)对称变换
四棱锥S-ABCD对XOZ平
对称变换
,4
00
2
00
B6301=5
10
6
01
、3
4.L5三维图形的组合变换
■原理同于二维图形的
组合变换
度”,求旋转后的矢量。
I”
设旋转后的矢量为
如图:
V=c+n*(Z*h)
c=nXZXn*cosa+
nXZ*sina
4.1.6投影变换
■投影变换是各类变换中最重要的一种,是把n维坐标系中的
点交成才、于n维坐标系的点。
投影中心:投影线的汇聚
点,或投影参考点
投影线:物体发出的光线
与投影中心的连线
观察平面:也称投影面,
投影图所在的平面
平行投影:投影中心与投
影面距离无限远
透视投影:投影中心与投
影面距离有限
投影变换过程:
■建立观察坐标系;
■将世界坐标系中的物体变换到观察坐标系中;
■通过正投影变换将场景投影到观察平面。
■Pref:注视点;P0:观察原点;N:观察平面法向量;
■观察方向为N的反方向;
思考题:
1.如何确定XM部的方向?
规定向上方向V=[010],再通过矢量叉乘建立观
察坐标系。
2.如何实现将世界坐标系中的物体变换到观察坐标
系中?
1.平行投影
■按投影方向是否垂直投影面,分为正平行
投影和斜平行投影。
■正平行投影的投影方向垂直于投影面。
■正投影可测量实体的距离、角度,可度量
性好,在工程制图中应用广泛。
工程图的生成
三维图形转化为二维工程图的变换
Z
主视图的生成
取XOZ面为主视图的投
影面,变化矩阵为
ooo
o0o
o1O
OO1
俯视图的生成
■俯视图:取XOY面为投影面,然后绕x轴顺时
针旋转90度,然后平移一定的距离d。
俯视图变换矩阵为
L管
1Ooo
10001000o1oo
01000cos(90)sin(90)0
oo
00000sin(90)cos(90)00ood
0001Ioo
左视图的生成
■左视图:取YOZ面为投影面,
然后绕Z轴逆时针旋转90度,
然后平移d。
ooooO1OOO
o1o0cos90sin90oOO1OO
0sin90cos90
oo1ooooooOO
oo1dOO
oooo11
2.轴测投影
CAD/CAM设计的图形大多数为三维,轴测图的显
示需要用到轴测投影变换。
轴测投影变换实质是三维组合变换,先绕2个轴旋
转,在向一个平面投影。
例如先绕y轴旋转(P角,再绕x轴旋转。角,最后向
XOY平面投影。
OOo
COsin.ooOOO
OOOOoO1OO
sm1
cos
OO•OOOOO
sincosmcos
OOOOOOOOO
■轴间角:ZX1O1YiZxq不、/Y1O1Z1
■轴向变形系数:OiX[/ox=%/0丫=小O1Z1/
OZ=r|z
正二轴测投影变换
■当%=2%=1=1时,为正二轴测投影;
■先绕y轴旋转(p=19。28”,再绕x轴旋转。=
20°42”
■变换矩阵为:
0.9350.11800
00.94300
T
0.3540.31210
ooor
正等轴测投影变换
■当1=%=%=0・82时,为正等轴测投影;
■轴间角120。
■先绕y轴旋转<p=45。,再绕x轴旋转。=35。16"
■变换矩阵为:
0.7070.40800
00.81600
0.7070.40810
八001
3.透视变换
■通过投影中心将三维形体投影到投影面的变换。
■投影线从投影中心出发,投影线不平行。
■比轴测图更富立体感,投影面位于投影中心和实体之间。
小Z
P=(x,y,z)
■•
□投影中心/投影参考点(Projectionreferencepoint)
口为了简化计算,一般情况下取:
(1)观察平面位于观察坐标原点;
(2)投影中心在Z眼能方向,即xyprp=0o
■则经过坐标变换,使观察坐标系与世界坐标系重合
10°1°0°0
XyZ
011/40000
0010001
透视投影观察体
落在近、远裁剪平面之间的棱台体内的物体才能被显示。
OpenGL中,投影面与近裁剪平面重合,投影参考点位于
观察坐标系原点。
OpenGL实现透视变换实例
#include"stdafx.h"
#defineGLUT_DISABLE_ATEXIT_HACKglClear(GL_COLOR_BUFFER_BIT);//Showthedolorwith
#include<GL/glut.h>displaywindowcolor
GLintwinWidth=600,winHeight=600;//Initialdisplay/*Setparametersforacube.*/
windowsize.glColor3f(0.0,1.0,0.0);//Setobjectcolortogreen.
GLfloatxO=0.0,yO=0.0,zO=100.0;//ViewingglutWireCube(50);
coordinateorigingIFIush();//PrcessallOpenGLroutinesasquicklyas
GLfloatxref=0.0,yref=0.0,zref=0.0;//Look-atpoint.possible
GLfloatVx=0.0,Vy=10,Vz=0.0;//View-upvector.}
/*Setcoordinatelimitsfortheclippingwindow:*/voidmain(intargc,char**argv)
GLfloatxwMin=-20.0,ywMin=-20.0,xwMax=20.0,ywMax={
20.0;glutlnit(&argc,argv);//InitialGLUT
/*Setpositionsfornearandfarclippingplanes:*/glutlnitDisplayMode(GLUT_SINGLE|GLUT_RGB);//Set
GLfloatdnear=30.0,dfar=150;displaymode,defaultset
voidinit(void)glutlnitWindowPosition(50,50);//Setleft-topdisplay
(windowposition
glClearColor(1.0,1.0,1.0,0.0);//SetdisplaywindowtoglutlnitWindowSize(winWidth,winHeight);//Setdisplay
whitewindowwidthandlength
gIMatrixMode(GL_MODELVIEW);//SetprojectioglutCreateWindow("PerspectiveViewofASquare");//Creat
parametersdisplaywindow
gluLookAt(xO,yO,zO,xref,yref,zref,Vx,Vy,Vz);init();//Executeinitializationprocedure
gIMatrixMode(GL_PROJECTION);//SetprojectioglutDisplayFunc(displayFcn);//Sendgrapicstodisplay
parameterswindow
gIFrustum(xwMin,xwMax,ywMin,ywMax,dnear,dfar);glutMainLoop();//Displayeverythingandwait
}}
voiddisplayFcn(void)
参考书[2]计算机图形学,2.9、7.10节
课后思考题:
课后自运行以上程序,改变观察点、参考点位置、远、近
裁剪平面参数,观察所得到的图形,体会投影变换的原理。
■灭点:透视图上任何一束不平行于投影面的
平行线的透视投影的交汇点。
■主灭点:与坐标轴平行的平行线的灭点。
■根据主灭点的个数,分为一点透视、二点透
视和三点透视。
1000
0101/yj
X0010fj
10001I(
p、q、r中,有1个不为零则为1点透视;
有2个不为零,则为2点透视;
有3个不为零,则为3点透视;
点透视三点透视
4.2图形的消隐技术
4.2.1消隐的概念和作用
显示设备描绘物体的图形时,必须把三维信息
经过某种投影变换,在二维的显示表面上绘制
出来。
在显示三维图形时,存在一些问题:
0图形表达的二义性
(b)(c)
两个立方体相互遮挡的关系
■概念
□消隐线和消隐面:沿着投影方向,三维实体被挡住
的线和面;
□消隐:消除消隐线和消隐面的过程。
□消隐技术:查找、确认并且消除隐藏的线与面的技
术。
■作用:
□投影变换失去了深度信息,导致图形的二义性。
□消除图形表达的二义性,提高图形的真实感,使其
只有唯一解释。
422消隐算法中的基本测试方法
测试那些线和面是可见的,那些是不可见
的。
1.重叠测试
许多物体的投影是由若干个多边形构成的,
将这些多边形两两判别,看它们是否有重
叠部分,如果不重叠,说明它们肯定不互
相遮挡。
nmsw------------------------------
□第一步(粗筛):将根本不可能重叠的多变形
筛掉。判据为:
、>linax",Emin;'/min~'Bniax
第二步:对于外接矩形有相交的情况;
□将多边形的各边与另一多边形的每条边比较;
口如果2个矩形有重叠,计算交点。
2.包含性测试
测试点与多边形的包含关系有两种方
法:
□射线交点数算法
□夹角求和算法
y\y卜引出射线;由交点数判断。
二交点数为奇数时,点在多边
形内;
"■交点数为偶数时,点在多边
■■形外;
■射线经过顶点:
•两条边在射线两侧,
记相交一次;
--•两条边在射线一侧,
记相交2或0次;
■射线经过多边形的边,改变
射线方向。
勺有向边。
■测试点与多边形每
条边的两端点构成
三角形;
■求被测试点与多变
形各边对应的中心
角;
2,在内部;
I
0,在外部;
i
3•深度测试
深度测试是用来测
本方法。
・ZAZ2,点门喘;
■Z2>Z1,速可见;
4.可见性测试
判别物体哪些部分是可见的,哪些部分是不可见的。
矢量S为观察方向;
Y
时、涧另]举蟒卜
希鎏正则为可见面。
■
X
423常用消隐算法
■经过测试,可判别物体之间是否有重叠,如
果有重叠,需进行消隐处理。
・很多基本算法,适用某些领域,没有一种能
够使用所用的领域;
□Z缓冲器扫描线算法
Z缓冲器算法
■深度缓冲器算法,图形消隐中经常使用的方法。
存放像素颜色值存放像素深度值
Z缓冲器算法基本原理
■物体上的点(X,y,z)对应于屏幕上的每个像素
点(x,y)
Z3>Z可见
Z缓冲器算法步骤
■初始化
□深度缓冲器的初始设置为足够小的z值;
□帧缓冲器中各单元(X,y)取背景色;
'逐点处理
□确定物体多边形上每一点的深度值z;
□如当前z值大于原有值,则将此深度值替换原有
值;
□此点的颜色值替换帧缓冲器中的原有值。
4.3图形裁剪技术
-图的大小和复杂程度不同,需要将图显示在
计算机屏幕上;
"裁剪技术:使图形恰当的显示在屏幕上的处
理技术
4.3.1窗口与视区
1.用户域与窗口区
■用户域:程序员用来定义整个草图的自然空间。
□用户域数连续无限的;
口用户域中的坐标系为用户坐标系或世界坐标系。
用笛卡尔右手坐标系表示。
■窗口区:用户指定的任一区域。
□小于或等于用户域。
■只关心整幅图形的特定部位,希望这部分图形清
晰地显示出来。
■在二维平面,窗口为一矩形,用四个变量代表窗
口左下角和右上角点的坐标,即:
WrXWmin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年调味品行业商业计划书
- 怎样写培训老师演讲稿(模板8篇)
- 课程的个人总结8篇
- 债权的转让协议书范文模板
- 德国柏林住宿行业市场前景及投资研究报告-培训课件外文版2024.6
- 2024年江苏省苏州市中考数学试题
- 波兰电子竞技行业市场前景及投资研究报告-培训课件外文版2024.6亚运会
- 六年级下册英语导学案-Unit 1 How tall are you 人教版PEP
- 苏教版科学三年级下册全册教案
- 服装厂房租赁协议模板
- 专题22.21二次函数与项目设计探究性问题大题提升专练(重难点培优)-【拔尖特训】2023-2024学年九年级数学上册尖子生培优必刷题(原卷版)【人教版】
- 国企人力资源岗位笔试题目多篇
- 【新能源汽车企业比亚迪汽车盈利能力分析(8700字论文)】
- 2023年《临床输血技术规范》
- 云南省昆明市五华区2022-2023学年六年级下学期期末英语试题
- 足浴店安全责任书范本
- 镁钢复合风管制作指导书
- 四川省资阳市2022-2023学年八年级下学期期末语文试题(解析版)
- 阳台悬挑脚手架施工方案
- 英语四线三格线A4纸打印
- 思想道德与法治教学能力设计教案
评论
0/150
提交评论