图形学第六章

合集下载

计算机图形学第6章(2)概述

计算机图形学第6章(2)概述
e=1/3,j=1/2,求变换后的长方形体各点坐标。
z 2 E F 2 B x A C x 3 G D y 1 H z 1 1 y
其矩阵计算形式如下:
计算机图形学
0 2 2 0 0 2 2 0 0 0 1 0 0 1 3 0 1 1 / 2 0 3 0 1 0 1 / 3 0 2 1 0 0 0 2 1 0 0 3 2 1 3 2 1 0 1 0 0 1 0 0 0 1/ 2 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1
0 0 0 1
O
z
B''(0,b,c)
y
计算机图形学
绕任意轴的三维旋转变换
(3) 将OB '绕y轴顺时针旋转β角,则OB '旋转到z轴
上;
cos( ) 0 TRy sin( ) 0
0 sin( ) 1 0 0 cos( ) 0 0
计算机图形学
4.
对称变换
1 0 TFxy 0 0 0 0 1 0 0 1 0 0 0 0 0 1
(1)关于坐标平面对称
关于xoy平面进行对称变换的
矩阵计算形式为:
p' x' y' z ' 1 p TF xy [ x y z 1]
计算机图形学
(1)绕z轴旋转
cos sin 0 0 sin cos 0 0 0 0 1 0 0 0 0 1
z
TRZ
y X
p' x' y' z' 1 p TRt [ x cos y sin x sin y cos z 1]

计算机图形学(第六章真实感图形的显示)

计算机图形学(第六章真实感图形的显示)
• 当小区间存在两个或两个以上的多边形,如图 中的[f,g],必须通过深度测试判断哪个多边形 是可见的,再显示此多边形的颜色。
如果允许物体表面相互贯穿,那么还必须求出它们在xoz 扫描平面上的交点,再进一步细分这些小区间。更进一步 作深度判断哪个多边形是可见的。
6.2.5 Warnock算法
• 这是一种分而治的算法,既适合于消去隐藏线又 适合于隐藏面,其基本思想如下:
第6章 三维真实感物体显示技术
基本几何模型到真实感图形的绘制
引 言
• 计算机图形学中真实感绘制 包括两部分内容:物体的精 确表示和场景中光照效果的 逼真的物理描述。为可见物 体的颜色和光照效果建立模 型是一个非常复杂的过程,因为光照模型包含许 多因素,如物体类型,物体相对于光源和其他物 体的位置以及场景中所设置的光源属性等。一旦 这些因素确定了,就可以通过光照模型来计算物 体表面向空间给定方向辐射的光亮度。
视点与第i个面上一点连线方向为(li,mi,ni), 即从视点指向一点 ,判断: (ai,bi,ci)·(li,mi,ni)> 0 平面 i为自隐藏面。一般地,取视点在Z 轴负无穷远点。这时,物体将被正投影到xy 平面上。由于视线方向为(0,0,1),所 以,ci>0所对应的面,为自隐藏面。任意两 个自隐藏面的交线,为自隐藏线。
6.2.2 深度缓存算法Z-Buffer
z缓冲器算法是最简单的消除隐藏面算法之一 z缓冲器是一组存贮单元
– 其单元个数和屏幕上象素的个数相同 – 也和帧缓冲器的单元个数相同,它们之间一一 ቤተ መጻሕፍቲ ባይዱ应。
• 深度缓存数组 ZB • 颜色属性数组 CB • 本质:保留离视点 近的 • 不排序
屏幕
帧缓存
Z缓冲器

计算机图形学第六章

计算机图形学第六章

关于原点对称
28
基本几何变换——对称变换
(4)关于y=x 对称
x=y p(x,y) p'(y,x) X
关于x=y对称
0 1 0 1 0 0 0 0 1
Y
29
基本几何变换——对称变换
(5)关于y=-x 对称
x=-y
Y
0 1 0 1 0 0 0 0 1
0 cos 0
1 0 tg 1 0
0
tg 1 0
0 1
0
0 1
0
43
几何逆变换
所有的几何变换都有逆变换,所谓逆变换就是 指与原变换操作相反的操作过程。
平移变换的逆变换:反方向平移
旋转变换的逆变换:反方向旋转
缩放变换(sx,sy)逆变换:缩放变换(1/sx,1/sy) 镜面反射变换的逆变换与原变换一样
37
二维图形几何变换的计算
3. 多边形的变换
x x x ... x' n
' 1 ' 2 ' 3
y y y y
' 1 ' 2 ' 3
...
' n
1 x1 1 x2 1 x3 ... ... 1 xn
y1 y2 y3 ... yn
R R(1 ) R( 2 ) R(1 2 )
42
复合变换
cos sin 0 cos R sin cos 0 0 0 1 0 0 1 tg 0 cos 0 tg 1 0 0 cos 0 0 0 1 0
到另一个坐标位置的重定位过程。
Y

计算机图形学第六章三维变换与投影.ppt

计算机图形学第六章三维变换与投影.ppt

1 0
0 0 1 0
Tx Ty Tz 1
Tx,Ty,Tz是平移参数。
P’
(6-3)
6.2.2 比例变换
比例变换的坐标表示为:
x'
y'
xSx yS y
z' zS z
因此,三维比例变换矩阵为:
Sx 0 0 0
T
0
Sy
0
0
0
0
0 0
Sz 0
0 1
Sx,Sy,Sz是比例系数
A’ A
(6-4)
6.2.3 旋转变换
三维基本几何变换是指将 P(x, y点, z) 从一个坐标 位置变换到另一个坐标位置 P'(的x, y过, z'程) 。三维基 本几何变换和二维基本几何变换一样是相对于坐 标原点和坐标轴进行的几何变换,包括平移、比 例、旋转、反射和错切5种变换。因为三维变换 矩阵的推导过程和二维变换矩阵的推导过程类似, 这里只给出结论。
关于y轴反射变换的坐标表示为:
xy''
x y
z' z
因此,关于y轴的三维反射变换矩阵为:
1 0 0 0
T
0
1
0
0
0 0 1 0
0
0
0
1
(6-9)
3、关于z轴的反射
关于z轴反射变换的坐标表示为:
x' y'
x y
z' z
因此,关于z轴的三维反射变换矩阵为:
1 0 0 0
T
0
1 0 0
0 0 1 0
(6-7)
6.2.4 反射变换
三维反射可以分为:关于坐标轴的反射和 关于坐标平面的反射两类。

计算机图形学-第六章讲义

计算机图形学-第六章讲义
计算机图形学-第六章讲义
DC与NC之间的关系 ➢ 对每一个物理设备而言,DC与NC仅仅 是坐标值相差一个比例因子 ➢ NC可以看成是一个抽象的图形设备, 要输出到具体的设备时,只需乘上一个 比例因子即可
计算机图形学-第六章讲义
6.1 2D 观察变换
考察一个图形时,往往采用两种模型:
➢ 物理模型:是用户在WC中描述的 ➢ 逻辑模型:是在显示器上呈现的物体的图形,
计算机图形学-第六章讲义
线段的裁剪
Cohen-Sutherland直线裁剪(CS算法) Liang-Barsky 直线裁剪(LB算法) Nicholl-Lee-Nicholl 直线裁剪(NLN算法) 非矩形裁剪窗口
计算机图形学-第六章讲义
Cohen-Sutherland 线段裁剪
思想:
视口: 显示设备上用于窗口映射的坐标 区域,也叫视区。
观察变换:世界坐标系中部分场景映射到 设备坐标系的过程称为观察变换,也叫视 像变换,或称为从窗口到视口的变换。
计算机图形学-第六章讲义
2D 的观察流程
MC 使用建模坐标变换 WC 将世界坐标转
构造世界坐标场景
换为观察坐标
VC
DC 将规范化视口 NVC 使用窗口-视区描述
计算机图形学-第六章讲义
坐标系
1. 世界坐标系(World Coordinates) 用户处理自己的图形时所采用的坐标系,坐标的 大小和尺寸由用户确定。
2. 设备坐标系(Device Coordinates) 与一个图形设备相关的坐标系叫设备坐标系。如 显示器或打印机有它们自己的坐标系。
3. 规格化坐标系(Normal Device Coordinates) 它是独立于具体物理设备的一种坐标系,具有显 示空间在X和Y方向上都是从0到1

计算机图形学实用教程第6章 三维实体造型

计算机图形学实用教程第6章 三维实体造型

边相邻性 e:{e:}
拓扑信息
描述实体的信息(3/3)
刚体运动
不改变图形上任意两点间的距离 也不改变图形的几何性质的运动
拓扑运动
允许形体作弹性运动,即在拓扑关系中,对图形
可随意伸张扭曲。
但图上各点仍为不同的点,不允许把不同的点合
并成一个点。

表示实体的基本几何元素
顶点(Vertex)零维几何元素。在齐次坐标系下,n维
本章内容
6.1多面体模型和曲面模型
6.2线框模型、表面模型和实体模型
6.3实体几何造型系统的发展
6.4实体的定义与运算
6.5实体的表示方法
20
描述实体的信息(1/3)
几何信息(Geometry)
形体在欧氏空间中的位置和大小 描述形体的几何元素(顶点、边、面) 形成物体边界表示的“骨架”
快?
18
实体几何造型系统的发展
20世纪60年代初期 20世纪70年代初期 计算机内提供物体的完整几何定义,可随时提取所需信息 支持CAD/CAM过程的各个方面,如计算机绘图、应力分析、 数控加工等,为CAD/CAM一体化提供了可能性 用多面体表示形体,不支持精确的曲面表示 20世纪80年代初期 精确的二次曲面方法表示形体 20世纪80年代末 NURBS曲面表示方法 20世纪90年代以后 开始支持线框、曲面、实体统一表示的非正则形体的造型19
的方向与表面外法向一致 此法还可检查形体的拓扑一致性,拓扑合法的形体在相邻两个面 的公共边界上,棱边的方向正好相反
包含描述实体所需的较多信息,如几何信息、拓扑信息,表示完整
无歧义,适合用集合运算构造形体和有限元分析。实现所有的 CAD/CAM任务,保证CAD/CAM的自动化。

计算机图形学第6章-人机交互绘图技术

计算机图形学第6章-人机交互绘图技术

整理ppt
3
1. 定位设备(Locator)
用于指定用户空间的一个位置(如指定一个圆的圆心等) 输入方式包括直接或间接在屏幕上输入,设置数值坐标等
触摸板
整理ppt
键盘
4
2. 笔画设备(Stroke)
用于指定用户空间中一组有序点的位置(如指定一条折 线的顶点组、指定一条自由曲线的控制点等) 输入方式与定位设备的输入方式一致。 物理设备
整理ppt
8
6.字符串设备(String)
用于向应用程序输入字符串(如为某对象确定名字、 为某图纸输入加注文字等) 输入方式:
➢ 键盘输入 ➢ 手写输入 ➢ 声音输入 ➢ 菜单输入
物理设备
➢ 字母键盘、数字化仪、光笔、声音 识别仪、触压板等
整理ppt
9
基本交互任务
1. 定位 2. 笔画 3. 定值 4. 选择 5. 拾取 6. 字符串
➢语音输入需要使用语音识别技术。
手写板 语音输入
整理ppt
18
基本交互模式
现在最常用的三种基本交互模式
•请求模式(request mode) •样本模式(sample mode) •事件模式(event mode)
现代的计算机图形输入系统往往不是单一地使用一种输入 方式,而是多种输入方式的混合使用,即一个应用程序可以 使用多种控制方式,使用几种不同的输入设备。
物理设备
➢包括光笔、触摸屏、数字化仪、鼠标、操纵杆、跟踪球,
字符串输入设备、编程功整能理pp键t 、声音识别仪等。
7
5.拾取设备(Pick)
用于在处理的模型中选取一个对象,从而为应用型操作确 定目标
输入方式:
➢ 直接在屏幕上选取 ➢ 时间扫描 ➢ 字符串选取
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第六章 图形用户接口与交互技术 计算机图形学的一个重要组成部分是用户接口和人机交互技术。图形用户接口是人机对话的界面,来自用户的所有命令均通过用户接口传递给应用系统。反之,应用系统的运行结果亦通过用户接口传递给用户。用户接口设计的成功与否,关系到软件系统是否易用好学,它对用户的工作效率影响很大,是软件产品能否实用化、商品化、产业化的最为重要的因素之一。较流行的图形用户接口有X窗口系统(MIT)、Windows(Microsoft)、Machintosh(Apple)、OpenLook和Motif(SGI),它们广泛应用于文字处理、报刊系统、数据库、文件管理系统、演示系统、页面布局系统、CAD/CAM系统等各种应用之中。

6.1 用户接口 在计算机软件中,用户接口是用户与系统之间进行信息交换的界面。面向应用的接口一般有三种形式:子程序包、专用语言和交互命令。

6.1.1 子程序包 这是最早的用户接口,其基本思想是选择一种合适的高级语言,如C,Fortran,C++ 等作为主语言,用其扩展一系列的过程调用,以实现有关的设计分析和图形处理功能。在此情况下,用户程序包括两部分,其一是主语言语句,其二是扩展的过程调用语句。这类子程序包常见的有GKS-3D,PHIGS和PHIGS+,Open GL程序包等。 子程序包按其功能分为设计分析和图形处理两类,每一类中又分为若干子模式。图形处理子程序包至少包括设备管理、图形生成、图形变换、属性管理、图组管理等。用户使用子程序包的过程一般是:

编写源程序 编译 装配连接 运行结果输出 (含主语言语句及 有错 调用子程序语句) 修改源程序

子程序包形式的用户接口使用方便、开放性好、便于用户自己编写的源程序嵌入到子程序包中,并可充分利用高级语言本身具有的功能。但是,每一个作业需编写较长的源代码,修改麻烦。此外,子程序包的格式要求随所用语言而定,对子程序包的使用需遵循相应主语言对子程序包的调用规定。 第六章 图形用户接口与交互技术 93 6.1.2 专用语言

专用语言形式的用户接口其功能类似于子程序包,但其形式与子程序包大不一样。常见形式之一是解释执行,即扫描专用语言的每一条语句,解释执行之;另一种是用户编写的专用语言语句,即为一段应用程序,经编译、装配连接后生成可执行的目标代码,这种情况类似于高级语言编写的程序。 解释执行的专用语言通常把输入的一行语句放在行缓存中,当接收到行结束符(如回车键)后,该语言的编译器就对行缓存中的内容进行解释,首先拼关键字,如Color,Line等,检查关键字是否正确。若关键字无错,就散转到相应的关键字去拼参数,检查参数的正确性,主要检查参数的个数和数据类型。如参数无错,即可调用相应语句的处理程序产生数据或图形。 编译型比解释执行的专用语言复杂一些,这时的编译器基本做三件事,即词法分析、语法分析和生成数据表格。词法分析的任务是对构成源程序的字符串从左到右地进行扫描,分解、识别出组成语句的一个个单词,它们包括关键字、标识符、常数和界符。词法分析的输出要求一般是:对关键字给出其类别编码,并不给出它自身的值,把标识符自身的值表示成按机器字节划分的内部码;常数自身的值表示成标准的二进制形式,不再是字符串的形式;对于起分隔单词作用的界符,一般多个等于一个,它的输出只要求给出是或者不是某种界符的判断值。语法分析的任务是根据语法规则,检查词法分析所提供的单词串是否构成一个语法上正确的句子。只有对语法上正确的句子,再执行时才产生相应的数据。 目前,国内外还没有一种功能很强的图形专用语言,因为这类语言的开发远比开发一个高级程序设计语言复杂,其功能既要包括高级语言的功能,还需要有面向应用的专门语句。

6.1.3 交互命令 交互反映了人与计算机系统之间传递信息的形式,子程序包中每个子程序的功能以及专用语言中的有关语句都是按照命令方式提供用户使用。交互式用户接口则是基于用户模型,实现用户所要求的各种操作。 交互式用户接口是用户与计算机系统之间的界面,它负责接收用户向系统输入的操作命令及参数,经检查无误后,调用相应的应用程序模块执行之,执行结果再以一定的形式通知用户。

6.2 用户接口的设计 用户接口的设计对整个软件开发的成败影响很大。在一个交互式系统中,用户接口的设计占整个系统开发30%~50%的工作量,且它的性能往往最不容易预测,因此研究用户接口的有关理论和技术,开发各种用户接口开发工具,已成为计算机科学中一个极94 计算机图形学基础 为重要的研究领域。 早期的用户接口与应用程序相互渗透、嵌套、溶为一体,因而极大地依赖于应用程序。二十世纪八十年代初期,把用户接口从应用程序中独立出来,提出了用户接口管理系统(UIMS)的概念,并逐渐发展成相应的一个学科。以美国Xerox公司的Star工作站和Apple公司的Macintosh个人机为代表的系统,以高分辨率光栅显示器和鼠标为基础,采用多窗口显示、弹出式菜单、对话框、图标等一系列技术使用户接口的设计达到了一个新的水平。现今流行的X-窗口系统、Windows系统、Motif等都以上述技术为基础。

6.2.1 用户模型 用户模型是用户接口设计的基础,它说明所设计的系统能做什么,应具备什么样的图形操作,指明能显示的对象类型以及如何管理对象。用户模型是提供给用户的有关他所能处理的对象以及作用于这些对象上的处理过程的一个概念模型。借助于这个模型,用户可以了解系统中可以处理哪些对象,对象间相互关系是什么,每一个对象能进行哪些处理,不能进行哪些处理等等。这样,用户即使对计算机只有很少的知识,借助于用户模型,也能逐步深入地了解程序正在做什么,并预计每一操作的效果,从而根据各自的应用需求,设计出有效的操作使用方案。 例如,一个建筑设计系统,其用户模型要说明如何指定窗、门、墙及其他大楼成分,从而构造和显示大楼的视图。再比如一个设备布局系统,其用户模型要说明可处理的对象是桌子、椅子等等,具备的操作是在一定范围内移动等等。 用户模型是系统开发过程中,通过任务分析和需求说明而产生的,它必须尽量使用用户熟悉的概念,少用或者不用计算机本身的概念。用户模型应简单、明确,最好采用形式化方式进行表示,以便用户对系统功能有全面、完整而正确的理解。

6.2.2 命令语言 命令语言给出了操作人员在机器上实现用户模型中各项处理功能的具体操作使用方法,它既是用户模型中所有处理功能的具体体现,也是用户使用系统时的行为依据和操作规范。 命令语言的一般形式是: 命令,对象{,参数或约束条件}

1. 命令语言的语义设计 命令语言的语义设计必须与用户模型一致。由于用户模型中各种对象往往只能进行各自规定的一组操作,各种操作也只能适用于一定类型的对象。因此,命令语言按对象类型和动作类型分成若干组,各自在不同的状态下才能有效使用。这种不同的程序状态称为“模式”。区分若干不同的模式对于用户接口的设计和用户的使用有一定的好处,但命令语言的模式越多,用户的负担越重,操作也容易出错,还会导致工作效率降低。 2. 命令语言的句法设计 第六章 图形用户接口与交互技术 95 在设计命令语言的句法时,应考虑用户的习惯,并与相关软件(系统软件)有大致相同的风格,以减少用户的记忆负担。 3. 命令语言的词法设计 命令语言的词法设计必须依据系统所能提供的输入设备来进行,尽量为用户提供多种方法供选择。例如,为输入一条命令,可以由键盘输入命令名称,也可以使用某一功能键,还可以通过鼠标选择菜单中的命令项,以便适合不同用户的需求。 4. 命令语言的形式 命令语言的形式主要有两大类,其一是键盘输入,这要求用户记住各种命令的组成及其正确的输入格式,但工作效率高,适合熟练用户;另一种是菜单提示式,用户无需记忆,只要进行正确的选择,适合于不熟练的用户,缺点是工作效率低。

6.2.3 输入反馈 交互系统中,程序对用户的任何输入原则上都必须产生一定的反馈。反馈的目的是为了消除用户操作过程中对他的动作所起作用的不确定感,为用户提供一个形象的“可见”接口,以便用户更有效地进行交互操作。按反馈的性质,可以分为三级反馈。 1. 输入动作级的反馈 例如在键盘上击键后,屏幕上便出现该键所对应的字符;移动鼠标或数字化仪游标,屏幕上的光标位置跟着移动;选择菜单,对应的菜单项反白等等。这一级反馈称之为输入操作的回显(echo),它能反映出输入设备的操作有效性。 2. 单词级的反馈 例如,命令名输入后,提示用户继续输入所需参数;选择某一菜单后,又出现一子菜单供用户继续选择。这些单词级的反馈,既告诉用户已输入单词的有效性,又及时通知用户该项命令需要继续输入其他单词,并指出其类型、性质和有效范围。 3. 命令级的反馈 这是来自命令解释器的反馈,告知用户命令是否已被接收,执行到什么阶段,是否产生了出错情况等等。 上述三种不同级别的输入反馈必须精心设计,并予以灵活的控制。甚至输入反馈的出现与否、反馈的方式与风格等,还可由用户根据自己的爱好与习惯进行设置和选择。

6.2.4 信息显示 在程序的执行过程中,无论是命令输入反馈,还是命令执行结果的输出,都需要显示信息,有时甚至会有大量的信息需要显示。信息的显示必须符合用户习惯,便于用户正确理解和接受,并尽量减少用户操作过程中的疲劳感,增强作业过程中的乐趣。 在用户接口中进行信息显示时,需要考虑以下几个问题: 1. 有组织地进行信息显示。这需要对屏幕布局进行精心安排,例如菜单区、提示区、出错信息区、应用程序显示区等的划分和安排。由于屏幕信息容量有限,因此可使用多窗口显示、弹出菜单、滚行和移屏、缩放等技术组织信息显示。

相关文档
最新文档