PowerPoint 演示文稿

Download Report

Transcript PowerPoint 演示文稿

第十讲三维交互技术
环境信息可视化
上一节课内容回顾
第九讲 矢量场可视化
•
•
•
•
•
•
•
•
概述
数据空间及转换
基本点图标
矢量场线和面的生成
质点跟踪
矢量场拓扑
VTK中矢量场可视化
EVS中矢量场可视化
第十讲三维交互技术
环境信息可视化
9.1 概
述
可视化过程可以分成三个阶段,即数据处理、可视化映射和绘
制。
与标量场相比,矢量场的最大不同点在于每一物理量不仅具有
大小而且具有方向,这种方向性的可视化要求决定了它与标量场
完全不同的可视化映射方法。
可视化映射主要是为数据设计一种能充分表达相关信息的表
示方法,这种具体的表示被称为图标(Icon).具体地讲,映射中
的图标被定义为一几何对象,映射的过程就是一个根据给定点的
数据,通过改变图标的几何特点,如长度、角度等,或改变其属
性,如颜色、不透明度等,对给定点进行编码的过程.
环境信息可视化
第十讲三维交互技术
对于标量场,许多图形学中现有的技术都能直接应用.主要
是因为标量数据可直接映射到许多现有的图形参数上,如温度场
可直接映射到物体颜色上,显示出连续的温度场变化.
而对于矢量场,可直接应用的技术就相对少多了.虽然可以
用箭头对矢量场进行映射,但结果往往不理想,过多的箭头往往
导致图像杂乱无章,无法表示矢量场的连续变化.问题的实质并
不在于矢量场的大小,而在于缺少行之有效的矢量映射方法.对
于张量场,问题就更突出了.因而与目前标量场的研究方向不同,
矢量场的研究主要是集中于矢量的映射表示上,希望寻找一种既
能反映矢量大小方向又不易引起混乱的映射图标,具体包括进行
逐点映射的基础图标和通过特征抽取表示矢量场整体信息的局部
图标和全局图标.
局部图标和全局图标是在不牺牲数据基本特征的前提下抽取
数据特征的拓扑结构,它减少了数据集所包含的信息量,保留了
局部和全局的关键特征,被认为是目前矢量场和张量场可视化中
一个可行的方法。
环境信息可视化
第十讲三维交互技术
9.1.1 矢量场可视化
图标及其相关属性是映射讨论的主要问题.根据所表示的数
据属性,图标分成基本图标、局部图标和全局图标三大类.基本
图标是一种典型的逐点模拟矢量场的技术,而局部图标和全局图
标是一种更抽象的表示.图9.1总结了现有矢量场中的图标映射
技术.
图9.1 矢量场图标
环境信息可视化
9.2
第十讲三维交互技术
数据空间及转换
尽管矢量场或张量场数据既能来自于实验也能来自于计算,
但就目前可视化的研究现状而言,可视化主要还是作为计算仿真
的视觉再现,也就是说,其数据主要还是来源于计算.因此,有
必要从计算角度出发讨论数据空间以及对可视化技术的影响,特
别是在矢量场中.
从计算仿真到图像显示,整个可视化过程涉及到三个数据空
间,即物理空间、计算空间和图形空间.
•
物理空间(P空间):是现实世界对象的存在空间,一般也
是物理方程直接定义的空间.对其中对象进行网格化离散处理
后,通常其网格是曲线网格,网格与具体对象边界一致,物理
量可以在网格点上直接计算.
•
计算空间(C空间):是为了简化数值计算的需要而提出的
空间,其中的网格通常是正交网格。正是由于其网格简单,物
理方程在计算空间就更易迭代求解.P空间与C空间之间的网格
单元是相互对应的,通过转换两个空间是相互等价的.
环境信息可视化
第十讲三维交互技术
•图形空间(G空间):是进行可视化图形处理的空间,经过映射,
数据场被转换成图形空间中的几何表示.G空间的几何表示有曲
面、实体、层次等表示形式,通过各种造型手段,G空间所要表
示的就是现实世界的物理对象,与P空间是同一对象.而P空间
网格离散化一般已拥有较高的精度,没有必要为了图形绘制再
对P空间中的对象重新离散化.从可视化映射的角度出发,要重
构必然要对物理量进行再采样。结果往往会导致欠采样或过采
样,从而使可视化结果的精度降低,所以G空间中的对象一般就
直接采用了尸空间中的表示形式,两者是一致的.当然最终G空
间被表示成象素,即可视化结果图像.
这些不同的空间之间是可以相互转换的,围绕着同一物理实体,其
表示能在不同的空间之间进行转换.由于一般G空间与P空间一致,
因而这种转换主要是讨论P空间与C空间之间的转换(见图9.5)
环境信息可视化
图9.5 物理空间与计算空间的相互转换
第十讲三维交互技术
环境信息可视化
第十讲三维交互技术
9.3
基本点图标
矢量场的基本点图标是最简单的映射图标,其中最常见用得
最多的是箭头,其它还有锥体、有向线段等多种表示,所有这些
点图标也被称作刺状体(hedgehog).
9.3.1 箭头
二维中的箭头可直接由线段组成,尽管简单,但对于表示二
维矢量场仍不失为一种有效的表示,一般要求,按大小放大后的
箭头不要相互覆盖,这样一幅二维矢量场图还是清晰的.
对于三维矢量场,箭头的绘制就要复杂多了.在没有有向光
反射、光照模型等提供三维深度信息时只有通过透视变换才是唯
一方法,因而三维线箭头在方向性的解释上往往会出现模糊,观
察者很难从图9.7中区分哪一解释是正确的.
环境信息可视化
第十讲三维交互技术
9.4 矢量场线和面的生成
9.4.1 矢量线的生长算法
在许多研究上,经常用场线来提高对矢量场数值解的理
解.所谓场线,是一条虚拟曲线,其上任一点的方向与矢量场在
该点的方向一致.场线在流体速度场中称为流线,在电场中称为
电力线等等。
考虑一个三维矢量场,P是其中一点,其位置为r.通过P的场
线是一条空间曲线,r作为t的函数,t可以是时间、弧长等多种参
量.
按定义场线为(见因9.12)
求解该方程,能构造出
某一瞬时的一条场线
图9.12 场线定义
环境信息可视化
第十讲三维交互技术
8.4.2 流函数构造矢量线
为了解决场线生长模型的误差,提高场线的精度,Kenwright
提出了一高精度的求连续场线的方法.该方法以流场为基础,将
一单元内离散定义的流体转换成由二个三维流函数表示的流体,
流线就是该两流函数的交线.跟踪每一组流函数的一个常数解就
能生成一条流线.这一跟踪过程是质量守恒的,无需按步长积分,
避免了效值积分导致的误差.
图9.14 流面和流线
环境信息可视化
第十讲三维交互技术
8.4.3 矢量面的生长算法
在二维场景中,场线技术对于给出矢量场的走势是很有效的,
对于矢量场的大小也能给出间接的解释,这时因为场线间的距离
与矢量场的大小是成反比的.
但是在三维场景中,场线技术就不如在二维场景中那么有效
了.主要是需要深度信息来确定场线的空间位置,但场线往往较
细,如果直接计算光照强度,效果并不十分理想.因此,
Hultquist提出若干条场线插值连接生成矢量面的构造技术,在流
场中被称
为流面(stream surface).若只使用两条相邻场线,生成的面被
称为流带(stream ribbon).
环境信息可视化
第十讲三维交互技术
9.5.1 基本质点跟踪
9.5 质点跟踪
质点跟踪技术来源于流场的实验,在流场中将烟雾、
染料等注入流场,观察其运动轨迹的分布,以了解流场
的内部结构.该技术被广泛地应用于流场实验.质点跟
踪技术是数值矢量场中的模拟技术,质点被认为是一点
状发光的运动质点,质点轨迹是一条曲线,是由该质点
在矢量场中一系列连续的位置组成.
质点的运动方程是:
环境信息可视化
9.6
第十讲三维交互技术
矢量场拓扑
矢量线和矢量面的构造都存在着一个问题,即初始点位置的
选择,准确的选择对于了解矢量场内部结构是非常重要的.但这
种选择却是一件非常困难的事情,尤其是在不知道矢量场内部结
构的前提下.
从1987年起由Helman和Hesselink开始的流体拓扑结构的分析
和可视化研究为矢量场的可视化提供了一种从全局了解矢量场结
构的新技术,它是一种全局图标的构造和映射方法.该技术可以
从流场扩展到其它矢量场中,如涡流场、压强梯度场等.
矢量场的分析和可视化由以下几步组成:
1)临界点位置的计算;
2)对临界点进行分类;
3)计算积分曲线或曲面.
环境信息可视化
第十讲三维交互技术
9.6.1 临界点及其分类
临界点是矢量三个成分同时为零的点.在矩形网格中其准确
位置可以由插值计算出来.如果是曲线网络,临界点的位置可以
通过递归分割网格单元计算出来,或通过Newton下降法等数值方
法计算出来.
由于在临界点速度矢量值为零,即V=0,因此临界点附近的
V
V
V  i
矢量场完全由偏导
所决定.临界点就是根据
的
x j
特征值和特征向量决定分类。
求解在临界点位置矢量的Jacobian矩阵:
环境信息可视化
1
图9.25 二维临界点分类表
第十讲三维交互技术
环境信息可视化
VTK中矢量场可视化
(1) 矢量场的流线表示 vtkStreamLine
sl = vtkStreamLine()
sl.SetIntegrator(integ)
设置积分函数
sl.SetInput(aPolyDataV)
设置矢量数据
sl.SetSource(seeds.GetOutput()) 设置流线种子点
sl.SetMaximumPropagationTime(1000.0)
sl.SetIntegrationStepLength(0.1)
sl.SetIntegrationDirectionToIntegrateBothDirections()
sl.SpeedScalarsOn()
sl.SetStepLength(0.1)
•生成线段vtkLineSource
seeds = vtkLineSource()
seeds.SetPoint1(1430, 14200.0, 25000.0)
seeds.SetPoint2(1430, 8200.0, 25000.0)
seeds.SetResolution(30)
•积分函数vtkRungeKutta4
integ = vtkRungeKutta4()
第十讲三维交互技术
环境信息可视化
(2) 矢量场的流点表示 vtkStreamPoints
sl = vtkStreamPoints()
流点生成对象
integ = vtkRungeKutta4()
sl.SetInput(pl3d.GetOutput())
sl.SetSource(rake.GetOutput())
设置矢量数据
sl.SetIntegrator(integ)
sl.SetMaximumPropagationTime(0.1)
sl.SetIntegrationStepLength(0.1)
sl.SetIntegrationDirectionToBackward()
sl.SetTimeIncrement(0.001)
•cone = vtkConeSource() 流点表示类型
cone.SetResolution(8)
•cones = vtkGlyph3D()
装配对象
cones.SetInput(sl.GetOutput())
cones.SetSource(cone.GetOutput())
cones.SetScaleFactor(0.001)
cones.SetScaleModeToScaleByVector()
第十讲三维交互技术
第十讲三维交互技术
环境信息可视化
(3) 矢量场的流面表示 vtkRuledSurfaceFilter
首先生成流线,
然后用vtkRuledSurfaceFilter生成流面(两条流线生成一流面):
scalarSurface = vtkRuledSurfaceFilter()
scalarSurface.SetInput(sl.GetOutput())
scalarSurface.SetOffset(0)
scalarSurface.SetOnRatio(2)
scalarSurface.PassLinesOn()
设置流线
设置显示的第一条流面
设置不显示的流面比率
是否显示流线
第十讲三维交互技术
环境信息可视化
本节课内容
第十讲
三维交互技术
• 三维交互工具
• 三维交互算法
• 立体图绘制
• 交互视算
•VTK/MAYAVI/EVS
第十讲三维交互技术
环境信息可视化
本节课内容
第十讲
三维交互技术
• 人机交互的进展
• 三维交互工具
• 三维交互算法
• 立体图绘制
• 交互视算
•VTK/MAYAVI/EVS
环境信息可视化
第十讲三维交互技术
人机交互的进展
环境信息可视化
第十讲三维交互技术
人机交互与用户界面
• 人机交互(Human-Computer Interaction, HCI):
是研究人、计算机以及它们间相互影响的技术
• 用户界面: 是人与计算机之间传递、交换信息
的媒介和对话接口,是计算机系统的重要组成
部分
• 人机交互与用户界面是两个有着紧密联系而又
不尽相同的概念
• 人机交互强调的是技术和模型,用户界面是计
算机的关键组成部分
环境信息可视化
第十讲三维交互技术
人机交互技术与计算机始终相伴发展
• 计算机的发展历史,不仅是处理器速度、存储
器容量飞速提高的历史,也是不断改善人机交
互技术的历史。
• 人机交互技术, 如鼠标器、窗口系统、超文本、
浏览器等等,已对计算机的发展产生了了巨大
的影响,而且还将继续影响整个人类的生活。
• 人机交互技术是当前信息产业竞争的一个焦点,
世界各国都将人机交互技术作为重点研究的一
项关键技术。
第十讲三维交互技术
环境信息可视化
人机交互技术的目标
• 美国总统信息技术顾问委员会的“21世纪的信息技术
报告”中列出了新世纪四项重点发展的信息技术
人机交互和信息管理
软件
可伸缩信息基础设施
高端计算

• 研制能听、能说、能理解人类语言的计算机
• 使计算机更易于使用,操作起来更愉快,从而提高使
用者的生产率
第十讲三维交互技术
环境信息可视化
计算机的三个作用
ACM图灵奖1992年获得者、微软研究院软件总工
程师Butler Lampson在题为“二十一世纪的计
算研究”报告中指出“计算机有三个作用:
模拟;
帮助人们进行通信;
互动:与实际世界的交流”
“人们希望计算机能够看、听、讲,甚至比人做
得更好,并能够进行实时处理。”
第十讲三维交互技术
环境信息可视化
两个重要的应用趋势
• 计算机系统的拟人化
以虚拟现实为代表
• 计算机的微型化、随身化和嵌入化
以手持电脑、智能手机为代表
人机交互技术是面临这种趋势的瓶颈技术。
以人为中心、自然、高效将是新一代人机交
互的主要目标。
环境信息可视化
第十讲三维交互技术
VR & Embodied Virtuality
环境信息可视化
第十讲三维交互技术
VR & Embodied Virtuality
第十讲三维交互技术
环境信息可视化
人机交互的发展历史
• 人机交互的发展历史,是从人适应计算
机到计算机不断地适应人的发展史
• 人机交互的发展经历了几个阶段:
1. 早期的手工作业阶段
2. 作业控制语言及交互命令语言阶段
3. 图形用户界面(GUI)阶段
4. 网络用户界面的出现
5. 多通道、多媒体的智能人机交互阶段
环境信息可视化
第十讲三维交互技术
环境信息可视化
第十讲三维交互技术
最有影响的事件和成果
• 1945年美国V. Bush提出了应采用设备或技术来
帮助科学家检索、记录、分析及传输各种信息
的新思路和名为“Memex”的一种工作站构想。
• 1963年美国麻省理工学院I.Sutherland开创了计
算机图形学的新领域,而获1988年ACM图灵奖。
他还在1968年开发了头盔式立体显示器,成为
现代虚拟现实技术的重要基础。
环境信息可视化
第十讲三维交互技术
最有影响的事件和成果
» 1963年发明鼠标器的美国斯坦福研究所的
D.Engelbart,他预言鼠标器比其他输入设
备都好,并在超文本系统、导航工具方面
做了杰出的成果(Augmented Human
Intellect project ),而获1997年ACM图灵
奖。10年后鼠标器经不断改进,成为影响
当代计算机使用的最重要成果。
第十讲三维交互技术
环境信息可视化
最有影响的事件和成果
• 70年代Xerox研究中心的
Alan Kay提出了Smalltalk
面向对象程序设计等思想,
并发明了重叠式多窗口系
统。
• 1989年Tim Berners-Lee在
日内瓦的CERN用HTML
及HTTP开发了WWW网,
随后出现了各种浏览器
(网络用户界面),使互
联网飞速发展起来。
第十讲三维交互技术
环境信息可视化
最有影响的事件和成果
• 90年代美国麻省理工学院
N.Negroponte领导的媒体
实验室在新一代多通道用
户界面方面(包括语音、
手势、智能体等),做了
大量开创性的工作。
• 90年代美国Xerox公司
PARC的首席科学家Mark
Weiser首先提出“无所不
在计算(Ubiquitous
Computing)”思想 。
环境信息可视化
第十讲三维交互技术
人机交互技术的进展
1.
2.
3.
4.
5.
6.
自然、高效的多通道交互
人机交互模型和设计方法
虚拟现实和三维交互
可穿戴计算机和移动手持设备的人机交互
智能空间及智能用户界面
标准化及其它
环境信息可视化
第十讲三维交互技术
1。自然、高效的多通道交互
环境信息可视化
第十讲三维交互技术
通道与多通道交互
• 多通道交互(Multi-Modal Interaction):一种使
用多种通道与计算机通信的人机交互方式。采
用这种方式的计算机用户界面称为“多通道用
户界面”。
• 通道(Modality):源于心理学的概念,涵盖了用
户表达意图、执行动作或感知反馈信息的各种
通信方法,如言语、眼神、脸部表情、唇动、
手动、手势、头动、肢体姿势、触觉、嗅觉或
味觉等。
第十讲三维交互技术
环境信息可视化
多通道交互
• 多通道交互是近年来迅速发展的一种人机交互
技术,它既适应了“以人为中心”的自然交互
准则,也推动了互联网时代信息产业(包括移
动计算,移动通信、网络服务器等)的快速发
展。
• 多通道交互的各类通道(界面)技术中,有不
少已经实用化、产品化、商品化。其中我国科
技人员做出了不少优异的工作。
第十讲三维交互技术
环境信息可视化
手写汉字识别
• 中科院自动化所开发的“汉王笔”手写汉字识
别系统,经过近20年的研究和开发,已能识别
27000汉字,当用非草写汉字、以每分钟12个
汉字的速度书写时,识别率可达99.8%。我国
现在已约有300万手写汉字识别系统的用户。
第十讲三维交互技术
环境信息可视化
数字墨水技术
• 微软亚洲研究院多通道用户界面组发明的数字
墨水技术,采用全新易操纵的笔交互设备、高
质量的墨水绘制技术、智慧的墨迹分析技术等,
使它不仅可用作为文字识别、图形绘制的输入,
而且作为一种全新的“Ink”数据模型,使手写
笔记更易阅读、获取、组织和使用。数字墨水
技术已作为产品,结合在微软的Tablet PC 操作
系统中,产生了巨大的社会影响。它还将继续
发展,有可能成为新一代优秀的自然交互设备 。
第十讲三维交互技术
环境信息可视化
笔式交互技术
• 在笔式交互技术研究中,中国科学院软件所人
机交互技术与智能信息处理实验室在笔式交互
软件开发平台、面向教学的笔式办公套件(包
括课件制作、笔式授课、笔式数学公式计算器、
笔式简谱制作等)、面向儿童的神笔马良系统
的开发应用方面均有出色的工作,其中不少已
经实用化、产品化。
环境信息可视化
第十讲三维交互技术
基于笔的字处理 EasyEditor
第十讲三维交互技术
环境信息可视化
手写数学公式
第十讲三维交互技术
环境信息可视化
中文语音识别
• IBM/Via Voice连续中文语音识别系统经过不断
改进,已广泛应用于Office/XP的中文版等办公
软件和应用软件中,在中文语音识别领域有重
要影响。
• 中国科学院自动化所“汉语连续语音听写系统”
的特点是建立了基于决策树的上下文相关模型;
针对连续语音中声调之间的协同发音问题,建
立了相应的变调模型;建立了与识别系统配套
的自适应平台,降低35%左右音节误识率;提
出了领域自适应方法,通过较少的领域语料,
可得到较好的领域自适应模型和字典
第十讲三维交互技术
环境信息可视化
语音合成技术
• 1990年提出的基音同步叠加(PSOLA)方法使
合成语音的音色和自然度明显提高。
• 在国家支持下,汉语语音合成取得了显著进展,
多家国内研究单位都成功开发了自己的语音合
成系统。
• 1999年在国家智能计算机研究开发中心、中国
科技大学人机语音通信实验室的基础上组建的
科大讯飞公司在汉语语音合成技术领域已达到
了国际先进水平。
第十讲三维交互技术
环境信息可视化
语音 和 笔
• 上述成果表明,作为人类最重要的自然通道—
—语音和笔的交互技术,包括手写识别、数字
墨水、笔交互、语音识别、语音合成等通道技
术,近年来已有显著的进步,我国的不少成果
已具有国际先进水平,并达到了一定的产业规
模。
• 虽然语音和笔(手势)通道因其自身的特点,
在抗干扰、准确度等方面仍嫌不足,但它们在
多通道整合、领域受限应用等配合下,最有希
望成为新一代实用的自然交互技术。
环境信息可视化
第十讲三维交互技术
手语识别和合成
中国科学院计算所研制成功了基于多功能感
知的中国手语识别与合成系统,它采用数据手套
可识别大词汇量(5177个)的手语词。
该系统建立了中国手语词库。对于给定文本
句子(可由正常人话语转换而成),自动合成相应
的人体运动数据。最后用计算机人体动画技术,
将运动数据应用于虚拟人,由虚拟人完成合成的
手语运动。
它可输出大词汇量的手语词,为中国聋哑人
的教育、生活提供了有用的辅助工具,使他们用
手语与正常人的交流成为可能。
环境信息可视化
第十讲三维交互技术
视线跟踪(眼动)技术
• 视线跟踪(眼动)技术由于其可能代替键盘输
入、鼠标移动的功能,可能达到“所视即所
得”(What You Look at is What You Get),因而对
残疾人和飞行员等使用有极大的吸引力。
• 视线跟踪技术,一是研究高质量的眼动跟踪设
备,二是如何构造易于操作的用户界面。
• 眼动跟踪设备有强迫式与非强迫式、穿戴式与
非穿戴式、接触式与非接触式之分 。
• 眼动跟踪设备的精度和对用户的限制和干扰是
一对尖锐的矛盾。
第十讲三维交互技术
环境信息可视化
视线跟踪(眼动)技术
目前一类产品是采用头戴
微型摄像头的设备,它用来获
取两眼瞳孔(或角膜)中视点。
其采样率、精度高,可靠。
另一类是在PC机前
装了两个微型摄像头的设
备,精度不高,适合残疾
人操作计算机使用。
环境信息可视化
第十讲三维交互技术
“注视用户界面(Attentive User Interfaces, AUI) ”
环境信息可视化
第十讲三维交互技术
触觉通道的力反馈装置
• 新一代力反馈感应技术主要有TouchSense触觉
感应技术和G-Force Tilte动作感应技术两种。
TouchSense触觉感应技术主要用在鼠标/轨迹球
等产品中,而动作感应技术(G-Force Tilte)则主
要用在动感游戏控制器中。
• 用在非游戏的高精度触觉反馈装置中,最著名
的是由MIT人工智能实验室Massie and
Salisbury开发、美国SensAble Technologies 公
司生产的Phantom触觉反馈(6自由度)设备和
Ghost软件开发包。由于高精度,它已广泛用
于军事、医学、机器人、教学、虚拟现实等各
类应用中。
环境信息可视化
第十讲三维交互技术
触觉通道的力反馈装置
环境信息可视化
第十讲三维交互技术
生物特征识别技术
• 生物特征识别技术(Biometrics)是受到广泛关注的一
类新兴识别技术。
• 早期通过对人的指纹识别来确定人的身份,因而指
纹识别被广泛应用于安全、公安等部门。
• 随着反恐斗争的日显重要,各国正在对其他人体特
征进行广泛研究,希望尽快找到快速、准确、方便、
廉价的身份识别方法。眼睛虹膜、掌纹、笔迹、步
态、语音、人脸、DNA等的人类特征研究和开发正
引起政府、企业、研究单位的广泛注意。
环境信息可视化
第十讲三维交互技术
唇读、人脸表情识别
• 唇读、人脸表情识别是又一个人机交互技术的
热点。
• 唇读将人们说话的语音和嘴唇变化的形态结合
起来,以便更准确地获取人们表达的意图、感
情和愿望等。
• 人脸表情识别的模型和方法也在不断改进。
第十讲三维交互技术
环境信息可视化
自然语言理解
• 自然语言理解始终是自然人机交互的最重要目
标,虽然目前在语言模型、语料库、受限领域
应用等方面均有进展外,由于它的难度(自然
语言的不规范性等),自然语言理解仍是计算
机科学家和语言学家的一个长项研究目标。
环境信息可视化
第十讲三维交互技术
多通道的整合问题
• 多通道的整合问题是多通道交互的一个核心研
究内容。
• 1995年由北京大学、杭州大学、中科院软件所
承担的自然基金重点项目“多通道用户界面研
究”是当时我国最大的HCI项目,探索了多通
道用户界面的模型、设计、实现、评估和应用,
取得了重要的成果。
环境信息可视化
第十讲三维交互技术
多通道交互的标准工作
• 2002年2月W3C国际组织成立了“多通道交互”工
作小组(Multimodal Interaction Working Group),
它开发W3C新的一类支持移动设备多通道交互的
协议标准。
• 目前它已开展了五项标准的制订,并已在互联网
上发布不同阶段的正式草稿,供补充、完善。
多通道交互框架(Multimodal Interaction Framework)
多通道交互需求(Multimodal Interaction Requirements)
多通道交互用例(Multimodal Interaction Use Cases)
可扩展多通道注释语言需求(EMMA--Extensible MultiModal Annotation
language Requirements)
数字墨水需求(Ink Requirements)





环境信息可视化
第十讲三维交互技术
2。人机交互模型和设计方法
环境信息可视化
第十讲三维交互技术
人机交互模型和设计方法
• 模型在人机交互领域中十分重要,用得很多,类
型也很多。
• 一类是从系统的结构出发,讨论界面在系统中的
地位和分解,我们称它为“界面结构模型”。其
典型的例子是将界面分成三部分(表示部件、对
话控制、应用接口)的Seeheim模型。
• 另一类是从系统设计的角度来了解用户的“用户
特性模型”。它分析不同用户的特点,以提高系
统的针对性和适应性,增强界面个性化和提高效
率。其典型例子是按照用户对系统、领域的知识、
经验、技能的不同,将用户分为偶然、生疏、熟
练、专家型等四类用户。
第十讲三维交互技术
环境信息可视化
行为模型的一种
用户任务分析模型GOMS
从认知科学出发,分析用户如何和计算机互动的
“人机交互模型”,即行为模型。
GOMS(Goal, Operator, Methods, Selection rule)模型
这个模型的理论基础是认知心理学家创立的
问题解决理论 。
环境信息可视化
第十讲三维交互技术
CPM-GOMS模型
• 1996年美国卡内奇-梅隆大学的B. John 等又在
GOMS模型的基础上进一步提出了
CPM(Cognitive Perceptual Motor)-GOMS模型。
• 这是一个并行处理的多层次模型,它也称作“关
键路径方法”。CPM-GOMS模型从人的因素处
理器各个层面上提供感知、认知和运动的操作
功能,它可以在任务的要求下进行并行操作,
可以同时执行多个活动目标。
第十讲三维交互技术
环境信息可视化
以用户为中心的设计方法
• “以用户为中心的设计”(User Centred Design,
UCD)方法近年来已被国际上广泛采用。
• 用户的积极参与,对用户及其任务要求的清楚了解
• 主要特征:
• 在用户和技术之间适当分配功能
• 反复设计解决方案
• 多学科设计
• 主要设计活动:
•
•
•
•
了解并确定使用背景
确定用户和组织要求
提出设计解决方案
根据要求评价设计
环境信息可视化
第十讲三维交互技术
基于剧情的设计方法
• J. Carroll的“基于剧情的设计方法”(Scenario-Based
Design)目前在具体交互设计中被广泛使用 。
• 该方法从用户的观点详细地给出:
• 交互过程的全部角色(人、设备、数据源、系统等)
• 各种场景的假设
• 剧情的描述
• 某种形式(如用事件表来刻画用户动作、设备响应、事件叙述、事件处理、
动作结果等)的人机对话逐步分解
• 其他各种条件(如:协议,同步,例外事件等)
• 由于该方法符合人的认知过程,在较高层次上描述了
用户的意图,又便于实现,因而在大量交互系统设计
中被采用。
环境信息可视化
第十讲三维交互技术
基于知识的概念模型
• 近年来采用上下文、基于知识的概念模型逐渐
受人重视。
• 这种建模方法吸取了“以用户为中心的设计”
方法和“基于剧情的设计方法”的一些特点,
期望在更高层次上建模。
环境信息可视化
第十讲三维交互技术
3。虚拟现实和三维交互
第十讲三维交互技术
环境信息可视化
虚拟现实和三维交互设备
三维
显示
设备
三维
输入
设备
位置
跟踪
设备
立体眼镜
头盔式显示器(HMD)
双目全方位监视器(BOOM)
墙式显示屏的自动声像虚拟环境(CAVE)
三维鼠标
三维跟踪球
三维游戏杆
头动位置检测器
数据手套
数据衣服
环境信息可视化
第十讲三维交互技术
虚拟现实和三维交互设备
• 三维扫描设备:有接触式和
非接触式、手持和固定、不
同精度之分,可按不同应用
环境和精度要求来选取。为
使用方便,非接触式三维手
持激光扫描仪很受一般用户
青睐。
 触觉和力反馈装置:触觉和力反馈装置已经有大
批不同价位的产品出现在市场,成为军事、医学、
游戏等应用领域的新型交互设备。
环境信息可视化
第十讲三维交互技术
真”三维Volumetric显示器
环境信息可视化
第十讲三维交互技术
虚拟现实和三维交互设备
• 三维显示界面:多伦多大学和Alias Wavefront公
司合作研究的新三维显示界面,采用了新型的
“真”三维Volumetric显示器。它不需要戴立体眼
镜或戴上装有显示器的头盔,而是直接用肉眼看
到真三维效果。
环境信息可视化
第十讲三维交互技术
虚拟现实和三维交互设备
• 无障碍虚拟现实环境:由于数字摄像技术在价
格和精度方面的快速发展,同时由于各种识别
技术的进展,目前采用多方位、多角度、多台
数字摄像机构建的无障碍虚拟现实环境(智能
空间,Smart X),已广泛用于室内条件下的虚
拟现实系统(如;智能办公室,智能教室等)。
• 各类三维交互设备仍有相当的发展空间,尤其
是在可靠性、价格、性能等方面需不断改进。
• 非强制、无障碍、高精度、低价格是今后交互
设备的发展趋势。
环境信息可视化
第十讲三维交互技术
虚拟现实和三维交互设备
• 北京航空航天大学等六单位联合承担的“分布
式虚拟现实应用系统开发与支撑环境”是我国
第一个大型虚拟现实研究项目,取得了优异的
成果。
• 浙江大学CAD图形学国家重点实验室在CAVE
设备上,做了许多创新的研究工作。
环境信息可视化
第十讲三维交互技术
4。可穿戴计算机和
移动手持设备的人机交互
第十讲三维交互技术
环境信息可视化
可穿戴计算机
• 可穿戴计算机可广泛应用于在野外的作业。它设计的
主要问题是,如何在有限的工作空间内提供各种信息
工具的无缝集成。为了达到这个目的,系统必须通过
一种自然、非强制的方法来提供功能,以便让用户的
注意力集中在手上的任务,而不是被系统所分心。
• 在可穿戴计算机的人机交互中,应特别重视自然的多
通道界面(如语音、视线跟踪、手势等)、上下文感
知应用(如位置、环境条件、身份等传感器)、经验
的自动捕捉及访问(如采用增强现实—AR的seethrough头盔显示来交流信息)。
• 在我国,哈尔滨工业大学、重庆大学等单位已成立了
研究组织,进行可穿戴计算新技术和产品的研究开发。
环境信息可视化
第十讲三维交互技术
第十讲三维交互技术
环境信息可视化
移动手持设备的交互
• 移动手持计算设备是指具有计算功能的PDA、掌
上电脑、智能手机这类小型设备。将计算功能嵌
入手机、通信功能加入掌上电脑已成潮流。
• 移动计算环境下的人机交互的特点:

必须自然交互,自然感知。

应充分利用上下文感知的特点,自动简化信息的复杂性。

重视不同设备、不同网络、不同平台之间的无缝过度和可扩展性。
第十讲三维交互技术
环境信息可视化
移动手持设备的交互
• 北京大学人机交互和多媒
体研究室,开发了移动导
游系统TGH,对移动设备
多通道交互框架、上下文
感知的设计实现、移动互
联网上Client/Server结构
对语音和笔通道整合的处
理等进行广泛的研究,并
取得了一定的成果。
环境信息可视化
第十讲三维交互技术
5。智能空间及智能用户界面
环境信息可视化
第十讲三维交互技术
智能空间及智能用户界面
• 智能空间(Smart Space)是指一个嵌入了计算、
信息设备和多通道传感器的工作空间。
• 由于在智能空间里,用户能方便地访问信息和
获得计算机的服务,因而可高效地单独工作或
与他人协同工作。
环境信息可视化
第十讲三维交互技术
智能空间及智能用户界面
• 国际上已开展了许多智能空间的项目
 MIT
Intelligent Room
 Stanford
Interactive Workspace
 Georgia Tech.
Aware Home
 UIUC
Active Space
 Microsoft
EasyLiving
 IBM
Blue Space
 GMD
iLand
 清华大学
智能教室
环境信息可视化
第十讲三维交互技术
MIT Intelligent Room
环境信息可视化
第十讲三维交互技术
清华大学 智能教室
环境信息可视化
第十讲三维交互技术
智能空间及智能用户界面
• 将智能技术结合到用户界面中,而构成“智能
用户界面(Intelligent User Interface, IUI)”。
智能技术是它的核心。智能用户界面的最终目
标是使人机交互成为和人-人交互一样自然、方
便。
• 智能环境是指用户界面的宿主系统所处的环境
应该是智能的。智能环境的特点是它的隐蔽性、
自感知性、多通道性及强调物理空间的存在。
智能空间是“智能环境”的一种。
环境信息可视化
第十讲三维交互技术
智能空间及智能用户界面
• 上下文(Context)是指计算系统运行环境中的一
组状态或变量,其中的某些状态和变量可以直
接改变系统的行为,而另一些则可能引起用户
兴趣从而通过用户影响系统行为。
• 上下文感知计算是指系统自动的对上下文、上
下文变化以及上下文历史进行感知和应用,根
据它调整自身的行为。
• 上下文感知是提高计算智能性的重要途径。
环境信息可视化
第十讲三维交互技术
智能空间及智能用户界面
• Agent是一个计算性的独立系统,它具有以下特征:

具有感知外界环境的能力

具有对环境有自动采取行动的能力

具有成功(最优)地达到目的的能力

具有有关于周围环境的一部分知识
• 智能体(agents)在智能技术中具有极其重要的作用。
• SRI提出的开放智能体结构(Open Agent Architecture,
OAA)和OGI提出的AAA(adaptive agent architecture)是
当今开发多agent系统使用得比较广泛的两个通用框架。
环境信息可视化
第十讲三维交互技术
6。标准化及其它
第十讲三维交互技术
环境信息可视化
标准化及其它
• 在人机交互领域ISO已正式发布了许多的国际
标准:
ISO 10075:1991
ISO 6385:1981
ISO/IEC 10741:1995
ISO/IEC 11581:2000
ISO 13406:(1999-2001)
ISO 9241:(1992-2000)
ISO 13407:1999
......
人类工效学与心理负荷相关的术语
工作系统设计的人类工效学原则
信息技术—系统用户界面—交互对话
信息技术—系统用户界面—图标符号及功能
使用平板视觉显示器工作的人类工效学要求
使用视觉显示终端办公的人类工效学要求
以人为中心的交互系统设计过程
......
• 我们国家标准化管理委员会已经或正在制订相
应的国家标准,以便推动我国的标准化工作,
为我国经济发展服务。
第十讲三维交互技术
环境信息可视化
标准化及其它
• 在工业设计中运用可用性工程是近年来为国际
上所公认。
• 所谓“可用性”是指“某产品在特定使用背景
下,为特定用户、用于特定目的时,所具有的
有效性、效率和满意度。在ISO 9241-11可用性
指南中对如何实施“可用性”给出了原则和指
南。
第十讲三维交互技术
环境信息可视化
挑战
1。无所不在的计算
2。虚拟现实和科学计算可视化
3。图形用户界面
4。Moore定律
5。眼花缭乱的新名词
环境信息可视化
第十讲三维交互技术
1。无所不在的计算
• 无所不在的计算(Ubiquitous Computing,
UbiComp)
• 当人类对某些事物掌握得足够好的时候,这些
事物就会和我们生活不可分,我们就会慢慢不
觉得它的存在。
• 将来计算机会看不见,而计算会无所不在,不
可见的人机交互也会无所不在的。就像我们时
刻呼吸着的氧气一样,我们看不见却可以体验
到。
第十讲三维交互技术
环境信息可视化
1。无所不在的计算
• 五个”any”





access Any body
Any thing
Any-where
at Any time
via Any device
• 无所不在的计算强调把计算机嵌入到环境或日
常工具中去,而将人们的注意中心集中在任务
本身。
环境信息可视化
第十讲三维交互技术
2。虚拟现实和科学计算可视化
• 大型虚拟环境和科学可视化系统,均需构造三
维交互环境,但目前的手段还是头盔加手套,
十分不便。
• 当多人协同或远距离操作时,有相当多的问题
需要解决。
• 有实用前景的增强现实(Augmented Reality, AR)
也有许多问题(如被动观察、简单浏览、同步
配合等)要解决 。
第十讲三维交互技术
环境信息可视化
3。图形用户界面
• 图形用户界面不会被替代,而是会被增强
• 图形用户界面将在以下几方面继续发展:
从直接控制到非直接控制(smart X, agents, 前面提到的SUI)
从二维到三维视感
更准确的语音、手势识别
高质量的触觉反馈设备
更方便的界面开发工具
增强“智能代理”功能
用视频摄像来识别用户的身份、位置、眼动和姿势。
第十讲三维交互技术
环境信息可视化
4。Moore定律
• 计算机的运算速度、存储能力、以至整体计算
能力一直在按照Moore定律成倍翻新。
• 另一方面,人的认知能力(包括记忆、理解能
力)是不随时间成倍增长的。因此人和计算机
的交互就会存在严重的不平衡 。
• 人机交互技术,从本质上讲,是为了减轻人的
认知负荷,增强人类的感觉通道和动作通道的
能力。
环境信息可视化
第十讲三维交互技术
5。眼花缭乱的新名词
•
•
•
•
•
•
•
PUI(Perceptual UI,有知觉的界面)
SUI
IUI
AUI
TUI(Tangible UI,有形的界面)
Post-WIMP UI
……
第十讲三维交互技术
环境信息可视化
5。眼花缭乱的新名词
• 现在喜欢用“计算”来代替“计算机”,因而大量
的Computing出现了:
Ubiquitous(无所不在)
Pervasive(普适)
Mobile(移动)
Wearable (可穿戴)
Intelligent(智能)
Invisible(不可见)
......
环境信息可视化
第十讲三维交互技术
1. 以WIMP为代表的图形用户界面将继续使用和
发展,尤其是在办公室、家庭中广泛应用。
2.人机交互将呈现出多样化的特点。桌面和非桌
面界面、可见和不可见界面将同时共存。网络
和计算将进入家庭和生活,人们可用多种简单
的自然方式进行人机交互。
3.以不可见、可移动为特征的无所不在计算和以
三维、沉浸为特征的虚拟现实环境,将是人机
交互面临的重大挑战和研究目标。
环境信息可视化
第十讲三维交互技术
4.人机交互是一门综合学科,它的发展需要计算机
硬件、软件、网络、认知心理学、人类工效学等
多学科共同努力。
5.当前人机交互的研究热点:
• 自然、高效、无障碍的多通道交互技术;
• 新的交互设备、智能技术、交互软件和平台;
• 无缝的不同网络互联;
• 以认知科学为基础的交互模型和设计方法;
• 上下文感知的计算模型;
环境信息可视化
第十讲三维交互技术
6.以国际和国家标准为指导,采用以用户为中心
的设计方法,对产品进行设计和可用性工程评
估,是我国工业技术(包括软件产业)健康发
展的有效措施。
7.我国人机交互研究和产业已有明显的进展。我
们仍需从战略高度出发,抓住时机,增加投入,
加强各学科间、企业界与学术界间、及国际上
的更紧密合作,注意知识产权保护,大力培养
人机交互人才,开创我国HCI的新局面。
环境信息可视化
第十讲三维交互技术
由于目前的科学计算和测量产生的绝大多数数据是三维的,为了真
实地反映三维空间的数据分布,三维交互技术成了可视化当中一个
重要的研究内容.目前在可视化中的三维交互技术包含
1)采用各种硬件(各种三维设备)及软件方法实现比传统意义上
更先进的人机交互;
2)采用立体图形的显示及绘制方法使用户能观察到具有真正立
体深度的图形;
3)采用可视语言的方法使用户能够在可视软件平台上实现方便
的编程及作业;
4)采用交互视算技术控制数据的产生过程等.
采用这些手段的目的是为了使更多非计算机专业的用户都能迅
速适应可视化环境,使可视化系统和软件成为他们的得力助手.
环境信息可视化
第十讲三维交互技术
近年来,三维计算机图形绘制技术和三维人机交互技术得到了越来
越广泛的发展和应用.对于一个完整的图形系统来说,交互性能的
好坏直接影响了整个图形系统性能的优劣.鉴于人体知觉及物理设
备等各方面的原因,实现三维交互技术比起二维交互技术来说要困
难得多.
目前,主要通过两种手段实现三维图形交互:
1)物理设备上的交互,使用三维的输入和输出设备,这是一种
纯硬件的交互方法;
2)利用现有的二维交互设备进行三维交互设备的仿真,这是一
种通过软件实现的交互方法.
环境信息可视化
第十讲三维交互技术
真正的三维交互设备,例如三维游戏操纵杆,三维跟踪球和数据
手套等在国外已经得到了较为广泛的应用.由于这些设备提供了真
正的三维交互手段,可以预见,在不久的将来它们将成为可视化必
不可少的组成部分.
但是,考虑到这些设备价格比较昂贵,根据目前国内实际情况来说,
较为适合的交互方法仍是采用二维图形设备的三维软件仿真.
简单地说,这项技术可以概括为如何采用二维交互设备实时地输入
三维平移、旋转、变换等参数.由于能够直接地利用鼠标器、数字
化仪等现有的二维交互设备,因此这项技术仍具有较强的生命力,
并且在可视化中得到广泛的应用.
环境信息可视化
第十讲三维交互技术
产生真正的具有立体感的图形是三维交互技术的又一个内容.
目前广泛使用的是立体图的绘制技术.尽管进行立体显示的物理设
备价格比较昂贵,但是由于其良好的三维效果引起了人们普遍的重
视.在目前的各种虚拟现实及其它三维图形系统中,已普遍采用了
立体图技术,因为只有这样,才能产生真正的身临其境的感觉,才
能更好地利用三维图形设备实现交互.
环境信息可视化
第十讲三维交互技术
10.1 三维交互工具
设计和制造出性能优越的三维交互硬件是提高整个图形系统交互性
能的关键.在当今发展的虚拟现实技术中,这些设备得到了广泛的
应用.所谓虚拟现实是一种通过计算机产生三维场景,并把用户完
全置身于场景之中,通过一系列三维交互手段,从而真正达到“虚
拟环境”的目的.这项技术的意义不仅仅在于其广泛的应用价值,
而且还在于它提供了一种全新的人机交互手段.比起传统的键盘和
鼠标器,这些三维交互硬件有了很大的改善和突破.它们使用户完
全沉浸于三维场景之中,并且用更贴近于自然的方法去进行交互,
用户由系统的使用者变成了参与者,在一个分布式虚拟环境系统中,
用户还可以和其它“参与者”进行交流.在这里,用户使用的三维
交互硬件典型的有:立体眼镜、头盔式显示器、数据手套等.通过
把头盔式显示器戴到用户头上,用户将看不见虚拟三维场景以外的
物体,从而真正产生了“身临其镜”的感觉.装在头盔式显示器上
的三维定向设备能够及时地跟踪用户的移动方向,通知计算机系统
及时地更新场景.通过戴在用户手上的数据手套以各种手势方便地
执行三维图形交互.
环境信息可视化
头盔式显示器/立体眼镜
第十讲三维交互技术
环境信息可视化
数据手套
第十讲三维交互技术
环境信息可视化
第十讲三维交互技术
10.2 三维交互算法
上一节介绍了实现三维交互的硬件设备.很多专家和学者认为,
使用三维跟踪球,三维鼠标器是实现三维交互的根本手段和方法,
它比利用软件方法实现交互有很大的优越性,但是另一些专家则持
相反的意见.他们曾经做过统计,发现使用“真实三维设备”的用
户并没有在操作时使用过多的自由度,尽管这些设备提供了这些功
能.他们发现,用户更多地使用了单个x,y,z轴进行旋转,沿着x,
y轴方向进行平移,而其它方向的变换则用得很少.实践证明了人
们对于三维空间的感知,想象及操作能力远不如二维强,而大多数
用户是没有经过严格的三维空间想象力训练的,他们需要的并不是
具有完整三维自由度的产品,而是真正符合他们的感知规律,使用
方便,具有代表性操作的三维交互手段.而软件方法则满足了这种
需求.
环境信息可视化
第十讲三维交互技术
尽管以上两种观点各执一词,但是在三维交互硬件高速发展的今天,
软件实现的三维交互算法仍具有很大的吸引力.尤其是它能够利用
现有的二维交互设备,更是吸引了广大的用户,使之仍旧成为一种
普遍采用的方法.
Sutherland在1974年提出了利用数字化仪输入三维数据的方法,
Nieson等在1986年提出了用鼠标器进行三维交互的方法.在这些工
作中普遍采用了在二维显示屏上显示光标及控制点,用二维的交互
设备输入三维变换参数的方法.
实现三维交互算法的根本目标在于提供用户控制三维物体在屏幕上
平移,旋转的方法.目前这个问题研究的焦点集中于如何利用鼠标
器控制屏幕上的虚拟控制器来实现三维交互的任务.通过旋转操作
用户可以实现绕x,y,Z三轴的旋转,通过平移变换用户可以实现
物体在空间中任意二点的移动.
环境信息可视化
第十讲三维交互技术
现在,大多数图形工作站的鼠标器是单键或三键的.典型的有
以下四种利用鼠标器控制旋转操作的方法:
1)滑动条:用户通过三个滑动条来控制物体绕x,y,z轴的各
自旋转;
2)菜单选择:用户在菜单中选择旋转轴,按下鼠标器的按钮并
在一维方向上移动鼠标器以确定转动角度的大小;
3)按钮法:用户按下鼠标器或键盘的一个键来选择旋转轴,再
通过鼠标器的一维移动确定转动角度的大小;
、
4)二维仿真法:通过在二维平面内移动鼠标器来控制三维物体
的旋转.这项技术包括了三维跟踪球仿真算法.
前三种方法仅仅利用了鼠标器的一维功能,而且鼠标器的运动方向
和屏幕物体的移动方向差别太大,使用并不是很方便,而第四种方
法提供了较好的仿真功能,使用也最为方便.
环境信息可视化
10.2.1 虚拟旋转控制
器
右图的四种虚拟旋转
控制器可以通过使用单键
鼠标器来实现,并且不必
使用菜单以分散用户精力,
旋转控制器在物体周围或
交叠在物体上面,不会分
散用户的注意力,使用自
然、方便.
图10.1显示了的四种
虚拟旋转控制器.虽然图
10.1(c)和图10.1(d)有着
相同的旋转控制器,但它
们在圆内的旋转轴是不同
的.
第十讲三维交互技术
图10.1 虚拟交互显示控制器
环境信息可视化
第十讲三维交互技术
(1)滑动条控制器
这是一种传统构三维控制方法,如图10.1(a)所示,三个滑动条放
在旋转物体的下面,每个滑动条控制相应轴的旋转角度的大小,滑
动到底时物体将旋转180,只要按下鼠标键并移动滑动条,用户可
以交互地控制物体的旋转.
第十讲三维交互技术
环境信息可视化
(2)交叠滑动控制器
交叠滑动控制器是对传统滑动控制器的改进,它包括三方面:
1) x,y,z轴分别由一个竖直、一个水平,一个圆形滑动条组成;
2) 三个滑动条是交叠的,可以简化成九个正方形网格,如图10.2所示;
3) 正方形网格交叠在物体上面.
与x,y轴相应的滑动条提供了180的旋转能力,与z轴相应的滑动条则提供了360的
旋转能力,如图10.2所示.在交叠滑动条技术下物体仍旧是基于x,y,z轴的单
轴旋转.但是在这个方法中鼠标器和物体的移动方向接近了,因此这是一种比传
统滑动条方法优越的三维交互技术.
图10.2
交叠式滑动条
环境信息可视化
第十讲三维交互技术
(3)连续x,y轴及增加的z轴控制器
如图10.1(c)所示,此项技术主要有两种操作模式:当鼠标按
钮在圆内被按下的时候,左右及上下方向移动鼠标器将分别使物体
沿上下及左右轴转动,沿对角线方向移动鼠标器将使物体沿着在xy
平面内的一条旋转轴转动,也就是说,旋转轴在xy平面内并且与鼠
标器的移动方向垂直,当鼠标按钮在圆外被按下的时候,物体将随
鼠标器的移动作顺时针或逆时针的旋转,即绕着z轴旋转.由此可
见,物体可以绕着在xy平面内的任意一轴进行旋转,其旋转能力为
180,另外物体还可以绕z轴旋转,旋转能力为360。
环境信息可视化
第十讲三维交互技术
(4)虚拟球控制器
虚拟球控制器提供了仿真三维跟踪球的能力,它能使物体沿任
一旋转轴进行三维旋转,见图10.1(d).用户可以想象屏幕上一个
透明的玻璃球包围了被旋转的物体,由此,物体的旋转问题变成了
玻璃球的旋转,在圆的中心、上下或左右移动鼠标光标等价于驱动
玻璃上相应的顶点绕x轴或y轴转动.在圆的边上移动鼠标光标则等
价于绕z轴的旋转.同样,在这里提供了绕x,y轴的180的旋转能力
以及绕z轴的360的旋转能力.
虚拟球控制器的最大优点在于它提供了绕三维空间任一轴的旋
转能力,而不像前三种控制器有着各自的局限性.
第十讲三维交互技术
环境信息可视化
10.2.2 三维跟踪球算法及实现
(1)三维跟踪球的旋转
图10.3 三维跟踪球的旋转
环境信息可视化
第十讲三维交互技术
(2)用二维设备仿真三维跟踪球
三维跟踪球是一种有任意旋转能力的三维交互工具.算法的第
一步是确定旋转轴的方向,第二步再确定旋转角的大小。
旋转角度是通过鼠标光标在位移量上乘以一个比例因子而定标的,
比例因子可以通过下面的方法确定:
1)通过圆心的光标运动将产生180的转动;
2)绕圆一周将使物体旋转360.
一旦旋转轴及旋转角度确定,三维跟踪球的仿真算法便实现了。
环境信息可视化
第十讲三维交互技术
10.3 立体图绘制
绘制立体图的主要目的是产生强烈立体感的三维图形.
10.3.1 立体图的原理
所谓立体图即是对同一场景分别绘制出两幅对应于左右双眼的
不同图像,或称为具有一定视差的图像,以达到产生深度立体信息
的目的.在现实生活中,人类之所以能看见有立体感的三维世界,
是因为左右双眼存在一定的视差,只要简单地闭上左眼或右眼就可
以感觉到这种视差.景物空间的深度信息是通过左右视线的空间交
点感觉到的.一般的计算机图形或图像是根据单视点来计算的,这
样左右视线交于屏幕上的同一点(图10.5(a)).所以尽管通过了透
视、消隐等三维处理,还是不能产生具有很强立体感的三维图
形.立体图绘制则是对同一场景用左右两个视点分别计算其透视图,
产生两幅具有一定视差的图像,然后借助立体眼镜等设备,使左右
双眼只能看到与之相对应的图像,通过视线的相交作用,具有真实
立体感的立体图便产生了(图10.5(b)).
环境信息可视化
图10.5 立体图产生的原理
第十讲三维交互技术
环境信息可视化
第十讲三维交互技术
环境信息可视化
第十讲三维交互技术
10.3.2 立体图显示技术
从显示技术上来说,两幅图像可以同时显示,或者以一定的频
率交替显示,我们把这两种技术分别称之为time—parallel显示技
术及time—multiplexed显示技术。
time—parallel显示技术对两幅图像用不同的光波长显示,用
户的眼镜镜片分别配以不同的光滤波片,使双眼只能看到相应的图
像.这种技术在50年代曾广泛用于立体电影放映中.但是在现代计
算机图形学和可视化领域中广泛采用的是光栅显示器,光栅显示
器的显示方式和显示内容是无关的,因此这项技术对计算机图形学
的立体图绘制来说并不适合.
time—multiplexed显示的特点是对两幅图像以一定的频率交
替显示,通常的频率为30Hz.为了保证每只眼睛只能看到各自相应
的图像,用户通过各种频率同步切换的有源或无源立体眼镜来观察
图像.具体的设备已经在前面做过详细介绍.Time-multiplexed显
示技术能够结合光栅显示技术的特点,所以在目前的应用中占了主
导地位.
环境信息可视化
第十讲三维交互技术
10.3.3 视差
由于立体图是通过视差产生
立体效果的,在这里我们简单地
讨论一下视差问题.通常有下面
几种视差(如图10.6所示):
(1)零视差;
(2)非相交视差;
(3)正视差;
(4)负视差.
零视差是由于两幅图像相对
应的点几乎重叠在一起而产
生.在立体显示的时候,这样的
图像正好出现在显示屏上面,视
图10.6 视差
差的值正好为零.
对于非相交视差的情况,左右两条视线是平行的,这时图像在非常
遥远的地方,视差的值为T.正视差的情况下左右视线相交于显示屏
的后面,产生的立体图像也位于显示屏的后面.而对于负视差的情
况,双视线相交于显示屏之前,产生的立体图像比显示屏要近。
环境信息可视化
第十讲三维交互技术
10.3.4立体图绘制算法
立体图绘制的根本方法是对两个视点分别进行三维透视.
1.透视变换
首先假设一个简单的景物——5×5网格点,位于XZ平面上,它
的中心对应于此三维坐标系的原点.
透视变换可分下面两步进行:
(1)透视投影到视平面;
(2)视平面上的图像映射到屏幕上。
环境信息可视化
第十讲三维交互技术
2.立体透视
立体透视把通常的单视点透视扩展到双视点透视,即对每个视
点分别计算一幅透视图.
通常有两种计算左视图及右视图的方法,这两种方法本质上是
相等的,但在实际应用时各有优缺点,这两种方法分别称为off—
Axis和on—Axis算法.取xy平面为视平面.
1.off—Axis投影
在off—Axis投影中,假设有两个水平排列的投影中心,如图
10.9所示.右视图是通过右视点透视得到的,而左视图则是通过
左视点投影得到的.
2.on—Axis投影
On—Axis投影与off—Axis投影的差别在于它不是通过移动视
点,而是移动三维空间中的物体来获得两幅透视图像.
环境信息可视化
第十讲三维交互技术
9.3.5 立体图绘制参数的选择
在立体图绘制过程中,一个重要的参数是双眼间距e,一个合
适的e包括很多因素.在两个视点水平距离e一定的条件下,屏幕上
两幅投影的视差可以表示为:
p=xr一xl=e(1-d/(d+z))
此式可以表示成、
e=p/(1-d/(d+z))=p(i+1)/i
式中i为在空间z方向以d为度量单位的值.另外,e还可以用视角来
表示,这时视角是指对于屏幕上xl,xr两点的张角β,所以
式中,e为左右视点的距离;d为视点和投影屏幕的距离; β为视
角(HVA);i为以d为度量单位的深度信息。
环境信息可视化
第十讲三维交互技术
10.4 交互视算
基于对可视化技术的各种要求,可视化的目标不仅仅在于把各
类计算数据,测量数据用图形的方式显示出来.更进一步地,它应
该使科学工作者能够在一个由数学模型产生的“虚拟世界”中进行
探索,对从实验中计算测试产生的大量数据进行检测.可视化工具
集将提供一个非常广泛及实用的交互方法,使用户能够控制图形的
结果输出及数据到图形的映射过程.另外还需要有各种各样的提高
数据特征的图形处理方法.用户必须能够调整仿真参数以及在观察
数据图像的同时控制数据的计算或者采集过程,工具集必须支持用
户和系统之间的交互以及各种反馈。
环境信息可视化
第十讲三维交互技术
通常根据仿真计算以及显示图像这两个阶段之间的交叠关系把可视
化技术分成三类,这三类技术包括:后处理技术、跟踪技术和驾驭
式计算(即交互视算).
•在后处理模式当中,先进行数据的计算或测量,在计算或测量完
毕之后再进行图形显示.在这个模式当中和数据进行交互是不存在
的.
•在跟踪模式下,用户可以在计算过程中看到由数据转换的图像,
由用户跟踪科学计算的整个过程,并且实时地计算中间结果转化成
可视图像;
•驾驭式计算是可视化的最终日标,在驾驭式计算过程中,用户可
以直接地控制仿真过程,对仿真计算通过参数调整的方式进行直接
的干预.
虽然通常把驾驭式计算当作可视化的实现目标,但事实上从目前阶
段来看,完整的交互视算的应用还非常少.
环境信息可视化
第十讲三维交互技术
10.4.1 交互可视化的三种主要技术
可视化的三种主要技术模式(如图10.12所示),即后处理技术,跟
踪技术以及驾驭式控制技术.这三项技术的主要评判标准在于计算
的执行过程(或者数据的采集过程)和数据转化为图像的显示过程的
结合情况.结合度最低的是后处理模式,结合度最高的是驾驭式模
式,即所谓的交互视算.
这里主要侧重于用户和仿真计算之间的交互.另一种类型的交
互指的是控制图形的显示.通过软件环境的控制将易于实现这两种
类型的控制.在可视化技术中对图形显示的控制是一种非常重要的
技术,它需要某种功能强大又方便的交互环境来帮助科学工作者理
解复杂的结构及运算过程.
随着计算机运算速度的加速,储存容量的扩大以及其它硬件水平
的不断更新,产生了越来越多的科学数据,可视数据的跟踪及驾驭
式技术变得越来越重要了.对更多,更清晰地传递信息的新的交互
方法的要求也越来越迫切了,需要采用交互视算的方法来控制计算
过程,提高计算的效率.
环境信息可视化
第十讲三维交互技术
1).后处理技术
后处理技术(图10.12(a))是当今应用最广泛最流行的可视化技
术模式.通过一个由仿真计算产生的数据集作为可视系统的数据输
入,这些数据可能来源于超级计算机几周甚至几个月的计算结果.
已经有很多基于后处理模式的可视化系统,比较著名的有apE,
NCSA,Wavefront,PV-wave、GASS和RIP.这些系统在读取计算数
据的同时,也获得关于数据的其它信息,包括数据网格点的类型以
及其它仿真参数等,有些系统把数据严格地当作三维均匀立方网
格.这些可视化系统的交互方法包括了多视点,控制物体的运动方
向以及仿真显示方法等等.这些可视图像可以拍成胶片,产生了高
质量的可视结果,但由于成本高,应用还不是非常广泛.
提供高质量的三维图形及动画软件能够帮助科学家们建立、发
展各种数据模型,而不仅仅是看一下数据的结果.所以用户必须完
全懂得映射函数的意义以及在显示数据时采用的图形显示方法.
后处理模式的优点在于用户有充足的时间,从不同的角度,采
用不同的可视方法,对数据进行深入的研究.
环境信息可视化
第十讲三维交互技术
2)跟踪技术
跟踪模式(图10.12(b))是在数据计算的过程中进行数据的可
视化.用户可以控制数据改变显示参数以及显示过程,但不能够干
预数据的仿真计算,这个方法的优点在于能实时地看到仿真的数据
结果,使用户尽早发现计算中的错误,判断是否需要中止计算,对
于需要占用大量时间,大量资源的科学计算来说,各种结果图形将
在图形工作站上显示出来.用户可以不断地检查计算结果,跟踪模
式的另一个优点体现在节省数据的内存空间,因为在跟踪模式中,
图像直接来自于计算得到的数据,有些中间数据就不必存盘了。
采用跟踪模式的一个明显的优点在于提高了用户的工作效率,
用户不必花费大量的时间以等待看到计算的结果,计算错误可以被
尽早地发现,可以节省大量的计算资源.采用跟踪模式的缺点在于
数据仅仅在计算时才有用.为了避免这个问题,跟踪系统必须能够
提供存储数据的能力,这使用户在非实时的情况下已能检查数据的
结果.在进行开发、调试模型以及监视大规模计算时,交互技术是
非常重要的.对于后处理技术模式,非实时地选择映射方程和参数
将容易些.
环境信息可视化
第十讲三维交互技术
3)驾驭式技术
驾驭式计算(图10.12(c))又称交互视算,指在进行科学计算
的同时,用图形方式显示数据的结果,并且能够干预计算模型及其
参数,改变计算过程的可视化技术.目前,大多数超级计算机采用
批处理的作业方式,不存在交互的通道.在交互视算中需要更高级
的交互方式来控制计算的过程.用户可以控制计算模型的各个方面,
比如内部参数、外部参数,以及其它的独立参数、网格定义、时间
间隔以及需要输出的输出变量等等.很多计算模式将允许上述的一
种或几种控制方法。
驾驭式计算提供了用户改变对计算结果观察的机制,它有助于
大规模地处理数据集.在计算时用户可事先采用一个初始的,较粗
糙的网格划分,并且随着计算的进行通过缩小观察范围来细化并获
得感兴趣的结果.
环境信息可视化
图10.12
3种可视化交互模式
第十讲三维交互技术
环境信息可视化
第十讲三维交互技术
NASA的IZ系统,是运行在图形工作站上并且和超级计算机上的二维
CFD程度相连接的系统,用户能够通过它控制计算网格的划分.目
前对于“虚拟风洞”的研究对于建立未来的驾驭式系统有很好的启
发作用,因为在这次工作中提供了功能强大的三维交互工具以及完
整的交互方法.
模数飞行驾驶仿真是一个简单的驾驶的雏形.这些复杂的系统
往往耗费上百万美元.在飞行驾驶仿真中,需要建立一种对各种内
外力反应的精确的计算模型,必须全面考虑发动机的各种状态以及
驾驶员对模型的操作.这些都要通过一个计算模型实时地计算出来,
并且用图形的方式显示在用户面前.
环境信息可视化
第十讲三维交互技术
驾驭式计算和上面所述的模拟飞行的概念是类似的,科学工作者们
通过不断地操作模型得到反馈,控制着计算模型趋向所需要的目
标.
在交互视算中,以下模型必须有一个参数界面和可视化软件相
连接,必须有一个控制仿真和可视化的界面模块,每隔一定时间间
隔对仿真过程进行检验,看看是否仿真参数发生变化及是否有其它
的用户命令.由于仿真和数据可视化是同时进行的,所以当用户在
观察前一种的计算可视结果时,下一步的计算已经进行了.由于用
户发出的各种命令将在下一时间间隔方能得到响应,所以一个交互
视算系统必须有能力处理这种延时,以及提供各种中断,暂停,设
置断点等功能,对程序的运算来说,在一定时间间隔内中断计算的
能力将是非常重要的.
环境信息可视化
第十讲三维交互技术
10.5 小
结
交互是科学计算可视化一个非常重要的手段,它不仅包括通常
所指的与图形的交互,还包括了与数据的交互相与计算的交互.
• 三维交互硬件,有头盔式显示器、立体眼镜和数据手套等设备;
•采用二维鼠标器的三维空间交互模拟算法——虚拟旋转控制器的
实现.
•立体图的原理,立体图的生成算法off—Axis算法和on—Axis算
法.
•交互视算是可视化的最终目标.
环境信息可视化
第十讲三维交互技术
10.6 VTK下立体渲染
vtkRenderWindow类提供了立体渲染的能力,通过下列几个函数实现:
1) SetStereoType(int)设置立体渲染方式
SetStereoTypeToCrystalEyes() 偏振光眼镜看立体
SetStereoTypeToRedBlue()
红蓝眼镜看立体
SetStereoTypeToInterlaced()
VRex 投影仪立体
SetStereoTypeToLeft()
左眼视图
SetStereoTypeToRight()
右眼视图
SetStereoTypeToDresden()
2) StereoCapableWindowOn() / StereoCapableWindowOff()
打开/关闭绘制窗体的立体渲染能力
3) StereoRenderOn () / StereoRenderOff()
打开/关闭立体渲染
演示
环境信息可视化
第十讲三维交互技术
10.7 VTK下的交互操作
• vtkRenderWindowInteractor 交互器,响应鼠标/键盘/时间事件
•SetInteractorStyle ( vtkInteractorObserver *
)
•Initialize ()
•Start ()
•Enable () / Disable ()
•LightFollowCameraOn()/LightFollowCameraOff()
•FlyTo ( vtkRenderer, x, y, z )
•FlyToImage ( vtkRenderer, x, y, z )
•SetNumberOfFlyFrames ( int )
•SetPicker ( vtkAbstractPicker )
环境信息可视化
第十讲三维交互技术
• vtkInteractorObserver
• vtkInteractorObserver
• vtk3DWidget
• vtkInteractorStyle
• vtkBoxWidget
• vtkInteractorStyleFlight
•vtkImageTracerWidget
• vtkInteractorStyleJoystickActor
• vtkLineWidget
• vtkInteractorStyleJoystickCamera
• vtkPointWidget
•vtkInteractorStyleRubberBandZoom
• vtkPolyDataSourceWidget
• vtkInteractorStyleSwitch
• vtkImagePlaneWidget
• vtkInteractorStyleTrackball
• vtkImplicitPlaneWidget • vtkInteractorStyleTrackballActor
• vtkPlaneWidget
• vtkInteractorStyleTrackballCamera
• vtkSphereWidget
• vtkInteractorStyleImage
• vtkSplineWidget
• vtkInteractorStyleUnicam
• vtkInteractorStyleUser
• vtkInteractorStyleTerrain
环境信息可视化
第十讲三维交互技术
vtk3DWidget类的交互控制器的使用方法:
3 定义事件响应函数
1 创建vtk3DWidget类交互控制器对象
def BeginInteraction(a,b):
planeWidget = vtkPlaneWidget()
a.GetPolyData(plane)
planeWidget.SetInput(pl3d.GetOutput())
contourActor.VisibilityOn()
planeWidget.NormalToXAxisOn()
def ProbeData(a,b):
planeWidget.SetResolution(20)
a.GetPolyData(plane)
planeWidget.SetRepresentationToOutline()
planeWidget.PlaceWidget()
2 获取交互控制器的数据表示对象
plane = vtkPolyData()
planeWidget.GetPolyData(plane)
4 设置交互器
planeWidget.SetInteractor(iren)
planeWidget.AddObserver("EnableEvent", BeginInteraction)
planeWidget.AddObserver("StartInteractionEvent",BeginInteraction)
planeWidget.AddObserver("InteractionEvent",ProbeData)
环境信息可视化
def BeginInteraction(a,b):
a.GetPolyData(plane)
contourActor.VisibilityOn()
def ProbeData(a,b):
a.GetPolyData(plane)
pl3d = vtkPLOT3DReader()
pl3d.SetXYZFileName("./combxyz.bin")
pl3d.SetQFileName("./combq.bin")
pl3d.SetScalarFunctionNumber(100)
pl3d.SetVectorFunctionNumber(202)
planeWidget = vtkPlaneWidget()
planeWidget.SetInput(pl3d.GetOutput())
planeWidget.NormalToXAxisOn()
planeWidget.SetResolution(20)
planeWidget.SetRepresentationToOutline()
planeWidget.PlaceWidget()
plane = vtkPolyData()
planeWidget.GetPolyData(plane)
probe = vtkProbeFilter()
probe.SetInput(plane)
probe.SetSource(pl3d.GetOutput())
第十讲三维交互技术
contourMapper = vtkPolyDataMapper()
contourMapper.SetInput(probe.GetOutput())
contourMapper.SetScalarRange(pl3d.GetOutput().GetScalarRange())
contourActor = vtkActor()
contourActor.SetMapper(contourMapper)
contourActor.VisibilityOff()
outline = vtkStructuredGridOutlineFilter()
outline.SetInput(pl3d.GetOutput())
outlineMapper = vtkPolyDataMapper()
outlineMapper.SetInput(outline.GetOutput())
outlineActor = vtkActor()
outlineActor.SetMapper(outlineMapper)
ren1 = vtkRenderer()
renWin = vtkRenderWindow()
renWin.AddRenderer(ren1)
iren = vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
planeWidget.SetInteractor(iren)
planeWidget.AddObserver("EnableEvent", BeginInteraction)
planeWidget.AddObserver("StartInteractionEvent",BeginInteraction)
planeWidget.AddObserver("InteractionEvent",ProbeData)
环境信息可视化
vtkInteractorStyle类的交互器的使用方法:
renWin = vtkRenderWindow()
iren = vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
inStyle = vtkInteractorStyleSwitch()
iren.SetInteractorStyle(inStyle)
第十讲三维交互技术
环境信息可视化
MayaVi
第十讲三维交互技术
环境信息可视化
EVS
第十讲三维交互技术
第十讲三维交互技术
环境信息可视化
下一节课内容:
第十一讲 科学计算可视化系统和工具
• 可视化系统分类
• 专用可视化工具
• 通用可视化系统