《地表三维可视化》由会员分享,可在线阅读,更多相关《地表三维可视化(59页珍藏版)》请在金锄头文库上搜索。
1、 l 三维可视化基础知识 l 地形可视化 l三维地形可视化应用3D可视化基本概念 三维可视化引擎 三维可视化渲染流程三维可视化基础世界坐标系物体坐标系把三维物体变为二维图形表示的过程称为投影变换。 投影变换的分类情况如下表所示:正平行投影透视投影透视投影实际上,从三维空 间到二维平面,就如同 用相机拍照一样,通常 都要经历以下几个步骤 (括号内表示的是相应 的图形学概念):第一步,将相机置 于三角架上,让它对准 三维景物(视点变换, Viewing Transformation)。第二步,将三维物 体放在适当的位置(模 型变换,Modeling Transformation)。第三步,选择相机
2、 镜头并调焦,使三维物体 投影在二维胶片上(投影 变换,Projection Transformation)。第四步,决定二维像 片的大小(视口变换, Viewport Transformation)。这样,一个三维空间 里的物体就可以用相应的 二维平面物体表示了,也 就能在二维的电脑屏幕上 正确显示了。3D颜色表达3D引擎一般采用红(R)、绿(G) 、蓝(B)和阿尔法(A)描述 颜色,并将它们合成,产生最终颜色。R、G、B、A称之为颜 色通道,其中A描述了色彩的透明度属性。表达颜色的Bit即色深决定了颜色的表现力和丰富程度。 OpenGL采用float精度也就是4个字节表现一个颜色通道,而
3、Direct3D采用Byte精度也就是1个字节表现一个颜色通道。不断增大的色深是3D颜色表达的大势所趋。顶点颜色顶点法向量、平面正方向3D中使用顶点法向量计算光源和表面间的夹角,对多边形进行着 色 3D中每个面有一个垂直的法向量。该向量的方向由定义面顶点的 顺序及坐标系统是左手系还是右手系决定。表面法向量从表面上 指向正向面那一侧,如果把表面水平放置,正向面朝上,背向面 朝下,那么表面法向量为垂直于表面从下方指向上方,这个就是 平面正方向一般三维引擎光照模型将光归纳为两类:环境光和直射光环境光,和自然界中的一样,没有实际的方向和光源,只有颜色 和光强 。它给各处提供一个较低级别的光强 直射光是
4、场景中的光源产生的光,它总是具有颜色和强度,并沿 特定的方向传播。直射光类型:点光源、聚光灯和平行光 着色模式用于控制渲染多边形的着色模式完全影响到渲染结果。着色 模式决定多边形表面上任意一点上颜色的强度和光照计算方 式 材质表现了物体表面对灯光的反射属性。在D3D和 OpenGL中材质还有一个自发光属性Emissive ,它用来 描述物体自身发出的光的颜色和透明度的。 颜色成员为R: 1.0, G: 1.0, B: 1.0, A: 1.0的材质会反射所 有的入射光。同样,成员为R: 0.0, G: 1.0, B: 0.0, A: 1.0 的材质会反射所有入射的绿光。具有多重反射系数值( Di
5、ffuse、Specular、等等)的材质可以创建不同类型的 效果 。 除了Specular属性,其余每个属性都用一个RGBA颜色描 述,表示该材质对某一给定类型光的红、绿和蓝成分的反 射度,以及一个阿尔法混合因子RGBA颜色的A。 材质效果图计算机图形学中,纹理指的是一张表示物体表面细节的位图。 纹理映射:纹理坐标MIP-MAP纹理映射引擎用来减少纹理内存和带宽需求的另外一个技术就是 MIPMAP 。 MIP 映射技术通过预先处理纹理,产生它的多个拷贝纹理,每 个相继的拷贝是上一个拷贝大小的1/4。 使用 MIP-MAP ,还可以有效解决纹理走样问题。 相比最初来说,单一纹理映射已给整个3D
6、真实感图形带来很大的 不同,但使用多重纹理甚至可以达到一些更加令人难忘的效果。多重纹理映射填充模式Front Buffer and Back Buffer在3D环境中,每个像素中会利用一组数据资料用来定义 像素在显示时的纵深充(即Z轴座值)在Z BUFFER所用的位 数越高,则代表该显示卡所提供的物体纵深感也越精确。一 般的3D加速卡仅能支持到16位或24位的Z BUFFER,对于普通 的3D模型而言也算是足够了,不过高级的3D卡更可支持到32 位的Z BUFFER。对一个含有很多物体连接的较复杂3D模型而 言,能拥有较多位数来表现深度感是相当重要的事情。例如 一台500公尺长的飞机,其管线之
7、间仅相距5公分的距离,2- bitZBUFFER将无法提供足够的精确性让我们从某些视角能清 楚地辨别二条管线的前后顺序。当显示卡尝试要显示这二条 管线时,它会试着一次将二个同时显示出来,因而产生令人 讨厌的闪烁现象。若使用的32位的Z BUFFER就能避免闪烁现 象发生。Z Buffer高性能图形技术的工业标准 SGIs OpenGL & Microsofts Direct3D define ways of rendering images, and they provide an intermediate layer of control between the Video Hardware
8、 (Videocard) and the Video Software 分布式环境下的高性能3D图形技术VRML(1994)- X3D(1998):X3D整合正在发展的XML、JAVA、流技术等先进技术,包括了更强大、更高效的3D计算能力、渲染质量和传输速度 Java3D/GL4Java(OpenGL For Java)OpenGLOpenGL(Open Graphics Library)是以SGI公司的GL三维图形库为基础制定的一个通用共享的开放式三维图形标准。从软件的角度讲,它就是一个开放的针 对于图形硬件的三维图形软件包。OpenGL的优点:1) OpenGL可以大大降低了开发高质量图形
9、软件对软、硬 件的依赖程度;2)跨平台,基本上的工业标准;3)学习容易,上手快;Windows NT下OpenGL的结构OpenGL程序运行方式 OpenGL硬件加速方式 一些显示芯片如3Dlabs公司的GliNT进行了优化,OpenGL 的大部分功能均可由硬件实现,仅有少量功能由操作系统来完成 。 三维图形加速模式 一些中低档的图形芯片往往也具备一定的三维加速功能,由 硬件来完成一些较为复杂的图形操作。 纯软件模式 对于不具备三维加速功能的显示卡,要想运行OpenGL,采 用纯软件模拟方式。DirectXDirectX是基于COM的一套软件编程接口。 DirectX 是微软的游戏开发引擎。最
10、新的版本是DirectX9.0c。微软的DirectX软件开发工具包(SDK)提供了一套优秀的应用程序编 程接口(APIs),这个编程接口可以提供给你开发高质量、实时 的应 用程序所需要的各种资源。 使用DirectX的主要的两个好处:1)为软件开发者提供硬件无关性;2) 为硬件开发提供策略。Direct3D硬件抽象层Direct3D通过硬件抽象层HAL 提供了设备无关性。HAL 是一个 与设备相关的接口,它由设备制造商提供,Direct3D 通过它直接 控制显示设备。应用程序不会直接与 HAL 打交道。相反,通过 HAL 提供的特性,Direct3D 提供了一系列接口和方法用于应用程 序绘制
11、图形。HAL可以是显示驱动程序的一部分,也可以是一个动态连接库 (DLL)。HAL 由芯片制造商、板卡生产者或者原始设备 制造商 (OEM)实现 。HAL 实现 了设备 依赖的代码,但是并不做任何的模 拟。也就是说,如果硬件并不提供某一个功能,HAL 并不将其声 明为硬件的能力。另外,HAL 并不验证 参数;Direct3D 在调用 HAL 以前就已经完成了这项 操作。目前来看,OpenGL和D3D在应用领域上各有侧重。 OpenGL在工业领域应用较多,而D3D在游戏领域则 更多。D3D学习掌握较困难,但完善的辅助库支持,使得搭 建三维应用更快捷。在Windows平台下优势明显。OpenGL架
12、构相对稳定,更规范严格,跨平台和独立 窗口意义重大,容易掌握;但复杂应用上工作量很大 。 固定流水线管道: CPU顶点数据T&L引擎裁减/三 角形设置/光栅化多纹理混合处理雾混合透明度/模 板和深度测试帧缓冲 可编程流水线管道: CPU顶点数据 Vertex Shader 、T&L引擎裁减/三角形设置/光栅化 Pixel Shader 、多纹理混合处理雾混合透明度/模板和深度测试 帧缓冲 两种流水线管道3D游戏效果图3D操作系统传统的地学分析图形中,三维地形立体图通常是用 一组经投影变换的剖面线或网线构造的,图形简单,内 容单一,缺乏实体感,实用价值受到限制。而三维地形 模型的动态显示是区域地
13、形等多种要素三维景观的综合 体现,具有信息丰富、层次分明、真实感强的特点。我们可通过获取地形等高线及地表属性多边形等信 息,采用适当的内插拟合方法,生成真实描述实际地表 特征的数字高程模型,并用栅格化技术建立相应的描述 区域地表类型的属性栅格,经透视投影变换和属性叠加 后,采用恰当的消隐处理和光照模型进行显示,再现区 域的三维地形形态,取得真实、鲜明、直观的图像效果 。1、建立模型 模型的建立分以下三个小步:(1)建立物体的几何模型,设定物体的光学属性,其中 多边形建模方法是最常用的模型表示方法,该方法将对象 简化成一系列多边形表面。物体的光学属性包括对光的漫 反射系数、镜面反射系数、折射率、
14、透明度、颜色、纹理 、粗糙度等 ; (2)设定光源的位置、形状及光学特性; (3)设定视点和视屏位置。 2、计算视屏上各像素点的颜色 : (1)不可见面消除; (2)阴影计算; (3)光照颜色计算 选择合适的光照模型,计算在光源照 射下物体表面各可见点对视屏上各像素点的光贡献,由此 求出视屏上各像素点的颜色值。 3显示计算到屏幕上。DEM库采用金字塔结构存放多种空间分辨率的地形数据,同一分 辨率的栅格数据被组织在一个层面内,而不同分辨率的地形数据具有上 下的垂直组织关系:越靠近顶层,数据的分辨率越小,数据量也越小, 只能反映原始地形的概貌;越靠近底层,数据的分辨率越大,数据量也 越大,更能反映
15、原始地形详情由于受到目前操作系统处理数据量的限制,存在于DEM库 中的海量地形数据不可能全部常驻内存。鉴于内外存的数据 交换非常耗时,为了尽量减少数据库中的数据存取,需要针 对三维地形可视化的特点对空间对象进行缓冲管理。在内存中用一块存储区 作为数据缓冲区,由于数据 缓冲区的大小有一定限制, 在进行数据存取时只能将部 分数据读入,操作过程中需 要进行数据的“部分装入”和“ 部分对换”,这种数据交换技 术称为缓冲管理。Level of Detail:一种实时三维计算机图形技术, 最先由Clark于1976年提出。 工作原理:视点离物体近时,能观察到的模 型细节丰富;视点远离模型时,观察 到的细节
16、逐渐模糊。系统绘图程序根 据一定的判断条件,选择相应的细节 进行显示,从而避免了因绘制那些意 义相对不大的细节而造成的时间浪费 ,同时有效地协调了画面连续性与模 型分辨率的关系。LOD静态动态三角网规则网多尺度表示的自然法则Multiscale representation in 2DLODs representation in 3D度量上的LOD与视觉上的LOD视点抬高时地形 线框/实体绘制效果 四叉树:递归地将地形分割成小的区块来逼近真实地形。实时的最优自适应网格(ROAM):在对地形进行三维显示时,依据视点的位置和视线的方向等多种因素,对于 表示地形表面的三角形片元进行一系列的基于三角形二叉剖分分裂与合并,最终形成和原始表面近似且无缝无叠的简化连续三角化表面。 左邻接区右邻接区顶点左子树右子树中点右顶点左顶点底部邻接区域Lever=11Lever=2237Lever=3456在建立地表