资源描述:
《基于opengl的点云数据显示与更新》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、王东甫:,侯文广2(I.广东省电力设计研宂院,广东广州510600:2.武汉大学遥感信息工程学院,湖北武汉430079)摘要:介绍基于OpenGL的点云数据的显示与更新,主要针对点云数据的前期处理。给出丁三维场景绘制、双缓祁技术的运用、坐标转换等过程及部分实现代码。关键词:点云;OpenGL;交互操作;动态更新DisplayandUpdatingofPointCloudDataBasedonOpenGLWANGDongfu1,HOUWenguang2(1.GuangdongElectricPowerDesignInstitute,Guangzhou510600,China;2.Schoo
2、lofRemoteSensingandInformationEngineering,WuhanUniversity,Wuhan430079,China)Abstract:Inordertodealwiththedataofpointcloud,thewaysofdisplayandupdatingbasedonOpenGLhavebeenintroduced.Thepaperprovidesprocessandpartsofprogramincludingdrawing3Dscene,applicationofdoublebuffertechnique,transformationofc
3、oordinationetc.Keywords:pointcloud;OpenGL;mutualoperation;激光扫描系统与结构光测量系统正越來越广泛地用于工业生产各个方而,这两种系统所提供主要数扮足具奋三维空间坐标的点云。在一些比较髙裆的激为扫描系统屮,提供配套应用软件或二次开发软件包,使得用户能够对原始点云数裾进行可视化管理。但是令多种中低档激光扫描系统和自行幵发的结构光测S系统没有和应的后期可视化处理软件。在多数情况下这些系统所捉供的原始点云数据是通过市场上已有三维建模与讨视化软件进行管理,如AutoCAD、3DMax等。由于这些软件木身针对性不强,对仅仅具有三维空间平标的点
4、云数据进行可视化管理时存在诸多不便,因此木文提出一种简单实用方法——基于OpenGL的点云数据的显示与管理。OpenGL是bl前流行的开放式的三维阁形标准,提供了一种阁形与硬件的接口。它包括了120余个图形函数,开发者可以用这些函数來建立收稿百期:"2005^)4-02dynamicupdating三维模型和进行三维实吋交互。本文主耍针对前期据的简单处理,如空间氷标三维显示、点云的旋转平移、缩放以及点云数据的删除与更新等,1三维场景绘制的初始化在Windows坏镜下,三维场景绘制程序必须先行图形渲染场景(RenderingContext)的初始化,括设置绘阁格式、调色板、映射模式等其它
5、阁形性。像素格式的设定是设置绘阁格式的第一步操作OpenGL通过没置PIXSELFORMATDESCRIPTOR结的各项参数來设置像素格式,其屮包括颜色模(RGBA颜色索引)、单双缓存、颜色深度及其它些属性,Win32通常的设定如下:PIXELFORMATOESCRIPTORpfd={sizeof(PIXELFORMATDESCRIPTOR),"p结构的大小I"12JAnalyst>RasterCalculator,输入表达式int(
6、Calculation
7、),1?Evaluate,生成新的團层Suitbility。3结语本文利用GIS的建校思想,借助其制图功能和空间分析功能将选
8、址屮的限制性因子制作成图参考文献刘云越,刘源月.城市生活垃圾卫生填埋场选址综合析[J].中国测试技术,2004,30(5):74-75颜维安,杭徳荣.川地理信息系统评价垃圾填埋场选的研究丨J
9、•中国卫生工程学,2003,2(3):133叫34刘云斌.城市生活垃圾埙埋场选址投糊综合评判系统IMJ//版本号//支持在窗n屮//支持OpenGL//双缓权模式//RGBA颜色模//24位颜色深度//忽略颜色位//没有非透明度缓//忽略移位位//无累加缓存//忽略累加位//32位深度缓存//无模板缓存//无辅助缓存//主层//保留//忽略层PFD_DRAW_TO_WINDOW
10、绘阁PFD_SUP
11、PORT_OPENGL
12、PFD_D()UBLEBUFFER,PFD_TYPE_RGBA,式24,0,0,0,0,0,0,0,存0,0,◦,0,◦,0,32,0,0,PFDMAINPLANE,0,0,0,0取得此数裾结构后通过ChoosePixelFomat()和SetPixelFormat()两个函数选择没定像素格式。在以VisualCT平台建立的工程中,启动ClassWizard,并在视W类中添加OnCreate0、OnSize