90行代码让微信地球转起来,太酷了!(python实现)!

1.微信地球

手机重启后打开微信的一瞬间,会看到一幅有名的图片,上面站着一个 张小龙 。

90行代码让微信地球转起来,太酷了!(python实现)!

你可曾想过这样一个问题, 如果上面那个地球转起来会是怎样?

2.效果图

90行代码让微信地球转起来,太酷了!(python实现)!

效果简直不要太酷炫,我只能直呼太牛逼!那么这样一个酷炫的操作是怎么做出来的呢?我们接着往下看。

3.素材准备

这里共需要准备三个素材:1. 地球表面素材 ;2. 云图素材 ;3. 微信地球的抠图素材 。

1)地球表面素材

90行代码让微信地球转起来,太酷了!(python实现)!

2)云图素材

90行代码让微信地球转起来,太酷了!(python实现)!

3)微信地球的抠图素材

90行代码让微信地球转起来,太酷了!(python实现)!

4.基本原理

基本的贴图方法在本博前面的文章 《用python实现旋转地球》 中讲过了,具体可以参考下面的链接,这里重点讲 双层素材 的动态效果。云图是灰度图, 白色 地方代表云层厚, 黑色 的地方代表那里云层薄,我们根据颜色设置不同的透明度。

https://blog.****.net/xiaorang/article/details/106692489

如果云图与地面的选择速度相同,会显得不自然,我们这里让云层旋转速度比地面旋转速度慢一半,产生 相对运动 的效果。

这样带来的问题是,地球旋转360°后云图只旋转了180°,必须加倍到720°才能实现 连续运动。

具体的云层透明度设置,参数需根据实际效果进行调整。

5.GIF压缩

顺便给大家介绍一个比较好用的 压缩GIF 的在线工具,链接如下。

https://www.iloveimg.com/zh-cn/compress-image/compress-gif

直接生成的 GIF动图 有超过传输限制,无法上传,用此工具压缩后文件体积大幅缩小,但图片效果没有肉眼可以察觉的影响。

6.完整代码

分步骤的具体逻辑讲解,请看 《用python实现旋转地球》 这个文章,链接我们在上面已经展示,这里贴一下完整代码。

 

90行代码让微信地球转起来,太酷了!(python实现)!

 

 

90行代码让微信地球转起来,太酷了!(python实现)!

 

90行代码让微信地球转起来,太酷了!(python实现)!

 

90行代码让微信地球转起来,太酷了!(python实现)!

源码获取加群:1136192749