CN103116905A - 山体三维模型的渐变设色效果实现方法 - Google Patents
山体三维模型的渐变设色效果实现方法 Download PDFInfo
- Publication number
- CN103116905A CN103116905A CN2012105498334A CN201210549833A CN103116905A CN 103116905 A CN103116905 A CN 103116905A CN 2012105498334 A CN2012105498334 A CN 2012105498334A CN 201210549833 A CN201210549833 A CN 201210549833A CN 103116905 A CN103116905 A CN 103116905A
- Authority
- CN
- China
- Prior art keywords
- model
- massif
- mountain
- dimensional
- color
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
一种山体三维模型的渐变设色效果实现方法:包括采用软件开发平台建立三维可视化程序;在三维可视化程序中加载山体模型,针对具体模型,获取模型顶点数据,保存到三维可视化程序的顶点数据的数组中;根据山体高程变化范围和颜色变化范围,设计一个颜色随高程变化的比例系数,计算山体模型各顶点的颜色值;按照给出的比例系数和颜色值,给山体模型各顶点赋颜色值,渲染实现渐变效果。本发明可以根据山体的具体地形特征,调整颜色渐变变化,灵活方便。可以立体展示三维山体模型的山势起伏高低变化,一目了然掌握山体模型的整体情况。总之这样颜色渐变的山体效果提高了山体模型的显示真实感,能够帮助我们更好地了解山体概况。
Description
技术领域
本发明涉及一种山体三维模型的渐变设色。特别是涉及一种山体三维模型的渐变设色效果实现方法。
背景技术
随着计算机仿真技术、图形学技术、多媒体技术等的发展,三维可视化技术方形未艾,已经广泛应用于社会生活的各个领域,比如数字城市、军事应用、风景区规划、交通监控、医疗救助等。
三维可视化(3D Visualization)技术是20世纪80年代中期诞生的一门集计算机数据处理、图像显示的综合性前缘技术。它是一种把描述物理现象的数据转化为图形、图像,并运用颜色、透视、动画和观察视点的实时改变等视觉表现形式。
分层设色法是以一定的颜色变化次序或色调深浅来表示地貌的方法,常用于二维地形图,按照不同的高度和深度,赋予深浅不同的褐色、黄色、绿色、蓝色等颜色,以鲜明的表示地面和海底起伏的形态。二维的分层设色地形图效果见附图1。
在许多三维可视化的应用中,山体模型都成为场景显示的重要部分,例如,水利工程中的山体。增强山体显示的真实感,有助于提升三维可视化场景的整体视觉效果,增加场景沉浸性。
在实现具有山体模型的三维可视化的过程中,提高山体的显示效果至关重要,如果山体显示不真实,就会导致整个场景真实效果的逊色。
发明内容
本发明所要解决的技术问题是,提供一种将二维地形图的分层设色思想应用于三维模型中,并进行改进,不仅使山体颜色随山体高程不同而不同,而且使这种变化渐变显示,过渡自然。既表现出了大概的山体高程范围,又增强了山体起伏变化效果的山体三维模型的渐变设色效果实现方法。
本发明所采用的技术方案是:一种山体三维模型的渐变设色效果实现方法,包括步骤:
1)采用软件开发平台建立三维可视化程序;
2)在三维可视化程序中加载山体模型,针对具体模型,获取模型顶点数据,保存到三维可视化程序的顶点数据的数组中;
3)根据山体高程变化范围和颜色变化范围,设计一个颜色随高程变化的比例系数,计算山体模型各顶点的颜色值;
4)按照步骤3)给出的比例系数和颜色值,给山体模型各顶点赋颜色值,渲染实现渐变效果。
步骤1)所述的软件开发平台为VS2008或VS2010或VS2003。
步骤1)所述的三维可视化程序中包括有:保存顶点数据的数组,保存颜色的数据对象,图形引擎。
步骤2)所述的三维模型的顶点数据是三维的,由x、y、z三个方向上的数据值确定单个顶点在三维空间中的位置。
步骤3)所述的山体高程的变化是z方向上数据的变化。
步骤3)所述的比例系数的设定要考虑两方面的问题:(1)山体最低处和最高处的高程,(2)想要达到的颜色变化效果,根据这两方面关系设计比例系数;
设山体模型最低处的高程为H1,山体模型最高处的高程为H2,单独考虑红绿蓝三个颜色分量的变化,设定每个分量最低高程的分量值为C1,最高高程的分量值为C2,那么每个颜色分量的比例系数为n=(C2-C1)/(H2-H1)。
步骤3)所述的计算山体模型各顶点的颜色值,采用如下公式:
每个模型顶点的每个颜色分量为col=C1+(H-H1)×n
其中:C1是最低高程对应颜色分量的分量值,H是顶点的高程,n是比例系数。
本发明的山体三维模型的渐变设色效果实现方法,对于有山体模型的可视化场景非常实用。可以根据山体的具体地形特征,调整颜色渐变变化,灵活方便。可以立体展示三维山体模型的山势起伏高低变化,可以直观的展示山体大概的高程分局情况,一目了然掌握山体模型的整体情况。总之这样颜色渐变的山体效果提高了山体模型的显示真实感,能够帮助我们更好地了解山体概况。
附图说明
图1是现有的分层设色地形效果图;
图2是本发明方法的流程图;
图3是采用本发明的山体三维模型的渐变设色效果实现方法得到的山体模型渐变效果图。
具体实施方式
下面结合实施例和附图对本发明的山体三维模型的渐变设色效果实现方法做出详细说明。
本发明的山体三维模型的渐变设色效果实现方法,包括如下步骤:
1)采用软件开发平台建立三维可视化程序
所述的软件开发平台为VS2008或VS2010或VS2003。
所述的三维可视化程序中包括有:保存顶点数据的数组,保存颜色的数据对象,图形引擎(OSG或OpenGL等)。
2)在三维可视化程序中加载山体模型,针对具体模型,获取模型顶点数据(山体模型是由不规则的数据点连成三角网组成,三角形的每一个点称之为顶点),保存到三维可视化程序的顶点数据的数组中;所述的三维模型的顶点数据是三维的,由x、y、z三个方向上的数据值确定单个顶点在三维空间中的位置。
3)根据山体高程变化范围和颜色变化范围,设计一个颜色随高程变化的比例系数,计算山体模型各顶点的颜色值;所述的山体高度的变化是z方向上数据的变化。
设计山体模型颜色随高度变化的比例系数要考虑两方面的问题:
(1)山体最低处和最高处的高程(海拔);(2)想要达到的颜色变化效果,根据这两方面关系设计比例系数。
设山体模型最低处的高程为H1,山体模型最高处的高程为H2,单独考虑红绿蓝三个颜色分量的变化,设定每个分量最低高程的分量值为C1,最高高程的分量值为C2,那么每个颜色分量的比例系数为n=(C2-C1)/(H2-H1)。
如果山体高度的变化为H1到H2,H1是山体模型最低处的高程,H2是山体模型最高处的高程,颜色是由红绿蓝三个分量混合而成,单独考虑每个分量的变化。红色分量的变化是从C1红到C2红(C1红是对应最低高程H1的红色分量,C2红是对应最高高程H2的红色分量),那么红色分量的比例系数为n红=(C2红-C1红)/(H2-H1)。同理,n绿=(C2绿-C1绿)/(H2-H1),n蓝=(C2蓝-C1蓝)/(H2-H1)。
有了每个颜色分量的系数,就可以对山体模型的每个顶点,求出每个颜色分量的颜色值col=C1+(H-H1)×n,其中H表示任意顶点的高程。具体的是,col红=C1红+(H-H1)×n红,col绿=C1绿+(H-H1)×n绿,col蓝=C1蓝+(H-H1)×n蓝。三色混合即为山体模型一个顶点呈现的颜色效果,所有顶点的颜色效果构成了整个山体的颜色效果。
例如:山体高度为0到600米,想要的山体模型颜色变化效果为绿色到红褐色的渐变过渡。由颜色代码表可知,山底需要的绿色表示为(102,255,0)。山顶需要的红褐色表示为(102,0,0)。颜色代码表每个分量的变化范围是0到255,而图形引擎中颜色的每个分量的变化范围是0到1,因此在程序中换算成,山底需要的绿色表示为(0.4,1,0),山顶需要的红褐色表示为(0.4,0,0)。从这两个颜色表示中可以看出,第一和第三个分量没有变化,第二个分量是从1逐步减小到0。在这种情况下,系数n红=0,n绿=(0-1)/(600-0)=-1/600,n蓝=0,颜色值col红=C1红,col绿=C1绿+(H-H1)×n绿,col蓝=C1蓝。
4)按照步骤3)给出的比例系数、模型各顶点的颜色值,给山体模型各顶点赋相应的颜色值,渲染实现渐变效果。提高山体的显示效果至关重要,如果山体显示不真实,就会导致整个场景真实效果的逊色。山体模型中的每个顶点包括的信息有:顶点坐标,颜色,法向量,纹理等,改变山体模型各顶点的颜色值是采用图形引擎中的函数给山体模型的顶点赋颜色值。
所述的山体模型顶点的颜色值的变化符合实际的规律,一般情况下,低海拔用绿色,绿色越深,海拔越低。相对较高的用黄色,黄色越深海拔越高。高海拔处用棕褐色,褐色越深海拔越高。
通过上面的步骤,可以实现山体渐变效果的展示。例如在OSG引擎的实现过程中,通过所用图形引擎提供的类和方法,获取山体顶点(三角网的顶点)数据,将其保存在Vec3Array类型的对象中,对象名设为verties[][]。第一个[]中确定是哪一个具体顶点,第二个[]中只有三个值0,1,2,其中0代表x方向,1代表y方向,2代表z方向。那么a点的高度值可以表示为verties[a][2]。定义Vec4类型的数组来保存颜色值,颜色值除了RGB值之外,还包括一个Alpha分量(Alpha分量通常都设为1,代表不透明,本实施例也设其为1),其中R是红色,G是绿色,B是蓝色,A是Alpha的色彩空间。利用push_back()函数给山体模型顶点赋相应的颜色值。
Claims (7)
1.一种山体三维模型的渐变设色效果实现方法,其特征在于,包括如下步骤:
1)采用软件开发平台建立三维可视化程序;
2)在三维可视化程序中加载山体模型,针对具体模型,获取模型顶点数据,保存到三维可视化程序的顶点数据的数组中;
3)根据山体高程变化范围和颜色变化范围,设计一个颜色随高程变化的比例系数,计算山体模型各顶点的颜色值;
4)按照步骤3)给出的比例系数和颜色值,给山体模型各顶点赋颜色值,渲染实现渐变效果。
2.根据权利要求1所述的山体三维模型的渐变设色效果实现方法,其特征在于,步骤1)所述的软件开发平台为VS2008或VS2010或VS2003。
3.根据权利要求1所述的山体三维模型的渐变设色效果实现方法,其特征在于,步骤1)所述的三维可视化程序中包括有:保存顶点数据的数组,保存颜色的数据对象,图形引擎。
4.根据权利要求1所述的山体三维模型的渐变设色效果实现方法,其特征在于,步骤2)所述的三维模型的顶点数据是三维的,由x、y、z三个方向上的数据值确定单个顶点在三维空间中的位置。
5.根据权利要求1所述的山体三维模型的渐变设色效果实现方法,其特征在于,步骤3)所述的山体高程的变化是z方向上数据的变化。
6.根据权利要求1所述的山体三维模型的渐变设色效果实现方法,其特征在于,步骤3)所述的比例系数的设定要考虑两方面的问题:(1)山体最低处和最高处的高程,(2)想要达到的颜色变化效果,根据这两方面关系设计比例系数;
设山体模型最低处的高程为H1,山体模型最高处的高程为H2,单独考虑红绿蓝三个颜色分量的变化,设定每个分量最低高程的分量值为C1,最高高程的分量值为C2,那么每个颜色分量的比例系数为n=(C2-C1)/(H2-H1)。
7.根据权利要求1所述的山体三维模型的渐变设色效果实现方法,其特征在于,步骤3)所述的计算山体模型各顶点的颜色值,采用如下公式:
每个模型顶点的每个颜色分量为col=C1+(H-H1)×n
其中:C1是最低高程对应颜色分量的分量值,H是顶点的高程,n是比例系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105498334A CN103116905A (zh) | 2012-12-17 | 2012-12-17 | 山体三维模型的渐变设色效果实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105498334A CN103116905A (zh) | 2012-12-17 | 2012-12-17 | 山体三维模型的渐变设色效果实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103116905A true CN103116905A (zh) | 2013-05-22 |
Family
ID=48415269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105498334A Pending CN103116905A (zh) | 2012-12-17 | 2012-12-17 | 山体三维模型的渐变设色效果实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103116905A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069846A (zh) * | 2015-08-05 | 2015-11-18 | 网易(杭州)网络有限公司 | 3d模型变换方法、装置及终端 |
CN110782534A (zh) * | 2019-09-19 | 2020-02-11 | 稿定(厦门)科技有限公司 | 3d文字颜色渐变方法、介质、设备及装置 |
WO2022105182A1 (zh) * | 2020-11-23 | 2022-05-27 | 上海莉莉丝科技股份有限公司 | 三维虚拟空间中的像素点的着色方法、***、设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093625A (zh) * | 2007-07-10 | 2007-12-26 | 武汉大学 | 地貌晕渲制图中混合设色方法及晕渲地图 |
-
2012
- 2012-12-17 CN CN2012105498334A patent/CN103116905A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093625A (zh) * | 2007-07-10 | 2007-12-26 | 武汉大学 | 地貌晕渲制图中混合设色方法及晕渲地图 |
Non-Patent Citations (3)
Title |
---|
凌勇 等: "《基于明暗等深线与分层设色的海底地形立体表示方法研究》", 《海洋测绘》 * |
孙永刚 等: "《计算机自动晕渲地图的研制》", 《测绘技术装备》 * |
张雷 等: "《基于DEM的南京市彩色晕渲地图的研制》", 《现代测绘》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069846A (zh) * | 2015-08-05 | 2015-11-18 | 网易(杭州)网络有限公司 | 3d模型变换方法、装置及终端 |
CN105069846B (zh) * | 2015-08-05 | 2018-08-07 | 网易(杭州)网络有限公司 | 3d模型变换方法、装置及终端 |
CN110782534A (zh) * | 2019-09-19 | 2020-02-11 | 稿定(厦门)科技有限公司 | 3d文字颜色渐变方法、介质、设备及装置 |
CN110782534B (zh) * | 2019-09-19 | 2023-04-07 | 稿定(厦门)科技有限公司 | 3d文字颜色渐变方法、介质、设备及装置 |
WO2022105182A1 (zh) * | 2020-11-23 | 2022-05-27 | 上海莉莉丝科技股份有限公司 | 三维虚拟空间中的像素点的着色方法、***、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hnaidi et al. | Feature based terrain generation using diffusion equation | |
CN103606184B (zh) | 一种基于二维和三维一体化矢量渲染引擎的装置 | |
CN104736971B (zh) | 用于空间地表示数字的地图片段的装置和方法 | |
CN103093505A (zh) | 山体模型的分层设色效果实现方法 | |
US20040176908A1 (en) | Map displaying apparatus | |
CN102289845B (zh) | 一种三维模型绘制方法以及装置 | |
CN111784833A (zh) | 基于WebGL的洪水演进态势三维动态可视化展示方法 | |
CN104395948B (zh) | 光栅图像立体化处理装置、光栅图像立体化方法以及光栅图像立体化程序 | |
CN104103090A (zh) | 图像处理方法、个性化人体显示方法及其图像处理*** | |
CN108305315B (zh) | 一种基于wpf的三维地形高效渐变着色方法 | |
CN105184843B (zh) | 一种基于OpenSceneGraph的三维动画制作方法 | |
CN110115841B (zh) | 一种游戏场景中植被对象的渲染方法和装置 | |
CN112675545B (zh) | 地表仿真画面的显示方法和装置、存储介质及电子设备 | |
CN103116905A (zh) | 山体三维模型的渐变设色效果实现方法 | |
CN102117491B (zh) | 一种三维建模中纹理数据的绘制方法及装置 | |
CN104157000B (zh) | 模型表面法线的计算方法 | |
Soetaert | plot3D: Tools for plotting 3-D and 2-D data. | |
CN110400372A (zh) | 一种图像处理的方法及装置、电子设备、存储介质 | |
CN108733711A (zh) | 基于三维gis技术的配电线路空间距离获取方法 | |
CN106780700B (zh) | 一种基于vr技术的游戏个性化3d着色方法 | |
CN113158106A (zh) | 一种基于NetCDF淹水数据的可视化方法 | |
Jenny et al. | Introducing plan oblique relief | |
CN106683165A (zh) | 文化遗产的四维可视化方法 | |
Lin et al. | 3D visibility analysis in urban environment–Cognition research based on VGE | |
CN114470756A (zh) | 星空模拟方法、星空模拟装置、计算机设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130522 |