Python,让地球转起来
文章目录
- 画一个地球
- 让地球转起来
画一个地球
想画一个转动的地球,那么首先要有一个球,或者说要有一个球面,用参数方程可以表示为
x=rcosϕcosθy=rcosϕsinθz=rsinϕ\begin{aligned} x &= r\cos\phi\cos\theta\\ y &= r\cos\phi\sin\theta\\ z &= r\sin\phi \end{aligned} xyz=rcosϕcosθ=rcosϕsinθ=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.pix = 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
为颜色映射参数,所以温馨提示,选取的地球图片不宜过大,否则点太多会让电脑爆掉。
最后得到的效果如下
让地球转起来
三维空间中的旋转矩阵如下表所示,具体讲解可参考这两篇博客:旋转坐标轴
Python,让地球转起来相关推荐
- python 三维地球_用python生成地球运动的动态模拟动态图
python作为一门简单易学且应用范围极广的语言有着其他语言无法比拟的优势,通过python可以实现各种各样的功能,例如我们可以利用python matplotlib的绘图库实现各种动态模拟仿真,在科 ...
- python旋转地球源代码_90行代码让微信地球转起来,太酷了!(python实现)
原标题:90行代码让微信地球转起来,太酷了!(python实现) 点击图片,即可查看图书详情. 1.微信地球 手机重启后打开微信的一瞬间,会看到一幅有名的图片,上面站着一个 张小龙 . 你可曾想过这样 ...
- 用python画地球_如何用PYTHON程序模拟一个太阳系?
描述一个星系和描述一所学校有的思维方式是一样的,其实和python关系不大.都可用面向对象思维来抽象.描述某个物体通常都要先思考几个问题:该物体是什么? 该物体有什么特征? 该物体有什么能力? 该物体 ...
- python画地球代码_用Python制作中国地图、地球平面图及球形图
绘制地图在python中主要用到的 basemap 库,这个库是 matplotlib 库中一个用于在 Python 中绘制地图上的 2D 数据的工具包. 安装库: 1.安装 geos 库:Pytho ...
- python画地球旋转代码_90行代码让微信地球转起来,太酷了!(python实现)
原标题:90行代码让微信地球转起来,太酷了!(python实现) 点击图片,即可查看图书详情. 1.微信地球 手机重启后打开微信的一瞬间,会看到一幅有名的图片,上面站着一个 张小龙 . 你可曾想过这样 ...
- 用python画地球_用Python实现让微信地球转起来附代码!
微信地球 手机重启后打开微信的一瞬间,会看到一幅有名的图片. 大概是站在月亮上看地球的效果. 你有没有想过,如果上面那个地球转起来会是怎样? 素材 这里有两个表面素材,一个是地球表面素材,一个是云图素 ...
- python月球地球质量计算_我们如何计算一个行星的质量?
这其实是件相当酷的事情. 牛顿凭借着他万有引力的理论而闻名世界.他证实了两个物体间的吸引力是可以通过两个物体的质量.他们距离的平方以及万有引力常数计算得出的.当你把一个苹果放在天平上,你其实是在测量苹 ...
- python 三维地球代码_Python地图可视化三大秘密武器
Python地图可视化库有大家熟知的pyecharts.plotly.folium,还有稍低调的bokeh.basemap.geopandas,也是地图可视化不可忽视的利器. 这次就来介绍下这三位低调 ...
- 怎么用Python计算地球上任意两个用经纬度表示的点的弧面距离?
这是来自知乎上的问题.问我的时候,恰好我在写一个和向量计算相关的文章,于是灵光乍现,顺手写了这样一个答案.该算法未经严格验证,请谨慎参考.具体思路如下. 将两个点的经纬度换算成空间坐标: 计算地心与两 ...
- python重量计算月球地球_没有vpython如何在数值模拟中用python求解地球和月球轨道?...
我要计算没有vpython的两个物体重力系统(地球和月球).在 这个代码的目的是练习数值计算,这是我的代码.在import numpy as np from math import * from as ...
最新文章
- 32位oracle_Oracle 之Hugepage
- CSDN专家分和博客系统积分获得规则!
- 如何正确运用计算机技术,如何正确认识与运用计算机网络技术.doc
- windows核心编程学习笔记(八)结构化异常处理(Structured Exception Handling)
- 好爽 java_Intellij是进行scala开发的一个非常好用的工具,可以非常轻松查看scala源码,当然用它来开发Java也是很爽的,之前一直在用scala ide和ec...
- pymysql使用变化的变量,构造SQL语句
- 教师节PSD分层海报设计模板 | 最好的海报,送给最好的老师们
- python 运行电脑卡死_Python入门 5——循环语句及条件判断
- C陷阱与缺陷阅读笔记(上)
- 云服务器预装什么系统好,云服务器预装什么系统好
- c语言实现皇帝翻牌游戏
- Multiple View Geometry(多视图几何)学习笔记(23)—射影摄像机对二次曲面的作用摄像机中心的重要性
- 判断一个数是否为四叶玫瑰数
- python连接传感器_关于树莓派Pi2通过UART连接攀藤G5传感器的python
- NISP二级证书换CISP证书是怎么回事?
- 简易记账开发笔记之Fragment(后续)
- Java程序员的职业规划(五年)
- JMeter_Ubuntu上安装jmeter
- 持续交付中有哪些宝贵数据?
- 多语言机器翻译 | (2) 编解码器结构