文号
t50080
阅读
13551
回复
22
收藏
10
求地形图颜色渐变算法
2012/08/28
IP:广东
获取了各点的海拔高度值,现在我是用最原始的方法将它们显示出来的

就是用高度平均分成3段,第一段用红色,第二段用绿色,第三段用蓝色。再把每一段分为256份。

以上描述估计各位看了不太明白,下面举个例子:
比如说我的数据的范围是-12000m~9000m(最深处马里亚纳海沟,最高处珠穆朗玛峰)

我就把这21000m的长度分为三段,每段7000m

2000m~9000m的颜色为RGB(X,0,0)
-5000m~2000m的颜色为RGB(0,X,0)
-12000m~-5000m的颜色为RGB(0,0,X)

X的取值范围为0~255

7000m / 256 ≈ 27.3m

拿8844m来说
8844m - 2000m = 6844m
6844m / 27.3m ≈ 251
那么海拔8844m的点显示出来的颜色就是RGB(251,0,0)


这个就是我的笨拙方法了,看是能看,就是效果太烂,求精美一点的算法

附上效果图
a.png
+1
科创币
yanli12321
2012/08/28
格陵兰岛怎么黑了?
eifheowvd作者
14年4个月前IP:未同步
445669
1楼
在网上搜了不少关于地形图方面的,只发现了下面这张图,这个我感觉很不错,不过这图是05年的,原作者的资料什么的都找不到
b.jpg
引用
评论
eifheowvd作者
14年4个月前IP:未同步
445681
3楼
回 2楼(.........) 的帖子
不是数据的问题,纯粹是因为算法太SB了,数据可以精确到小数点后7位(我把小数四舍五入成整数了,不过单纯整数精度也是足够的) [s:247]
引用
评论
eifheowvd作者
14年4个月前IP:未同步
445755
6楼
Re:yanli12321
格陵兰岛RGB三个值都接近0,所以看起来黑
引用
评论
eifheowvd作者
14年4个月前IP:未同步
447834
19楼
好几天没来,现在上个图[s:274]

a.png
+100
科创币
novakon
2012/09/01
赞扬您
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的