当前位置:主页 > python教程 > Python3D地球旋转

Python实现绘制3D地球旋转效果

发布:2023-03-22 15:40:02 59


为找教程的网友们整理了相关的编程文章,网友景立婷根据主题投稿了本篇教程内容,涉及到Python实现3D地球旋转效果、Python 地球旋转、Python 地球、Python3D地球旋转相关内容,已被745网友关注,涉猎到的知识点内容可以在下方电子书获得。

Python3D地球旋转

画一个地球

想画一个转动的地球,那么首先要有一个球,或者说要有一个球面,用参数方程可以表示为

x​=rcosϕcosθ

y=rcosϕsinθ

z=rsinϕ​

然后要有一个地球,或者说要有一个地图,用来作为贴图,映射到球面上。

import numpy as np
import matplotlib.pyplot as plt
path = "earth1.jpg"
img = plt.imread(path)
h, w, c = img.shape
ys, xs = np.indices([h, w])
th = xs/w*np.pi*2
phi = np.pi/2 - ys/h*np.pi

x = np.cos(phi)*np.cos(th)
y = np.cos(phi)*np.sin(th)
z = np.sin(phi)

cs = [tuple(c/255) for c in img.reshape(-1,3)]
ax = plt.subplot(projection='3d')
ax.scatter(x, y, z, marker='.', c=cs)
plt.axis('off')
plt.show()

其中scatter画的是散点图,c=cs为颜色映射参数,所以温馨提示,选取的地球图片不宜过大,否则点太多会让电脑爆掉。

最后得到的效果如下

让地球转起来

三维空间中的旋转矩阵如下表所示,具体讲解可参考这两篇博客:旋转坐标轴


参考资料

相关文章

网友讨论