多语言展示
当前在线:1653今日阅读:4今日分享:26

Mathematica实战范例:[16]FunwithFlags_5

接着上一次 FunwithFlags , 我们继续多玩一下旗帜. 在这经验之中呢, 我们想要创建一幅全球地图, 这并不陌生对吧(如果您常看我们这个系列经验的话), 但是在这一次, 我们不是将某种颜色对相应国家着色, 而是用国旗来显示.
方法/步骤
1

我们先来看一下最后的结果如何.

2

Ok, 让我们正式开始吧. 实际上我们要接着纹理相关额函数, 比如下面代码所示那样, 将我国的国旗映射在一个多边形内, 请注意 VertexTextureCoordinates 指定了要映射的范围.

3

我们可以改变 VertexTextureCoordinates 的指定范围, 比如下面代码, 我们只将国旗映射到了一个三角形内, 这就是我们马上要用到的国家边界内映射到一个国旗图片的原理.

4

这里需要查一句话,  VertexTextureCoordinates 选项并不只是适用在  Polygon 内. 如下面表格所示这些函数内都能指定该选项.

6

是的, 国旗放置的方向似乎不太对, 那我们可以通过 ImageReflect 来修改这一点. 再次运行, 现在整幅图形没问题了.

7

剩下的事情, 就是扩大绘图的范围了, 那先拿亚洲国家来运行看看呗.

8

最后再来整个世界地图, 虽然颜色有点杂乱, 不过我们还是能从地图上发现一些相当有趣的事情, 比如似乎不少国家的国旗都含有绿色和红色, 尤其是非洲国家, 然后偏爱的颜色应该是蓝色和黄色了. 好这是我们这一次的 FunwithFlags. 各位朋友, 我相信您应该能意识到用相同的原理可以将各种Logo 或图像去实现不同地区之上, 是不是有点跃跃欲试了呢? 好, 可以动手去做了. 那先让我们停在这里, 下一次再见!

推荐信息