基于OpenGL的建筑物三维建模技术_贾甲
- 格式:pdf
- 大小:220.79 KB
- 文档页数:3
基于OpenGL三维物体建模⽅法的研究与实现基于OpenGL 三维物体建模⽅法的研究与实现赵启升,李存华(淮海⼯学院计算机科学系连云港222005)E-mail :zhaoqisheng@/doc/a52784558.html摘要使⽤OpenGL 可以对读⼊的STL ⼏何模型进⾏三维真实感渲染、视⾓变换、显⽰缩放、光照设置及⿏标拾取等。
本⽂介绍了⼀种基于OpenGL 的三维物体建模⽅法,分析了基于该⽅法设计相应软件的体系结构,并着重探讨了STL ⽂件的载⼊及视⾓变换等关键技术。
关键词Visual C++ OpenGL STL 三维图形建模基⾦项⽬江苏省教育厅⾃然科学基⾦资助项⽬(NO.02KJB520012)Research and Implementation of Three-Dimensional ObjectModeling based on OpenGL TechnologyZhao Qisheng,Li Cunhua(Depart of Computer Science,Huaihai Institute of Technology,Lianyungang222005) Abstract After a STL gemometric model is read,using OpenGL can dye its color, transform its visual angle,zoom its display,set its illumination,pick its mouse and etc.This paper introduces a method of three-dimensional object modeling,analyzes the architecture of related software based on the method,and discusses emphatically such key technology as loading of STL files and visual angle transforming. Key words Visual C++ OpenGL STL Three-Dimensional Graphics Modeling1.引⾔OpenGL 是⼀个硬件和图形软件接⼝,由于它在三维真实感图形制作中性能优秀,已经成为事实上的⾼性能和交互式视景标准。
城市三维空间模型快速构建方法研究贾甲【摘要】对城市三维空间模型建立方法的研究现状进行总结,提出城市三维空间模型的快速重建方案:采用一次性生成约束TIN构建地形模型,利用数字影像提取建筑物模型,通过CSG体素生长法对建筑物实施建模.在模型的建立过程中,首次将3种方法综合使用,实现了城市三维空间模型快速显示.【期刊名称】《现代电子技术》【年(卷),期】2008(031)018【总页数】4页(P125-128)【关键词】三维空间模型;TIN;影像提取;CSG;体素生长法【作者】贾甲【作者单位】武警工程学院研究生大队,陕西,西安,710086【正文语种】中文【中图分类】TP3111 引言部队处理突发事件的现场大多在城市,地理环境十分复杂,任务却具有高精确性、高技巧性和不可重复性的特点,常规训练手段已经不能适应。
因此,针对城市三维空间数据模型的快速建立,对于提高部队作战水平,就显得尤为重要。
目前,对于小范围内、大比例尺条件下的城市环境三维空间数据模型研究还比较少,但是不少学者提出了许多方案,应用于不同的领域。
具有代表性的三维空间数据模型包括:Bak和Mills提出一个典型的地学资源管理系统(GRMS)[1],Rongxing Li提出一个基于多种表示的三维GIS系统[2]。
Molenaar提出一个形式化三维数据结构(Formal Data Structure,FDS),定义了一个三维矢量数据模型和三维拓扑关系[3]。
龚健雅提出一个以矿山应用为背景的矢量与栅格集成面向对象的三维数据模型[4]。
Victor和Pilout.M.et al提出一个基于点四面体格网(Tetrahedral Network,TEN)的三维矢量数据模型[5]。
李清泉、李德仁等针对城市三维领域的应用,提出用于城市三维空间数据模型的集成方法,即基于不规则三角网(TIN)和简单几何形体(CSG)的集成模型[6]。
在现有的三维空间数据模型中,有便于描述规则目标的模型如CSG和BR,也有便于描述不规则目标的模型如TIN和TEN。
基于VC和OpenGL的导航仿真系统三维物体建模的实现吴昊;刘建业;赵伟;段方
【期刊名称】《航空电子技术》
【年(卷),期】2004(035)002
【摘要】主要对windows环境下使用VC及OpenGL实现三维物体建模和显示的方法进行了研究,并在导航系统可视化仿真软件的开发设计中进行了综合应用.首先,对使用OpenGL在VC环境下实现三维物体建模和显示的三种方法分别进行了分析和研究,并概括阐述了相应的实现过程;然后,对三种方法的优缺点和显示效果进行了总结和对比;最后,介绍了这些方法在导航系统可视化仿真软件设计过程中的具体综合应用和效果,对于其它可视化仿真软件的三维物体建模和显示有良好的借鉴作用.
【总页数】5页(P42-45,50)
【作者】吴昊;刘建业;赵伟;段方
【作者单位】南京航空航天大学自动化学院导航研究中心,南京,210016;南京航空航天大学自动化学院导航研究中心,南京,210016;南京航空航天大学自动化学院导航研究中心,南京,210016;南京航空航天大学自动化学院导航研究中心,南
京,210016
【正文语种】中文
【中图分类】V249.4
【相关文献】
1.基于OpenGL的高效三维物体建模的研究 [J], 吴咏梅;赵敏
2.基于OpenGL的切割系统中多管相贯三维物体的建模 [J], 赵龙;郭艳玲;朱赫
3.基于VC+ +的OpenGL三维动画仿真系统的实现 [J], 韩桃;宋文忠
4.基于OpenGL三维物体建模方法的研究与实现 [J], 赵启升
5.基于OpenGL三维物体建模方法的研究与实现 [J], 赵启升
因版权原因,仅展示原文概要,查看原文内容请购买。
基于OpenGL 的大型建筑三维场景模拟的实现与意义Realization and Significance of 3D Scene Simulation in Large-scale Building Based on OpenGL肖健,魏雄,王仁波(核技术应用教育部工程研究中心东华理工大学,江西南昌330013)Xiao Jian,Wei Xiong,Wang Ren-bo (Engineering Research Center of Nuclear Technology Applica-tion,Ministry of Education,East China Institute of Technology,Jiangxi Nanchang 330013)摘要:当今对大型建筑的场景三维模拟,具有很大的社会效益甚至军事价值。
基于OpenGL 可以十分便捷的处理三维图形,且在ASSIMP 开源图形库的支持下,OpenGL 可以对三维场景文件实现非常强大的图形数据处理,但其并不善于图形界面设计。
以至于用过程中,对大型建筑场景的三维模拟通常缺乏一个客观界面,因此配合QT 设计界面及采用多线程网络算法便可以非常客观形象的展示人机交互。
关键词:OpenGL;OBJ;模型库;坐标;TCP 中图分类号:TP391.41文献标识码:A文章编号:1003-0107(2016)11-0088-05Abstract:Today,large-scale construction of the scene three-dimensional simulation,with great social and even military value.Based on OpenGL can be very convenient to deal with three-dimensional graphics,and in the ASSIMP open source graphics library support,OpenGL 3D scene files can achieve very powerful graphics data processing,but not good at graphical interface design.Therefore,in the practical application process,3D modeling of large-scale architectural scenes usually lacks an objective interface,so it can dis-play human-computer interaction with QT design interface and multithreaded network algorithm very ob-jectively.Key words:OpenGL;OBJ;model library;coordinates;TCP CLC number:TP391.41Document code:AArticle ID :1003-0107(2016)11-0088-05基金项目:1.国家自然科学基金资助项目(11665002);2.核技术应用教育部工程研究中心开放基金资助项目(HJSJYB2015-7)作者简介:肖健(1992-),男,硕士研究生,研究方向为嵌入式系统与自动控制。
基于OpenGL技术的三维建模设计作者:商立安来源:《消费导刊·理论版》2008年第16期[摘要]OpenGL即开放性图形库,它是一种高性能的开放式且功能强大的3D图形库,具有几百个指令和函数。
本文讨论了两种将常见三维模型转入OpenGL中实现交互的方法,首先对3DS文件进行分析,然后给出转化的思路。
从而将三维建模软件产生的三维模型移植到三维场景中,实现仿真。
[关键词]三维重构 OpenGL 3ds文件作者简介:商立安(1982-),男,河北省徐水县人,现为江西外语外贸职业学院信息管理系专职教师,助教,研究方向为计算机网络与计算机程序设计。
OpenGL的英文全称是“Open Graphics Library”即“开放的图形程序接口”,因为其良好的可移植性和跨平台性,已逐渐成为高性能图形开发和交互式视景仿真的国际图形标准。
它是一种高性能的开放式且功能强大的3D图形库,具有几百个指令和函数。
使用这些指令和函数可以构造出高质量的静止物体模型和动态图像,并且可以实现对模型的实时交互操作过程。
但是OpenGL中并没有提供建模的高级命令,其实现过程也是通过基本的几何图元点、线和多边形来建立三维立体模型的,过程比较繁琐,编程量较大。
现在有许多优秀的三维建模软件如3DS MAX,AUTOCAD等,都可以根据对象很方便地建立物体模型,且不需要编程便可很直观的构造模型,模型的外观更为精细。
在OpenGL中使用三维模型一种比较好的方法是先用三维建模软件建立模型,再把这些模型转入OpenGL程序,对其进行控制。
本文主要讨论将三维模型转入OpenGL程序常见的两种方法。
一、模型的三维数据格式存储三维图形数据的文件格式有很多种,其中比较常见的有: obj格式、3DS格式、WRL 格式等。
在本文中以3DS格式为例进行介绍。
在将三维模型转入OpenGL之前,首先将三维模型保存为3DS格式。
在3DS文件中就保存了所建模型模型的所有三维数据信息,包括模型全部顶点、面、材质、法线和纹理等的数据信息。
基于OpenGL的三维模型显示研究与实现边栓成【期刊名称】《微计算机信息》【年(卷),期】2012(000)010【摘要】Based on introducing the common 3D model design softwares,the disadvantages of models transforming in different software environments are analyzed.Then the method of model representation in different software environments based on OpenGL is given,Fi- nally,the software of model representation is accomplished.%在对目前三维模型设计软件介绍的基础上,分析了不同软件环境下模型传递存在的不足,提出了利用OpenGL编制显示程序将不同软件环境下的模型进行显示的方法,最后通过编写程序实现了三维模型的显示。
【总页数】2页(P404-405)【作者】边栓成【作者单位】中航工业洛阳电光设备研究所【正文语种】中文【中图分类】TP391【相关文献】1.浅析一种运用OpenGL导入显示3DS三维模型的方法 [J], 陈雪梅;谢清钟2.基于OpenGL的鱼雷弹道显示研究与实现 [J], 杨涛;姚旺生3.基于OpenGL ES的插齿加工实时仿真显示研究与实现 [J], 韩江;吴涛;夏链;田晓青;吴路路4.OpenGL下三维模型的显示和自由旋转 [J], 李长锋;修毅5.基于OpenGL的遥感像对立体显示技术研究与实现 [J], 吴婧因版权原因,仅展示原文概要,查看原文内容请购买。
目录第一章绪论 (1)1.1 研究背景和意义 (1)1.2国内外3D仿真技术应用 (1)1.2.1国外研究现状 (1)1.2.2国内研究现状 (2)1.2.3 3D仿真技术的应用发展 (2)1.3 OpenGL技术简介 (2)1.3.1 OpenGL发展历程 (3)1.3.2 OpenGL技术特点 (4)1.4 主要研究内容 (4)第二章三维仿真基础理论 (6)2.1 三维图形学基础 (6)2.1.1点 (6)2.1.2向量 (6)2.1.3矩阵 (7)2.2 OpenGL基础原理 (7)2.2.1 OpenGL 数据类型 (7)2.2.2 OpenGL工作方式 (7)2.2.3 状态机 (8)2.2.4 OpenGL渲染管线 (9)2.3 OpenGL坐标变换 (9)2.3.1坐标系统 (10)2.3.2视点变换 (10)2.3.3模型变换 (11)2.3.4 投影变换 (11)2.3.5视口变换 (13)第三章OPENGL编程原理 (14)3.1 OpenGL渲染环境搭建 (14)3.2 OpenGL绘制的图形输出为位图 (15)3.3 基本图元绘制 (16)3.4 OpenGL光照和材质 (17)3.4.1光照 (17)3.4.2材质 (18)3.4.3向场景中添加光线的步骤 (18)3.5 显示列表 (20)3.5.1分配显示列表编号 (20)3.5.2创建显示列表 (21)3.5.3调用显示列表 (21)3.5.4销毁显示列表 (22)3.6 纹理贴图 (23)3.6.1创建纹理图像 (23)3.6.3 纹理缠绕 (25)3.6.4纹理对象 (26)3.6.5 多贴图纹理 (27)3.7 漫游 (27)第四章充电车仿真系统程序 (30)4.1系统简介 (30)4.2程序模块和流程图 (31)4.2.1 总体流程图 (31)4.2.2 显示模块 (32)4.2.3 数据接口模块 (32)4.2.4 碰撞检测模块 (33)4.2.5 轨迹显示模块 (34)4.2.6 角度调控模块 (34)4.3程序运行结果 (35)4.4小结 (37)第五章总结和展望 (38)5.1总结 (38)5.2 展望 (38)参考文献 (40)致谢 (42)附录 (43)近几年,电影院真实的3D场景,游戏中炫酷的特效,海外旅行,战斗机虚拟演习,设计模拟展示等等都是三维仿真的魔力展现。
2009年1月第14卷第1期 西 安 邮 电 学 院 学 报JOURNAL OF XI ’AN UN IV ERSIT Y OF POST AND TEL ECOMMUN ICA TIONS Jan.2009Vol 114No 11收稿日期:2008-09-16作者简介:贾 甲(1984-),男,陕西宝鸡人,武警工程学院研究生大队硕士研究生;王 涛(1977-),男,陕西西安人,武警工程学院基础部讲师;刘大伟(1980-),男,山东潍坊人,武警工程学院基础部讲师。
基于Open G L 的建筑物三维建模技术贾 甲1,王 涛2,刘大伟2(1.武警工程学院研究生大队,陕西西安 710086;2.武警工程学院基础部,陕西西安 710086)摘要:建筑物三维模型的构建是数字城市三维可视化的主要内容,采用成熟的商业软件可以提高开发速度,但同时带来价格昂贵、移植性差、硬件要求高等缺点。
采用基于二维地理数据库或摄影影像提取建筑物框架,结合Open G L 丰富强大的三维绘图功能,可以快速的实现对建筑物的三维建模,同时避免了使用商业软件所带来的诸多困难。
关键词:Open G L ;建筑物;三维建模;纹理映射中图分类号:TP311 文献标识码:A 文章编号:1007-3264(2009)01-0142-03引言计算机图形图像、虚拟现实、数据库、可视化和海量存储等技术和相关理论的不断发展,使现实世界三维数字化已成为现实,数字城市建筑物建模过程正朝着简单化、规模化、标准化的方向发展[1-3]。
因此,如何快捷地构建仿真程度较高的建筑物三维模型成为实现数字城市的基本问题,单个建筑物的模型建立方法直接影响到数字城市三维可视化的速度和效果。
本文就从单个建筑物三维模型的构建角度详细说明一种可用于实际的操作方案。
1 利用OpenG L 构建建筑物模型的优势一直以来,由于技术和理论的制约,建筑物三维模型的构建一直是数字城市三维地理信息系统中难实现的一个环节,这也成为了制约三维GIS 发展的一个主要原因。
随着三维实体抽象、空间关系描述、模型化、数据组织、可视化和应用等理论与技术研究逐渐深入到实用化程度,国内外逐渐出现了Vega(美国)、Virtools (法国)、Newmap (中国)、VRmap (中国)等一批三维地理信息管理或可用于三维地理信息管理的软件系统[4]。
这些软件系统都具备将二维地理数据进行三维可视化的的重要功能。
但是,这些功能的实现几乎都是基于Open G L 的,尽管使用这些软件系统可以节省开发时间,但是作为商业软件,其昂贵的价格、难移植于其他操作系统和过高的硬件要求,对于一般小部门和小型的视景仿真是不可取的[5]。
Open G L 作为一种工业标准,严格的讲,被定义为“图形硬件的一种软件接口”[6]。
就是一种实现相同功能的硬件设备(通常是显卡)的驱动程序,具有运行速度快、开发环境要求低、对网络透明、代码可重用性高和良好的平台移植性等优势。
Open G L 包含几乎覆盖到三维立体建模方方面面的库函数,程序员可以不用在意Open G L 本身,直接进行三维绘图。
Open G L 还拥有纹理映射、投影变换、视觉转换等功能,基本满足了小型应用的需求。
2 基于Open G L 的建筑物建模方法2.1 Open G L 的工作原理Open G L 指令模型是C/S ,通常由用户程序(客户)发出命令(需求),提交给内核程序(服务器),内核程序再执行各种指令。
具体绘图工作流程如图1所示。
图1 Open G L 的绘图工作原理流程图2.2 基于Open G L 的建筑物三维建模的一般步骤(1)数据准备与预处理。
用于构造建筑物三维模型的数据包括几何数据和纹理数据。
这些数据在使用前都需要进行预处理。
几何数据预处理包括对地形DEM 数据的修正、建筑物几何数据的抽象、提取和校正等。
纹理数据预处理包括影像质量改善、纹理图像格式转换等等。
(2)设置像素格式。
无论输入到Open G L 的是何种数据,Open G L 最终都将进行像素操作,即把像素写到帧缓冲存储器上去。
因此在使用Open G L 进行三维绘图之前,需要统一像素格式。
(3)建立模型。
根据基本图元(Open G L 中把点、线、多边形、图像和位图都作为基本的处理单元)建立建筑物三维模型,并对所建立的模型进行数学描述。
(4)空间处理。
把建筑物模型放在三维空间中合适的位置,设计三维观察体实现对模型的多角度观察。
(5)效果处理。
赋予建筑物模型材质(颜色、光照及纹理等),以增强模型的真实感。
(6)光栅化。
把建筑物模型的数学描述及其材质信息转换至可以在计算机屏幕上显示的像素信息,并存入帧缓冲存储器中,Open G L 就是使用这些像素信息进行绘图。
2.3 纹理映射为了使建筑物能够达到良好的可视化效果,就必须对模型进行纹理映射。
纹理映射的基本思路是将纹理影像“贴”到由几何数据所表示的三维模型表面,纹理映射是一个非常复杂的数学过程,然而借助Open G L 对纹理映射的支持,编程者可以借助简单的几个函数完成纹理映射的主要步骤[7]:(1)函数gl TexImage2D ()定义二维纹理贴图,该函数说明所映射的纹理内容,其中包括纹理数据的指针、纹理的大小、纹理的属性(灰度或彩色)和格式等。
(2)函数gl TexParameter ()来解决纹理以何种方式映射到三维表面上的问题,Open G L 提供了多种映射方式,其中包括纹理滤波、纹理走样等。
(3)函数gl TexEnv ()说明纹理映射的环境。
在进行纹理贴图时,纹理影像可以直接贴到物体上,从而覆盖原来的颜色,也可以和物体的原有颜色进行融合。
(4)函数gl TexCoord ()定义了三维模型顶点的纹理坐标与几何坐标。
在Open G L 绘制过程中,几何坐标决定了顶点在屏幕上的绘制位置,纹理坐标决定纹理影像上哪一个像素赋给该顶点。
在实际操作过程中发现,应尽可能的使用重复纹理贴图进行纹理映射,避免使用大尺寸的纹理。
一般在对建筑物进行纹理映射过程中,通常使用拉伸和平铺两种方式。
经过比较发现,纹理映射的效果没有任何差别,但是使用平铺方式的纹理单元大小仅为拉伸方式的1/n ,n 取决于对纹理单元的分割程度。
这样可以避免因为采用大尺寸纹理带来的程序运行速度低的缺点。
重复纹理效果见图2。
图2 拉伸纹理影射方式和平铺纹理映射方式的对比通过三维模型的几何构造和真实纹理映射,再经过投影变换、视觉变换等操作后就能够获得逼真的建筑物三维模型。
・341・ 第1期贾甲等:基于Open G L 的建筑物三维建模技术3 应用与实践使用普通的数码相机在抽象建筑物外围框架的同时,对相片中纹理部分进行提取和预处理,就得到了建筑物的几何框架和纹理影像,再使用Open G L 在VC ++6.0平台下进行编程,建筑物的层数和每层高度可动态控制,对建筑物每一层分别进行重复小单元的平铺纹理映射。
实际效果如图3所示。
图3 实际效果图4 总结三维建筑物模型的几何数据可以从二维数字地图或二维GIS 数据库获得,或者利用新兴的近景摄影测量技术可以提取规则建筑物的外围几何框架;建筑物纹理影像可采用数码相机拍摄图像,再经一系列预处理后得到。
基于这种数据获取方式进行建筑物三维模型的建立,成本低、周期短。
利用VC ++调用Open G L 图形库函数编程建立建筑物三维模型,可以方便地被用户所观察,并可以与用户交互。
基于这种方式的建筑物三维模型构建方法,在实际使用过程中,更易于实现。
参 考 文 献[1] BERR Y J K ,BUCK L EY DJ.Visualize realistic land 2scapes [J ].GIS World ,1998,11(8):42-47.[2] HIDEHIKO Y.Inputting 3D landscape through stereo -vision together with camera parameter calibration [C ].Archives of Proceedings of U M 3’98.1998:14-18.[3] KOEHL M.The modeling of urban landscape [C ].In :International Archives of Photogrammetry and Promote Sensing.1996.XXXII (B4):460-464.[4] 李成名,等.数字城市三维地理空间框架原理和方法[M ].北京:科学出版社,2008.[5] 李文强,华祖耀.基于Open G L 的仿真可视化技术研究[J ].计算机仿真,2005-6:158-204.[6] Richard S.Wright ,J r.Benjamin Lipchak 著,徐波译.Open G L 超级宝典[M ].人民邮电出版社,2005-9.[7] 李颖,等.Open G L 函数与范例解析手册[M ].国防工业出版社,2002-1.3D building modeling technology based on Open G LJ IA Jia 1,WAN G Tao 2,L IU Da -wei 2(1.Dept.of Postgraduates ,Engineering College of the Armed Police Force ,Xi ′an 710086,China ;2.Basic Dept.,Engineering College of the Armed Police Force ,Xi ′an 710086,China )Abstract :The construction of 3D building modeling is a main part of the 3D visualization of a digital city ,which adopts the well -develpoed commercial software to increase development speed ,and as well accompanies the dis 2agvantages such as high price ,poor transplant character and high demand for hardware and so on.Based on the 2D geographical database or the image to extract building frameworks ,and the strong functions of 3D drawing of OpenDL ,the author suggests that the rapid 3D building modeling could be achieved and at the same time the difficulties caused by commercial softwares could be avoided.K ey w ords :Open G L ;building ;3D modeling ;texture mapping・441・西 安 邮 电 学 院 学 报 2009年1月。