论文部分内容阅读
摘要:本文以在给定环境下的地貌演绎生成为主要研究目标,对.NET环境下的OpenGL库开发三维场景技巧進行阐述,并分析基于OpenGL环境下的三维地貌演绎的设计思路。通过可靠的数学模型,将地貌演绎结果表现出来,以此提高地貌演绎的真实性。
关键词:OpenGL,地貌演绎,三维场景,.Net,C#
随着北斗系统在中国近年来的全面推广,已经逐渐成为对中国境内定位导航的新生力量。但是北斗定位系统尚处于起步阶段,对中国地形地貌数据采集量还较少,不便于对复杂地貌环境下的地位导航。基于这种现象,北斗系统需要利用少量采集的现有数据,并通过科学有效的数学模型,对一定时间内一定区域内的地貌演绎做出正确预测,并通过可视化的图形信息表示出来。
一、系统设计
要使得地貌演绎的数据真实可靠,并且便于人观察操作是地貌演绎过程中的主题。所以,通过分析影响演绎的因素,构建合理的地貌演绎数学模型,使用可视化的图形信息表示是在进行地貌演绎时亟待研究与解决的重要问题。
(一)系统框架分析
地形地貌的演绎生成过程受到多方面的影响。影响我国地貌发育的内外力因素,主要有地质构造因素、气候因素、地表组成物质因素、人类活动因素等[1]。在本文中着重讨论关于非人为影响下的地貌形成演绎过程,通过对地质构造、气候、降雨量等因素的控制,给定一段时间进行演绎,得出地貌变化的结果。
在得到地貌结果后,需要通过可视化的形式表现出来,为了使地貌信息的所有细节都能最大程度的保留以及便于观察等因素,本文采用了OpenGL库对构成的图形进行了表示。OpenGL具有跨平台等多种优点,且相较于Direct并没有声音库等对本文研究结果无用的库,因此OpenGL更加小巧灵活。
在生成地貌图形后,为了方便人员对影响地貌信息的因素做调整比较,因此需要一个更人性化的交互设计,因为整个系统运行在Windows操作系统下,因此选用.NET开发平台对整个系统进行开发。.NET具有大量优秀的控件,方便设计人性化的交互界面。
(二)系统框架图
结合设计过程中的其他问题,最后设计的系统框架图如图一所示
图一
二、程序设计
在.NET平台下最好的编程语言是C#,但是OpenGL并没有对C#进行接口封装,因此需要选用其他第三方对OpenGL封装的API,通过查找比较,最终选择了SharpGL库,SharpGL库将OpenGL封装为一个控件,并C#写了所有OpenGL接口,开发起来较为方便[2]。
在程序中采用了点击鼠标左键并移动鼠标可旋转生成的地形图,便于360°观察整个地形地貌;采用滚动鼠标滚轮缩放地形图,便于观察整个地形或观察细微地貌信息;采用WASD移动地形图,结合上述两种交互方式,方便对地形地貌的各个地方进行观察分析[3]。
在程序中可以对土壤属性、天气、降雨量、初始植被量、演绎时间等属性进行交互操作,通过除演绎时间外的其他属性控制演绎过程中的影响因子,通过控制演绎时间来生成最终的演绎结果数据。
生成的演绎结果数据分为两类,第一类为在该地形形成的湖泊量,第二类为在影响因子的作用下,该地域植被的生长量,通过这两个量在OpenGL中画出相对应的湖泊和植被。其中湖泊是画出一个平行于地平面的一个面,并根据湖泊量对该平面进行平移,使湖泊面升高或降低;植被的生长是由植被量通过查表选出与之最匹配的纹理贴图,并将该贴图贴到地形图中。
在地形地貌图中增加了天空盒部分,使整个地形地貌显得更真实。
四、总结
本文分析研究了.NET环境下,基于OpenGL库的三维可视化真实地貌演绎生成算法设计。设置影响因素与演绎时间后,通过科学有效的数学模型计算出演绎后的数据,并通过演绎后的数据,结合OpenGL绘制出合理的三维地形地貌图形。
参考文献:
[1]王壮志,王岩.中国地貌形成过程[J].西江月,2014,(第8期).
[2] http://www.codeproject.com/KB/openGL/sharpgl.aspx
关键词:OpenGL,地貌演绎,三维场景,.Net,C#
随着北斗系统在中国近年来的全面推广,已经逐渐成为对中国境内定位导航的新生力量。但是北斗定位系统尚处于起步阶段,对中国地形地貌数据采集量还较少,不便于对复杂地貌环境下的地位导航。基于这种现象,北斗系统需要利用少量采集的现有数据,并通过科学有效的数学模型,对一定时间内一定区域内的地貌演绎做出正确预测,并通过可视化的图形信息表示出来。
一、系统设计
要使得地貌演绎的数据真实可靠,并且便于人观察操作是地貌演绎过程中的主题。所以,通过分析影响演绎的因素,构建合理的地貌演绎数学模型,使用可视化的图形信息表示是在进行地貌演绎时亟待研究与解决的重要问题。
(一)系统框架分析
地形地貌的演绎生成过程受到多方面的影响。影响我国地貌发育的内外力因素,主要有地质构造因素、气候因素、地表组成物质因素、人类活动因素等[1]。在本文中着重讨论关于非人为影响下的地貌形成演绎过程,通过对地质构造、气候、降雨量等因素的控制,给定一段时间进行演绎,得出地貌变化的结果。
在得到地貌结果后,需要通过可视化的形式表现出来,为了使地貌信息的所有细节都能最大程度的保留以及便于观察等因素,本文采用了OpenGL库对构成的图形进行了表示。OpenGL具有跨平台等多种优点,且相较于Direct并没有声音库等对本文研究结果无用的库,因此OpenGL更加小巧灵活。
在生成地貌图形后,为了方便人员对影响地貌信息的因素做调整比较,因此需要一个更人性化的交互设计,因为整个系统运行在Windows操作系统下,因此选用.NET开发平台对整个系统进行开发。.NET具有大量优秀的控件,方便设计人性化的交互界面。
(二)系统框架图
结合设计过程中的其他问题,最后设计的系统框架图如图一所示
图一
二、程序设计
在.NET平台下最好的编程语言是C#,但是OpenGL并没有对C#进行接口封装,因此需要选用其他第三方对OpenGL封装的API,通过查找比较,最终选择了SharpGL库,SharpGL库将OpenGL封装为一个控件,并C#写了所有OpenGL接口,开发起来较为方便[2]。
在程序中采用了点击鼠标左键并移动鼠标可旋转生成的地形图,便于360°观察整个地形地貌;采用滚动鼠标滚轮缩放地形图,便于观察整个地形或观察细微地貌信息;采用WASD移动地形图,结合上述两种交互方式,方便对地形地貌的各个地方进行观察分析[3]。
在程序中可以对土壤属性、天气、降雨量、初始植被量、演绎时间等属性进行交互操作,通过除演绎时间外的其他属性控制演绎过程中的影响因子,通过控制演绎时间来生成最终的演绎结果数据。
生成的演绎结果数据分为两类,第一类为在该地形形成的湖泊量,第二类为在影响因子的作用下,该地域植被的生长量,通过这两个量在OpenGL中画出相对应的湖泊和植被。其中湖泊是画出一个平行于地平面的一个面,并根据湖泊量对该平面进行平移,使湖泊面升高或降低;植被的生长是由植被量通过查表选出与之最匹配的纹理贴图,并将该贴图贴到地形图中。
在地形地貌图中增加了天空盒部分,使整个地形地貌显得更真实。
四、总结
本文分析研究了.NET环境下,基于OpenGL库的三维可视化真实地貌演绎生成算法设计。设置影响因素与演绎时间后,通过科学有效的数学模型计算出演绎后的数据,并通过演绎后的数据,结合OpenGL绘制出合理的三维地形地貌图形。
参考文献:
[1]王壮志,王岩.中国地貌形成过程[J].西江月,2014,(第8期).
[2] http://www.codeproject.com/KB/openGL/sharpgl.aspx