日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python基础教程微信_用Python实现让微信地球转起来附代码!

發布時間:2025/5/22 python 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python基础教程微信_用Python实现让微信地球转起来附代码! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微信地球

手機重啟后打開微信的一瞬間,會看到一幅有名的圖片。

大概是站在月亮上看地球的效果。

你有沒有想過,如果上面那個地球轉起來會是怎樣?

素材

這里有兩個表面素材,一個是地球表面素材,一個是云圖素材。

還有一個微信地球的摳圖素材。

基本原理

基本的貼圖方法在本博前面的文章(《用python實現旋轉地球》)中講過了,這里重點講雙層素材的動態效果。云圖是灰度圖,白色地方代表云層厚,黑色的地方代表那里云層薄。我們根據顏色設置不同的透明度。

如果云圖與地面的選擇速度相同,會顯得不自然,我們這里讓云層旋轉速度比地面旋轉速度慢一半,產生相對運動的效果。

這樣帶來的問題是,地球旋轉360°后云圖只旋轉了180°,必須加倍到720°才能實現連續運動。

具體的云層透明度設置,參數需根據實際效果進行調整。

GIF壓縮

順便給大家介紹一個比較好用的壓縮GIF的在線工具。

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

直接生成的GIF動圖有超過傳輸限制,無法上傳,用此工具壓縮后文件體積大幅縮小,但圖片效果沒有肉眼可以察覺的影響。

完整代碼

分步驟的具體邏輯講解,請看《用python實現旋轉地球》,這里貼一下完整代碼。from?PIL?import?Image,?ImageDraw

import?math

import?numpy?as?np

import?imageio

def?calcSphereXY2XYZ(px,?py,?maxHeight,?longOffset):

v0x=?np.array(px)

v0y=?np.array(py)

v03=?np.subtract(v0x,?maxHeight)

v04=?np.subtract(v0y,?maxHeight)

v1x=?np.true_divide(v03,?maxHeight)

v1y=?np.true_divide(v04,?maxHeight)

#?print(max(v1x),?min(v1x))

v07=?np.power(v1x,2)

v08=?np.power(v1y,2)

v09=?np.add(v07,v08)

v0a=?np.subtract(1,v09)

v1z=?np.power(v0a,1/2)??????????????????????????????????#?z

#?print('z:',?max(v1z),?min(v1z))

v1lat=?np.multiply(v1y,?math.pi/2)??????????????????????#?lat

v0lon=?np.arctan2(v1z,?-v1x)

v1lon=?np.add(v0lon,?longOffset)???????????????????????#?long

v2lon=?np.fmod(v1lon,?math.pi*2)???????????????????????#?long

return?v2lon,?v1lat

def?calcShpereLatLong2XY(vlon,?vlat,?width,?height):

v3x0=np.multiply(vlon,?width/2/math.pi)

v3y0=np.multiply(vlat,?height/math.pi)

v3y1=np.add(v3y0,?height/2)

v3x2=v3x0.astype(np.integer)

v3y2=v3y1.astype(np.integer)

return?v3x2,?v3y2

def?getPic(a):

#?imgBack=?Image.open('地球3.jpg')

imgBack=?Image.open('世界地球日地圖_8K_2.jpg')

imgCloud=?Image.open('世界地球云地圖_8K.jpg')

width=?imgBack.size[0]

height=?imgBack.size[1]

imgBack=?imgBack.convert('RGBA')

arrayBack=?np.array(imgBack)

arrayCloud=?np.array(imgCloud)

circleSize=?508

img2=?Image.new('RGBA',?(circleSize,circleSize))

img=?Image.new('RGBA',?(circleSize,circleSize),?'black')

w=?img.size[0]

h=?img.size[1]

pxList=[]

pyList=[]

for?i?in?range(w):

for?j?in?range(h):

r=?math.sqrt((i-w/2)**2+(j-h/2)**2)

if?r

pxList.append(i)

pyList.append(j)

nplon,?nplat=?calcSphereXY2XYZ(pxList,?pyList,?h/2,?a)

nplon2,?nplat2=?calcSphereXY2XYZ(pxList,?pyList,?h/2,?a/2)

#?nplon,?nplat=?rotSphere(nplon,?nplat,?)

npx,?npy=?calcShpereLatLong2XY(nplon,?nplat,?width-1,?height)

npx2,?npy2=?calcShpereLatLong2XY(nplon2,?nplat2,?width-1,?height)

color=?arrayBack[npy,?npx]

color2=?arrayCloud[npy2,?npx2]

for?i?in?range(len(pxList)):

x=?pxList[i]

y=?pyList[i]

cc=color[i]

#?print(cc)

cc=?tuple(cc)

img.putpixel((x,y),?cc)

c2=?color2[i]

c0=?int(c2[0]*1.6)

if?c0>255:

c0=255

c_alpha=?int(c2[0]*0.9)

c2=?(c0,c0,c0,c_alpha)

img2.putpixel((x,y),?c2)

r,g,b,a=?img2.split()

img.paste(img2,?(0,0),?mask=a)

return?img

if?__name__=='__main__':

frames=[]

str1=?'微信地球_mask.png'

img1=?Image.new('RGB',?(750,1334))

img2=?Image.open(str1)

for?i?in?range(0,?720,?12):

a=?-i*math.pi/?180

img=?getPic(a)

img1.paste(img,(122,424))

r,g,b,alpha=img2.split()

img1.paste(img2,?(0,0),?mask=alpha)

str1=?'temp%03d.png'%i

print(str1)

img1.save(str1)

im?=?imageio.imread(str1)

frames.append(im)

#?img.show()

imageio.mimsave('earth.gif',?frames,?'GIF',?duration=0.20)

更多Python知識,請關注云海天Python教程!!

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的python基础教程微信_用Python实现让微信地球转起来附代码!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色资源在线 | 亚洲日本视频 | 欧美与黑人午夜性猛交久久久 | 亚洲精品在线免费播放 | 欧美色综合天天久久综合精品 | 成人18视频在线观看 | 夏目彩春娇喘呻吟高潮迭起 | 日韩美女视频一区二区 | 熟女一区二区三区四区 | 欧美 日韩 国产 一区 | 91免费看片 | 欧美a大片| 一区二区三区四区五区在线视频 | 日本在线视频不卡 | 天天操国产 | 波多野结衣在线一区 | 国模在线观看 | 爽插 | 亚洲精品久久久久久无码色欲四季 | 中文久久乱码一区二区 | 国产精品入口免费 | 久久精品国产免费看久久精品 | 欧美乱大交xxxxx潮喷l头像 | 一区视频免费观看 | 极品毛片 | 国产91色| 国产剧情久久久 | 亚洲va在线∨a天堂va欧美va | 黄色在线视频网站 | 免费网站av | 深夜视频在线播放 | 国产亚洲女人久久久久毛片 | 国产aa大片 | 91官网视频 | 四季av综合网站 | 雪花飘电影在线观看免费高清 | 国产日本欧美在线 | 欧美精品一区二区三 | aaa国产视频 | 欧美精品www | 亚洲七区 | 国产午夜免费视频 | 色屁屁一区二区三区视频 | 国产精品久久一区二区三区动 | 国产亚洲精品精品国产亚洲综合 | 浪漫樱花在线观看高清动漫 | 国产91熟女高潮一区二区 | 一区二区三区网 | 少妇精品久久久一区二区三区 | 国产一区二区不卡在线 | 欧美精品a区 | 99精品乱码国产在线观看 | 国产精品久久久久久久久久久久久久久久久久 | xx视频在线| 123毛片 | 无限国产资源 | 91精选视频 | 精品无码一区二区三区的天堂 | 久久精品毛片 | 亚洲天堂视频在线观看 | 视频在线91 | 青草视频在线免费观看 | 黄色天堂 | 亚洲图片视频小说 | 日韩视频精品 | 超碰狠狠干 | 特黄视频在线观看 | 久久亚洲少妇 | 亚洲人在线观看视频 | 欧美图片一区二区三区 | 99久久精品一区二区三区 | 男女免费毛片 | 日日av | 中文字幕av资源 | 免费无码av片在线观看 | 五月激情天 | 三级免费黄 | 毛片高清| 黄色网址你懂得 | 免费看裸体视频网站 | 国产高清在线不卡 | 日韩精品在线视频观看 | 国产精品不卡在线 | 亚洲精品国产精品国自产观看 | 91精品啪| 少女国产免费观看 | 96av视频| 欧美精品一区二区三区在线播放 | 亚洲人吸女人奶水 | 国产网友自拍 | 天天干干干| 亚洲一区二区不卡视频 | 999久久久精品视频 亚洲视频精品在线 | 欧美乱淫视频 | 欧美色图17p| 亚洲清纯唯美 | 中文字幕日韩在线观看 | 久久午夜夜伦鲁鲁一区二区 | 欧美高清hd18日本 |