武汉大学CAD 计算机图形处理技术基础_第1页
武汉大学CAD 计算机图形处理技术基础_第2页
武汉大学CAD 计算机图形处理技术基础_第3页
武汉大学CAD 计算机图形处理技术基础_第4页
武汉大学CAD 计算机图形处理技术基础_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章计算机图形处理基础主要内容(共7节):1、图形处理的数学基础(齐次坐标)2、二维图形几何变换(基本变换组合变换)3、三维图形几何变换(基本变换组合变换)(自学)4、图形程序库(设备驱动程序图形程序库)5、坐标系(各种坐标系)6、窗口与视区(窗口视区窗口-视区变换)7、图形的裁减与消隐(裁减消隐)

计算机图形处理技术——利用计算机通过算法和程序在显示设备上构造出图形的一种技术图形处理技术在CAD技术中发挥着重要的作用,了解和掌握计算机图形处理技术的一些基础知识和相关的基本概念与术语,对掌握CAD技术和熟练使用CAD应用软件是非常有益的计算机图形系统的基本功能:计算、存储、输入、输出、交互等图形的基本处理流程:(1)利用图形输入设备将图形输入到计算机中;(2)对图形进行各种变换(如几何变换、投影变换)和运算(如图形的并、交、差运算等);(3)将图形转换成图形输出系统接受的表示形式输出形体的集合运算复杂形体可通过简单体素的集合运算(又称布尔运算)和几何变换构造而成集合运算提供基本体素的并、交、差运算并——A、B两个体素之和交——A、B的公共部分差——从A体素中减去B体素(或由B体素中减去A体素)后的剩余部分体素间的并、交、差运算图形从输入到输出贯穿着各种变换:图形显示过程——用户需对图形进行平移、放大、旋转等基本的几何变换操作。图形的平移、放大、旋转、缩放、镜像、错切等从数学上看都是几何性质的“变换”,故又称为图形的几何变换图形的计算机二维屏幕显示——需要利用投影变换绘图过程——需要以窗口来选择显示的内容,用视区来规定在图形屏幕上显示的位置显示在视区的图形——需要经过裁剪、消除隐藏线、隐藏面等处理图形的几何变换计算机绘图技术的数学基础,不仅提供了产生某些图形的可能而且还可以使绘图程序简单化。特别是图形具有一定规律性,一个图形可以由另一个图形通过一定的变换来实现。目前,较为完善的绘图软件,都包含有关图形几何变换的一些功能从图形类型分:二维平面图形的几何变换、三维立体的几何变换以及三维立体向二维平面投影变换等从变换性质分:平移、变比例、旋转、反射和错切等基本变换,正投影变换、轴测投影变换和透视投影变换等复合变换3.1图形处理的数学基础主要内容:齐次坐标计算机绘图是用形、数结合的方法,对所绘图形建立数学模型。简单地说,图形就是点线的结合。图形中每个点都有一个位置坐标,平面图形中的点组成点集坐标矩阵,在一定的拓扑关系下对应某个图形。因此,图形的几何变换可以通过与之对应的矩阵变换来实现

向量——几何空间中两点之间的一个有向线段在解析几何中,点可用向量表示计算机图形处理技术中通常将点看作一个位置向量(起点位于坐标原点)P1(x,y)P2(x,y)3.1.1向量运算3.1.2矩阵运算单行、单列的矩阵表示一个向量可将矩阵看作行向量或列向量的集合

三维空间一个点→位置向量→矩阵:3.1图形处理的数学基础P1(x,y,z)=[xyz]或P1(x,y,z)=用点的集合(点集)表示一个二维或三维图形:3.1.3齐次坐标用一个n+1维向量表示一个n维向量

n维空间点的位置向量:用非齐次坐标表示时,具有n个坐标分量(P1,P2,……,Pn),且是唯一的用齐次坐标表示时,有n+1坐标分量(hP1,hP2,……,hPn,h),且不唯一。非齐次坐标与齐次坐标是一对多的关系,但不影响图形的形状3.1图形处理的数学基础

h称为比例因子。一般取h=1,称为正常化齐次坐标例1二维空间点[x

y]

齐次坐标:[hx

hy

h]

通常,在实际应用中取h=1,即用三维向量[x

y1]表示二维向量[x

y],但[x

y1]可看作是z=1平面上的点,亦即图形落于z=1平面上,但对图形形状没有影响与此类似,三维空间点的齐次坐标表示为[x

y

z1]5.1图形处理的数学基础ABC(a)ABCD(b)例2图形的点集表示二维图形或三维立体图,可用一个点集来表示,每个点对应一个行向量,则点集为n×3或n×4阶的矩阵:3.1图形处理的数学基础采用齐次坐标的优点:⑴提供了用矩阵运算把二维、三维甚至更高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法例如:二维、三维齐次坐标变换矩阵的统一表示形式分别为3.1图形处理的数学基础⑵可以表示无穷远点

n+1维空间中,h=0的齐次坐标实际上表示了一个n维的无穷远点:二维的齐次坐标[a,b,h],当h→0,表示ax+by=0的直线,即在y=-(a/b)x上的连续点(x,y)逐渐趋于无穷远,但其斜率不变在三维情况下,利用齐次坐标表示视点在原点时的投影变换(三维物体→二维图形表示),其几何意义更加清晰3.1图形处理的数学基础

对于线框图的变换,通常以点变换为基础,把图形的一系列顶点做几何(图形)变换后,连接新的顶点系列即可产生新的图形也就是说,要对二维或三维图形进行变换,只要将它们对应的矩阵S(点集)乘上一个变换矩阵T,生成的新矩阵就代表变换后的图形,即S’=S×T?3.2二维图形几何变换图形系统实现各种编辑功能的数学基础通过不同的变换矩阵可以实现图形的平移、旋转、比例、镜射等操作主要内容:基本变换矩阵组合变换图形变换可以看作:(1)坐标系不动而图形变动,变动后的图形在坐标系中的坐标值发生了变化(2)图形不动而坐标系变动,变动后,该图形在新坐标系下具有新的坐标值其中:产生比例、对称、旋转和错切变换;产生平移变换;产生投影变换;为全比例因子,使图形产生总体的比例变换,通常取S=1二维齐次坐标变换矩阵:(1)平移变换(transfer)平移交换操作示意图变换矩阵:——x方向位移量——y方向位移量t-transfer变换前坐标变换后坐标(2)错切变换(shear)沿x轴方向的错切:沿y轴方向的错切:c=tanαb=tanβ(3)比例变换(scale)基点为原点的比例变换矩阵:——沿x、y方向的比例因子比例变换讨论:

(1)a=d=1时图形不变

(2)a=d>1时图形沿两轴方向等比例放大

(3)a=d<1时图形沿两轴方向等比例缩小

(4)a<>d时图形沿两轴方向作非均匀比例变换BACB’A’C’XYa=1,d>1A=d=1基点为(,)比例变换矩阵:比例变换变换过程:1、图形平移,dx=-X0,dy=-Y0,比例变换基点由(X0,Y0)变为原点;2、基于原点的比例变换;3、图形平移,dx=X0,dy=Y0123?采用坐标系平移时的变换过程?(4)旋转变换rotate绕原点旋转的变换矩阵:——旋转角,逆时针为正绕任意点(,)旋转的变换矩阵:

旋转变换变换过程:1、图形平移,dx=-X0,dy=-Y0,旋转变换基点由(X0,Y0)变为原点;2、基于原点的旋转变换;3、图形平移,dx=X0,dy=Y0。123(5)镜射交换(symmetry)——对称变换镜射变换(,)——镜射线上一点的坐标变换过程:1、图形平移,dx=-X0,dy=-Y0,镜射线通过原点;2、旋转镜射线,与X轴重合;3、图形进行X轴对称变换;4、反方向旋转镜射线;5、图形平移,dx=X0,dy=Y0。镜射变换过程12345(,)——镜射线上一点的坐标——镜射线的倾斜角,00~1800

,k=tanα变换矩阵如下:1平移2旋转(顺时针)3X轴对称变换4旋转5对x轴的对称变换:00(0,0)对y轴的对称变换:900(0,0)

对原点的对称变换:(比例变换取=-1)对±450的对称变换:+450:450(0,0)

-450:1350(0,0)

3.3三维图形几何变换(自学)

三维空间中,用四维齐次坐标表示三维点,即[xyz1]

三维变换矩阵则采用4×4阶矩阵表示,变换矩阵的一般表示为:其中:产生比例、对称、旋转和错切变换;产生平移变换;产生投影变换;为全比例因子,使图形产生总体的比例变换,通常取S=1主要内容:基本变换矩阵组合变换3.3.1三维基本变换包括比例变换、对称变换、平移变换和旋转变换

基点为原点的比例变换:a、e、j——x、y、z方向比例因子对称变换:⑴相对于xoy平面xyzo⑵相对于xoz平面⑶相对于yoz平面平移变换:l、m、n——x、y、z方向位移量xyzo旋转变换——绕坐标轴或任意轴旋转规定:右手坐标系下,几何形体绕某坐标轴逆时针旋转时,旋转角度为正

⑴绕x轴旋转α角⑵绕y轴旋转β角⑶绕z轴旋转γ角xyzo3.4图形程序库图形处理是CAD系统所具有的基本功能通用图形处理软件一般由设备驱动程序和图形程序库两部分组成采用各种高级语言开发的CAD应用程序,通过直接使用设备驱动程序或使用构建在设备驱动程序之上的图形程序库来控制图形的显示处理

3.4.1

设备驱动程序设备驱动程序是一系列与设备相关的代码直接控制图形设备的显示处理单元(图形适配卡或显卡)设备驱动程序是与设备相关的,由各个图形设备厂家用低级语言(或专用语言)编写并固化于显示处理单元中一台图形设备的显示处理单元由一个特定的设备驱动程序驱动主要内容:设备驱动程序、图形程序库

直接用设备驱动程序代码编写图形程序的缺点:(1)图形设备不同,图形处理程序所使用的设备驱动程序命令也不同,从而造成图形程序的可移植性差(2)由于图形处理程序是用低级语言编写的,程序编写工作大,且程序的可读性差直接用设备驱动程序命令编写图形处理程序的结构框图如下图所示应用程序设备驱动程序输入/输出设备为图形设备加装一个通用的、与设备无关的图形程序库3.4.2图形程序库(GraphicLibrary)一种到图形硬件的软件接口一种过程性的图形API(ApplicationProgrammingInterface,应用程序接口)实际上是一系列图形处理子程序,且每个子程序都具有特定的用途,如某个子程序可以绘直线,另一个子程序可以绘圆等构建在设备驱动程序之上,如下图所示应用程序设备驱动程序输入/输出设备图形程序库图形程序库中的每个子程序都采用支持它的设备驱动程序命令创建。例如,一个绘圆子程序可以由一系列绘制短直线的设备驱动命令组成

流行的图形设备厂家的设备驱动程序一般都支持标准及流行的图形程序库图形程序库中子程序的使用与传统编程中数学函数库的使用方式相类似,即由主程序调用所需子程序构造一个统一、标准、能驱动所有图形设备(或被各图形设备厂家的设备驱动程序所支持)的图形程序库,可大大加强图形程序的与设备无关性和可移植性

ACM(AssociationforComputingMachinery,美国计算机协会)的SIGGRAPH(SpecialInterestGrouponComputerGraphics,计算机图形工作组)提出了CORE图形系统(CoreGraphicsSystem,核心图形系统)国际标准化组织(ISO)开发出了GKS(GraphicsKernelSystem,图形核心系统)

CORE、GKS的不足——未考虑动态显示和通用用户交互

ISO又推出PHIGS(程序员层次交互式图形系统)随后成为工作站的标准图形程序库

PHIGS后又被X窗口系统拓展为PEX(即PHIGSExtensiontoX的简称)用PEX编写的程序可在网络环境下被不同型号的工作站使用

OpenGL是近几年发展起来的性能卓越的三维图形标准已成为高性能图形和交互式视景处理的工业标准3.5坐标系计算机在处理图形信息时,几何图形的定义和图形的输入/输出都是在一定的坐标系下进行的图形在输入/输出的不同阶段需要采用不同的坐标系,以方便设计人员的理解和操作,提高图形处理效率

3.5.1设备坐标系(DeviceCoordinateSystem,DCS)用于在图形显示设备上定义图形或窗口的位置通常由沿水平方向的x轴和沿垂直方向的y轴组成,其坐标原点可以任意选择图形显示是将真实图形投影于显示屏幕上,故设备坐标系的z轴垂直于坐标系的xoy平面主要内容:设备坐标系虚拟设备坐标系世界坐标系造型坐标系观察坐标系坐标变换设备坐标系也是定义像素和位图的坐标系对于相同的图形信息,当采用设备坐标系编写图形程序时,由于坐标系的原点位置、X和Y坐标轴方向以及图形窗口的显示范围不同,在不同显示设备上显示出的图形是不同的

3.5.2

虚拟设备坐标系(

VirtualDeviceCoordinateSystem,VDCS)

避免由于设备坐标系与设备的相关性影响应用程序的可移植性,在编写图形程序时,应采用虚拟设备坐标系

虚拟设备坐标系的原点通常位于显示器的左下角,其X、Y轴的正方向分别指向右方和上方,且取值范围均为0~1

用虚拟设备坐标系定义的点,在不同的图形设备上占据相同的位置而与设备无关,编写图形程序时也不必考虑某个特定的设备坐标系XY011当图形程序在某台图形设备上运行时,图形程序将虚拟设备坐标发送给设备驱动程序,由该程序将虚拟设备坐标转换成与该设备一致的设备坐标系虚拟设备坐标系也称之为规格化的设备坐标系(normalizedDeviceCoordinateSystem,NDCS),主要用于定义视图区

3.5.3

世界坐标系、造型坐标系和观察坐标系设备坐标系和虚拟设备坐标系提供了在二维显示屏幕上定义几何图形的坐标系三维空间中定义几何形体时可采用3种坐标系:世界坐标系、造型坐标系和观察坐标系

1、世界坐标系(

WorldCoordinateSystem,WCS)用于描述现实世界的整体布局,即何种类型的对象存在于我们所描述的世界之中及其如何定位

2、造型坐标系(ModelingCoordinateSystem,MCS)用于描述世界坐标系中每个具体物体的形状,每个物体均由其自身的造型坐标系定义。当物体的空间位置发生变化时,由造型坐标系定义的物体上各点的坐标值不变。造型坐标系与世界坐标系是整体与局部的关系在许多CAD系统中,用造型坐标系定义基本图形元素,如圆柱体、球体等。这些基本图形元素被调用后,应用相关的变换矩阵将其置于世界坐标系的指定位置造型坐标系又称为局部坐标系,而世界坐标系又称为整体坐标系?“世界坐标系”、“造型坐标系”与通用绘图软件中“用户坐标系”(UCS)的区别?常见体素(底面两角点,高度)(底面中心点,半径,高度)xyz(中心,半径R2,圆管半径R)(中心,半径)(底面两角点,高度)xyz

3、观察坐标系如同将现实世界的景物投影到人的视网膜上一样,为了将三维物体投影到显示屏幕(或观察平面)上,需要建立观察坐标系(ViewCoordinateSystem,VCS)

透视投影

平行投影图中的xvyvzv坐标系即为观察坐标系

3.5.4坐标变换不同的坐标系之间通过变换矩阵建立联系每个造型坐标系的位置和方位可通过变换矩阵由世界坐标系确定

观察坐标系也可通过世界坐标系定义的一系列数据由与世界坐标系相关的变换矩阵确定,如图所示为在图形显示设备上显示和观察所构造的几何图形,通常需要进行坐标变换(三维图形):首先通过定义世界坐标系和造型坐标系之间相对移动和旋转的变换矩阵,将造型坐标系下的坐标数据变换为世界坐标系下的坐标数据,该变换称之为造型变换

其次通过用世界坐标系和观察坐标系间的变换矩阵,将图形的世界坐标变换为观察坐标,该变换称之为观察变换

然后通过投影变换将观察坐标变换为虚拟设备坐标(或规格化的设备坐标),即投影变换。

最后由设备驱动程序将虚拟设备坐标(或规格化的设备坐标)转换成设备坐标,将图形显示在特定的图形设备上坐标变换通常在图形程序库内部完成,应用图形程序编程人员仅需指明每个变换所必需的信息即可

例为造型变换定义几何形体按其分布位置所需的平移或旋转量为投影变换定义投影类型、投影中心位置以及投影屏幕(或投影表面)等

然而,在图形程序的底层,还需要编程人员为所有这些变换编写相关代码3.6窗口与视区“窗口”和“视区”是计算机图形处理中常用的图形处理技术,通过窗口操作可将窗口中选定的图形输出到视区中,供用户观察和进行各种操作

3.6.1窗口工程设计中,为详细表达图形的某一部分,而将该部分单独放大画出,即所谓的局部视图

计算机图形学中,采用窗口技术可将指定的局部图形从整体中分离出来,并显示于视区之中,即通过窗口操作观察感兴趣的图形部分窗口技术应用的典型示例是在各种CAD系统中经常用到的框选放大操作主要内容:窗口视区窗口-视区变换例:人坐在房间里通过窗户观察外面的世界,此时所能看到的只是无限世界的一小部分,其余均被窗户周围的墙壁所遮挡。在这里,窗户就是一个窗口窗口是在世界坐标系中定义的、确定显示内容的一个矩形区域只有在这个区域内的图形才能在设备坐标系下显示输出,而窗口外的部分则被裁剪掉窗口的大小与位置通过矩形左下角和右上角的坐标来定义

3.6.2

视区

视区是在设备坐标系(通常为显示器的显示屏幕)中定义的一个用于输出窗口中的图形的矩形区域,决定了窗口中的图形要显示于屏幕上的位置和大小任何小于或等于屏幕域的区域都可以称之为视区在同一屏幕上可定义多个视区,以显示不同的图形信息或用作各种交互处理的功能选项及信息提示处理也可将视区再划分成多个子视区,用于表示零件的不同投影显示,并在需要时进行主、子视区的状态转换,如图5-8所示3.6.3

窗口-视区变换窗口和视区是在不同的坐标系下定义的要将窗口中的图形信息传送到视区来输出显示,须把世界坐标系中定义的坐标值转化为设备坐标系下的坐标值——窗口-视区变换假设世界坐标系下窗口大小为:设备坐标系下视区大小为:设(,),(,),(,)分别为某点在世界坐标系、屏幕坐标系、设备坐标系下的坐标值W-worldV-viewingscreenP-plantt-topb-bottoml-leftr-right坐标变换公式如下:比例因子宽:高:求Xv:求Yv:一般由用户定义的图形从窗口区到视区的输出过程:为保证经过窗口一视区变换后的图形在视区中不产生出失真现象,在定义窗口和视区时要求窗口和视区的高度与宽度之间的比例相同用户在开辟某些子窗口时是任意的,一些CAD应用软件常采用一种变通的方法,即根据用户所开子窗口的大小,视需要以某个方向上的比例(高度或宽度)为默认比例,另一方向自动采用与此相同的比例,以保证图形的正常显示3.7图形的裁剪与消隐图形的裁剪:为了得到所需要的局部图形消隐:用于实现三维图形的真实感显示以及消除图形显示的二义性3.7.1

图形的裁剪

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论