1.42k likes | 1.56k Views
上一节课内容回顾. 第九讲 矢量场可视化 概述 数据空间及转换 基本点图标 矢量场线和面的生成 质点跟踪 矢量场拓扑 VTK 中矢量场可视化 EVS 中矢量场可视化. 9 . 1 概 述 可视化过程可以分成三个阶段,即 数据处理 、 可视化映射 和 绘制 。 与标量场相比,矢量场的最大不同点在于每一物理量不仅具有大小而且具有方向,这种方向性的可视化要求决定了它与标量场完全不同的可视化映射方法。
E N D
上一节课内容回顾 • 第九讲 矢量场可视化 • 概述 • 数据空间及转换 • 基本点图标 • 矢量场线和面的生成 • 质点跟踪 • 矢量场拓扑 • 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空间):是进行可视化图形处理的空间,经过映射,数据场被转换成图形空间中的几何表示.G空间的几何表示有曲面、实体、层次等表示形式,通过各种造型手段,G空间所要表示的就是现实世界的物理对象,与P空间是同一对象.而P空间网格离散化一般已拥有较高的精度,没有必要为了图形绘制再对P空间中的对象重新离散化.从可视化映射的角度出发,要重构必然要对物理量进行再采样。结果往往会导致欠采样或过采样,从而使可视化结果的精度降低,所以G空间中的对象一般就直接采用了尸空间中的表示形式,两者是一致的.当然最终G空间被表示成象素,即可视化结果图像. • 这些不同的空间之间是可以相互转换的,围绕着同一物理实体,其表示能在不同的空间之间进行转换.由于一般G空间与P空间一致,因而这种转换主要是讨论P空间与C空间之间的转换(见图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,因此临界点附近的矢量场完全由偏导 所决定.临界点就是根据 的特征值和特征向量决定分类。 求解在临界点位置矢量的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在题为“二十一世纪的计算研究”报告中指出“计算机有三个作用: 模拟; 帮助人们进行通信; 互动:与实际世界的交流” “人们希望计算机能够看、听、讲,甚至比人做得更好,并能够进行实时处理。”
两个重要的应用趋势 • 计算机系统的拟人化 以虚拟现实为代表 • 计算机的微型化、随身化和嵌入化 以手持电脑、智能手机为代表 人机交互技术是面临这种趋势的瓶颈技术。 以人为中心、自然、高效将是新一代人机交互的主要目标。
人机交互的发展历史 • 人机交互的发展历史,是从人适应计算机到计算机不断地适应人的发展史 • 人机交互的发展经历了几个阶段: • 早期的手工作业阶段 • 作业控制语言及交互命令语言阶段 • 图形用户界面(GUI)阶段 • 网络用户界面的出现 • 多通道、多媒体的智能人机交互阶段
最有影响的事件和成果 • 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)”思想 。
人机交互技术的进展 • 自然、高效的多通道交互 • 人机交互模型和设计方法 • 虚拟现实和三维交互 • 可穿戴计算机和移动手持设备的人机交互 • 智能空间及智能用户界面 • 标准化及其它
通道与多通道交互 • 多通道交互(Multi-Modal Interaction):一种使用多种通道与计算机通信的人机交互方式。采用这种方式的计算机用户界面称为“多通道用户界面”。 • 通道(Modality):源于心理学的概念,涵盖了用户表达意图、执行动作或感知反馈信息的各种通信方法,如言语、眼神、脸部表情、唇动、手动、手势、头动、肢体姿势、触觉、嗅觉或味觉等。
多通道交互 • 多通道交互是近年来迅速发展的一种人机交互技术,它既适应了“以人为中心”的自然交互准则,也推动了互联网时代信息产业(包括移动计算,移动通信、网络服务器等)的快速发展。 • 多通道交互的各类通道(界面)技术中,有不少已经实用化、产品化、商品化。其中我国科技人员做出了不少优异的工作。
手写汉字识别 • 中科院自动化所开发的“汉王笔”手写汉字识别系统,经过近20年的研究和开发,已能识别27000汉字,当用非草写汉字、以每分钟12个汉字的速度书写时,识别率可达99.8%。我国现在已约有300万手写汉字识别系统的用户。
数字墨水技术 • 微软亚洲研究院多通道用户界面组发明的数字墨水技术,采用全新易操纵的笔交互设备、高质量的墨水绘制技术、智慧的墨迹分析技术等,使它不仅可用作为文字识别、图形绘制的输入,而且作为一种全新的“Ink”数据模型,使手写笔记更易阅读、获取、组织和使用。数字墨水技术已作为产品,结合在微软的Tablet PC 操作系统中,产生了巨大的社会影响。它还将继续发展,有可能成为新一代优秀的自然交互设备 。
笔式交互技术 • 在笔式交互技术研究中,中国科学院软件所人机交互技术与智能信息处理实验室在笔式交互软件开发平台、面向教学的笔式办公套件(包括课件制作、笔式授课、笔式数学公式计算器、笔式简谱制作等)、面向儿童的神笔马良系统的开发应用方面均有出色的工作,其中不少已经实用化、产品化。
中文语音识别 • IBM/Via Voice连续中文语音识别系统经过不断改进,已广泛应用于Office/XP的中文版等办公软件和应用软件中,在中文语音识别领域有重要影响。 • 中国科学院自动化所“汉语连续语音听写系统”的特点是建立了基于决策树的上下文相关模型;针对连续语音中声调之间的协同发音问题,建立了相应的变调模型;建立了与识别系统配套的自适应平台,降低35%左右音节误识率;提出了领域自适应方法,通过较少的领域语料,可得到较好的领域自适应模型和字典
语音合成技术 • 1990年提出的基音同步叠加(PSOLA)方法使合成语音的音色和自然度明显提高。 • 在国家支持下,汉语语音合成取得了显著进展,多家国内研究单位都成功开发了自己的语音合成系统。 • 1999年在国家智能计算机研究开发中心、中国科技大学人机语音通信实验室的基础上组建的科大讯飞公司在汉语语音合成技术领域已达到了国际先进水平。
语音 和 笔 • 上述成果表明,作为人类最重要的自然通道——语音和笔的交互技术,包括手写识别、数字墨水、笔交互、语音识别、语音合成等通道技术,近年来已有显著的进步,我国的不少成果已具有国际先进水平,并达到了一定的产业规模。 • 虽然语音和笔(手势)通道因其自身的特点,在抗干扰、准确度等方面仍嫌不足,但它们在多通道整合、领域受限应用等配合下,最有希望成为新一代实用的自然交互技术。
手语识别和合成 中国科学院计算所研制成功了基于多功能感知的中国手语识别与合成系统,它采用数据手套可识别大词汇量(5177个)的手语词。 该系统建立了中国手语词库。对于给定文本句子(可由正常人话语转换而成),自动合成相应的人体运动数据。最后用计算机人体动画技术,将运动数据应用于虚拟人,由虚拟人完成合成的手语运动。 它可输出大词汇量的手语词,为中国聋哑人的教育、生活提供了有用的辅助工具,使他们用手语与正常人的交流成为可能。
视线跟踪(眼动)技术 • 视线跟踪(眼动)技术由于其可能代替键盘输入、鼠标移动的功能,可能达到“所视即所得”(What You Look at is What You Get),因而对残疾人和飞行员等使用有极大的吸引力。 • 视线跟踪技术,一是研究高质量的眼动跟踪设备,二是如何构造易于操作的用户界面。 • 眼动跟踪设备有强迫式与非强迫式、穿戴式与非穿戴式、接触式与非接触式之分 。 • 眼动跟踪设备的精度和对用户的限制和干扰是一对尖锐的矛盾。
视线跟踪(眼动)技术 目前一类产品是采用头戴微型摄像头的设备,它用来获取两眼瞳孔(或角膜)中视点。其采样率、精度高,可靠。 另一类是在PC机前装了两个微型摄像头的设备,精度不高,适合残疾人操作计算机使用。