Mathematica实战范例:[16]FunwithFlags_5
接着上一次 FunwithFlags , 我们继续多玩一下旗帜. 在这经验之中呢, 我们想要创建一幅全球地图, 这并不陌生对吧(如果您常看我们这个系列经验的话), 但是在这一次, 我们不是将某种颜色对相应国家着色, 而是用国旗来显示.
我们先来看一下最后的结果如何.
Ok, 让我们正式开始吧. 实际上我们要接着纹理相关额函数, 比如下面代码所示那样, 将我国的国旗映射在一个多边形内, 请注意 VertexTextureCoordinates 指定了要映射的范围.
我们可以改变 VertexTextureCoordinates 的指定范围, 比如下面代码, 我们只将国旗映射到了一个三角形内, 这就是我们马上要用到的国家边界内映射到一个国旗图片的原理.
这里需要查一句话, VertexTextureCoordinates 选项并不只是适用在 Polygon 内. 如下面表格所示这些函数内都能指定该选项.
Ok, 继续, 我们将国旗的纹理映射在我国的边界内, 首先绘制出我国的边界, 进行一次替换, 在替换的过程中指定纹理. 注意观察图形, 哪里有些不妥之处.
是的, 国旗放置的方向似乎不太对, 那我们可以通过 ImageReflect 来修改这一点. 再次运行, 现在整幅图形没问题了.
剩下的事情, 就是扩大绘图的范围了, 那先拿亚洲国家来运行看看呗.
最后再来整个世界地图, 虽然颜色有点杂乱, 不过我们还是能从地图上发现一些相当有趣的事情, 比如似乎不少国家的国旗都含有绿色和红色, 尤其是非洲国家, 然后偏爱的颜色应该是蓝色和黄色了. 好这是我们这一次的 FunwithFlags. 各位朋友, 我相信您应该能意识到用相同的原理可以将各种Logo 或图像去实现不同地区之上, 是不是有点跃跃欲试了呢? 好, 可以动手去做了. 那先让我们停在这里, 下一次再见!
版权声明:本站【趣百科】文章素材来源于网络或者用户投稿,未经许可不得用于商用,如转载保留本文链接:https://www.qubaik.com/answer/163261.html