可视化技术在数据显示中的应用.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可视化技术在数据显示中的应用 1 数据可视化的概念 数据可视化技术是指使用计算机图形学和数据处理技术在屏幕上显示数据的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互技术等多个领域。数据可视化概念首先来自科学计算可视化, 随着计算机技术的发展, 数据可视化概念已大大扩展, 几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。 通过三维图形开发库OpenGL开发三维可视化结果, 使得开发出来的软件具有重用性、通用性、实时性等特点。 2 生成符合对标系统的驱动设计 OpenGL是个专业的3D程序接口, 是一个功能强大, 调用方便的底层3D图形库。OpenGL是个与硬件无关的软件接口, 可以在不同的平台如Windows 95、Windows NT、Unix、Linux、MacOS、OS/2之间进行移植。因此, 支持OpenGL的软件具有很好的移植性, 可以获得非常广泛的应用。 OpenGL显示列表 (Display List) 是由一组预先存储起来留待以后调用的OpenGL函数语句组成的, 当调用这张显示列表时就依次执行表中所列出的函数语句。OpenGL显示列表的设计能优化程序运行性能, 尤其是网络性能。它被设计成命令高速缓存, 而不是动态数据库缓存。蒙板缓存 (Stencil Buffer) 可以保持屏幕上某些部位的图形不变, 而其他部位仍然可以进行图形绘制。正确灵活地运用蒙板缓存, 可以实现对象的反射、折射和阴影等显示效果。利用OpenGL开发库驱动图形显示, 可以充分利用显卡的3D加速性能, 从而实现满足可视化要求的实时显示, 实现画面的流畅驱动。 3 完成步骤 3.1 生成西部平台oglintrocx的平台 启动VC++6.0, 选择菜单File|New, 打开New对话框。在New对话框中选择Projects选项卡, 在列表中选择MFC ActiveX ControlWizard, 建立一个工程名为“OglInstrOcx”的控件工程。 通过AppWizard生成的框架应用是不支持OpenGL的显示。首先需要设置设备显示模式, 从而能支持OpenGL的显示。 接着, 需要设置OpenGL的视窗大小, 投影变换。这里的有些参数可以根据实际需要作相应的调整: 3.2 实时三维数字视频图像的生成格式 为了实现三维数字的显示, 需要做3方面的工作。第一, 利用三维建模软件实现数字0到9的三维模型;第二, 利用工具把模型转换成CPP的输出文件;第三, 把生成的CPP文件内容加入工程中, 编程驱动。 首先, 要生成0到9的三维模型。在这里选用multigen creator软件, 当然, 用3DMAX等软件都是可以的。Creator软件为美国MultiGen公司新一代实时仿真建模软件;它区别于其他建模软件, 主要考虑在满足实时性的前提下如何生成用户需要的三维模型。其强大的建模功能可为众多不同类型的图像发生器提供建模系统及工具, 其Openflight输出格式在实时三维领域中成为最流行的图像生成格式, 并成为视景仿真领域事实上的行业标准。 打开creator软件, 新建一个空文件。在工具栏选择“Geometry”中的“3D Text”按钮, 弹出“Text”对话框, 在“Text String”编辑框中输入“0123456789”, 点击ok, 生成平面的数字模型, 如图1所示。 接下来, 在工具栏选择“Geometry”中的“Wall”按钮, 弹出“Wall”对话框, 在“Height”编辑框中输入三维数字的厚度, 点击ok, 生成三维的数字模型, 如图2所示。 保存三维数字模型, 输出文件number0.flt。 其次, 利用Deep Exploration三维模型转换工具, 把刚才生成的openflight三维数字模型转换成OpenGL CPP的代码。具体转化过程比较简单, 在Deep Exploration软件中打开number0.flt文件, 选择菜单“Save as…”, 在保存类型中选择“OpenGL CPP code (*.cpp) ”, 根据需要点击“Setting…”按钮, 设置输出的具体选项。因为, 需要把生成的代码嵌入到工程中, 所以在“Setting…”的cpp code中选择“Display list”类型, 生成number0.cpp代码文件。在这个文件中, 包含一个OpenGL对象显示列表的函数如下: 使用同样的方法步骤, 得到了number1.cpp至number9.cpp。利用这10个显示列表函数, 可以通过程序调用生成任意的三维数据显示。下面以两位数为例说明: 3.3 蒙板存储及显示 创建镜面反射显示效果, 使用蒙板缓存技术。首先, 需要先把各个缓存

文档评论(0)

xlwkyc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档