首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于Matplotlib的氢原子三维动画

要基于Matplotlib创建氢原子的三维动画,您可以使用Matplotlib的3D绘图功能和动画模块。以下是一个示例代码,演示如何创建氢原子的三维动画:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.animation import FuncAnimation

# 创建画布和子图
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 定义氢原子波函数
def hydrogen_wave_func(n, l, m, r, theta, phi):
    a0 = 1  # 波函数的尺度参数
    R = 2 * (a0 / n)**2 * np.exp(-r / n / a0)  # 径向部分
    Y_lm = np.real(np.sqrt((2 * l + 1) * np.math.factorial(l - abs(m)) / (4 * np.pi * np.math.factorial(l + abs(m)))) *
                   np.exp(1j * m * phi) * np.math.lpmv(abs(m), l, np.cos(theta)))  # 角向部分
    return R * Y_lm

# 创建动画更新函数
def update(frame):
    ax.clear()

    # 设置坐标轴范围
    ax.set_xlim(-5, 5)
    ax.set_ylim(-5, 5)
    ax.set_zlim(-5, 5)

    # 设置坐标轴标签
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.set_zlabel('Z')

    # 计算氢原子波函数的值
    n = 1  # 主量子数
    l = 0  # 角量子数
    m = 0  # 磁量子数
    r = np.linspace(0, 5, 100)  # 径向距离
    theta = np.linspace(0, np.pi, 100)  # 极角
    phi = np.linspace(0, 2 * np.pi, 100)  # 方位角
    R, Theta, Phi = np.meshgrid(r, theta, phi)
    X = R * np.sin(Theta) * np.cos(Phi)
    Y = R * np.sin(Theta) * np.sin(Phi)
    Z = R * np.cos(Theta)
    wave_func = hydrogen_wave_func(n, l, m, R, Theta, Phi)

    # 绘制氢原子波函数的等值面
    ax.contour3D(X, Y, Z, wave_func.real, cmap='viridis')

# 创建动画对象
ani = FuncAnimation(fig, update, frames=range(100), interval=100)

# 显示动画
plt.show()

在上面的示例中,我们首先创建了一个3D绘图的画布和子图。然后,定义了一个计算氢原子波函数的函数hydrogen_wave_func。接下来,我们创建了一个动画更新函数update,在每一帧中清除子图并绘制氢原子波函数的等值面。最后,我们使用FuncAnimation创建了一个动画对象,并通过plt.show()显示动画。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于matplotlib轻松绘制漂亮表格

❝本文示例代码已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes❞ 1 简介 大家好我是费老师,matplotlib作为数据可视化强力工具...,可以帮助我们自由创作各式各样数据可视化作品,其中matplotlib.pyplot.table模块就专门用于绘制「表格」,但是由于参数复杂,且默认样式单一简陋,想基于它绘制出美观表格需要花费不少功夫...而我最近发现一个基于matplotlib第三方库plottable,用它来生成数据表格图既简单又美观,今天文章中费老师我就来带大家学习它常用方法~ 2 基于plottable绘制漂亮表格 使用...通过在Table()中设置参数odd_row_color和even_row_color,我们可以传入matplotlib中合法色彩值进行表格奇数偶数行底色设置: 2.2.2 控制表头单元格与数据单元格样式...,支持plt.plot中全部参数: 2.2.5 基于ColDef列样式细粒度设置 plottable中最强大地方在于,其通过配置由plottable.ColDef对象列表构成column_definitions

1.9K30

基于matplotlib xticks用法详解

这个坐标轴变名用法,我真服气了,我在网上看大家写教程,看头晕,也没看懂他们写xtick到底怎么用,最后找到官方教程,看了一个例子,over xticks到底有什么用,其实就是想把坐标轴变成自己想要样子...import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 4, 9, 6] labels = ['Frogs', 'Hogs', 'Bogs...中参数代表含义与scatter等函数中变量意义 plt.xticks([0,1],[1,2],rotation=0) [0,1]代表x坐标轴0和1位置,[2,3]代表0,1位置显示lable...values=data[‘values’] plt.scatter(values[:,0],values[:,2],marker=‘o’)#以数据第零列做x轴,第三列做y轴,来描绘散点图 以上这篇基于...matplotlib xticks用法详解就是小编分享给大家全部内容了,希望能给大家一个参考。

3.5K20

基于matplotlib和keras神经网络结果可视化

,这个你和到底到达了一个什么程度,距离我真实数据差别还有多少,本文通过一个简单例子来实现这样功能,动态展示网络拟合程度。...二、实验案例 2.1 开发环境以及要求 本文神经网络搭建使用是keras开发框架,绘制动态图使用matplotlib绘图库。...三、网络搭建与模型训练 3.1 网络定义以及实现 import math; import random; from matplotlib import pyplot as plt from keras.models...nb_epoch=1000, batch_size=20,callbacks=callbacks_list); 四、完整代码以及最终效果展示 import math; import random; from matplotlib...plt from keras.models import Sequential from keras.layers.core import Dense import numpy as np import matplotlib.animation

45720

基于matplotlib和keras神经网络结果可视化

,这个你和到底到达了一个什么程度,距离我真实数据差别还有多少,本文通过一个简单例子来实现这样功能,动态展示网络拟合程度。...二、实验案例 2.1 开发环境以及要求 本文神经网络搭建使用是keras开发框架,绘制动态图使用matplotlib绘图库。...三、网络搭建与模型训练 3.1 网络定义以及实现 import math; import random; from matplotlib import pyplot as plt from keras.models...nb_epoch=1000, batch_size=20,callbacks=callbacks_list); 四、完整代码以及最终效果展示 import math; import random; from matplotlib...plt from keras.models import Sequential from keras.layers.core import Dense import numpy as np import matplotlib.animation

90320

一个基于MatplotlibPython数据可视化库:Seaborn

Seaborn是一个基于MatplotlibPython数据可视化库,它提供了高层次API,可以帮助用户创建美观、具有吸引力统计图形。...Seaborn建立在Matplotlib基础上,为用户提供了更高级别、更直观数据可视化方式。...Seaborn库特点2.1 美观度和可读性Seaborn注重图形美观度和可读性,通过默认样式和调色板,可以得到高质量统计图形。...2.3 强大调色板功能Seaborn提供了多种美观调色板,可以自定义图表颜色。通过使用不同调色板,用户可以突出显示特定数据特征,或者使图表更加醒目。...2.4 简单易用APISeabornAPI设计简单易用,用户无需深入了解底层绘图机制即可创建各种类型图表。它提供了丰富函数和参数选项,可以满足不同需求。3.

39740

基于matplotlib3维ERA5多层温度分布图

基于matplotlib3维ERA5多层披萨图(温度) 数据:era5 nc格式 核心函数:ax.plot_surface 起步 实际上是上学期听学术报告看到类似的天气形势3D图,搜了挺多教程,效果差强人意吧...希望对你们有微小帮助 倒车入库(导入必要库) In [1]: import xarray as xr import cmaps import itertools from mpl_toolkits.mplot3d...import Axes3D import matplotlib.pyplot as plt from matplotlib.collections import LineCollection, PolyCollection...contour: 'linewidth' from ipykernel import kernelapp as app 直角转弯与侧方位停车(图像相关设置) 小结 显示效果不佳就改改ax.view_init参数...绘图速度较慢,可尝试减小绘图范围 目前还没解决地图显示不够美观问题,标签什么自行美化吧

7210

matplotlib图形绘制

matplotlib是Python编程语言及其数值数学扩展包 NumPy可视化操作界面。...此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)pylab接口,其设计与MATLAB非常类似--尽管并不怎么好用SciPy就是用matplotlib进行图形绘制。...与MATLAB比较 pyplot是matplotlib一个模块,它提供了一个类似MATLAB接口。 matplotlib被设计得用起来像MATLAB,具有使用Python能力。...更容易操纵绘图细节 旧默认绘图样式:通常需要小调整以产生有吸引力图。在开发中活跃成员数量较少(与Matplotlib相比)。...更容易操纵绘图细节 旧默认绘图样式:通常需要小调整以产生有吸引力图。 在开发中活跃成员数量较少(与Matplotlib相比)。

2.2K20

Matplotlib朋友Basemap

/article/details/90732373 https://blog.csdn.net/weixin_44510615/article/details/90732196 basemap 是一个基于...matplotlib画世界地图库 内容来源官网:https://matplotlib.org/basemap/ 地球科学家,特别是海洋学家和气象学家需求。...():在地图上绘制etopo浮雕图像 warpImage():将用户提供图像投影到地图上 对于基于边界要素,在创建基础地图图像时必须设置所需分辨率。...将创建苏格兰美丽斯凯岛低分辨率和高分辨率地图 苏格兰位于57.3°N,6.2°W,使用90000×120000公里地图 %matplotlib inline import numpy as np...有关这些函数(包括几个示例图)详细信息,请参阅[在线文档](http://matplotlib.org/basemap/)。

2K31

matplotlib多图合并

前言 本文是我在学习莫烦老师视频教程时候整理笔记。Matplotlib是一个python 2D绘图库,它以各种硬拷贝格式和跨平台交互式环境生成出版质量级别的图形。...承接上文: 快速上手matplotlib画图 用matplotlib简单绘图 a 使用subplot函数 import matplotlib.pyplot as plt plt.figure(figsize...▲案例二 b 分格显示 #method 1: subplot2grid import matplotlib.pyplot as plt plt.figure() #第一个参数shape也就是我们网格形状...▲method2 result #method 3 :easy to define structure #这种方式不能生成指定跨行列那种 import matplotlib.pyplot as plt...▲画中画 d 次坐标轴 # 使用twinx是添加y轴坐标轴 # 使用twiny是添加x轴坐标轴 import matplotlib.pyplot as plt import numpy as np

1.7K30

Matplotlib绘图基础操作

对于初步接触matplotlib绘图库朋友来说,绘图字体设置、轴标签设置、图例和标题是令人头疼问题,本文关于这些方面做出些许探讨,限于笔者能力有限,如有错误,敬请指正。...([1, 2, 3], [1, 2, 3]) plt.show() 图1 生成示例 颜色对照表如下图: 图2 颜色对照表 二、字体设置 在默认情况下,matplotlib是不支持中文格式。...新建字体样式代码如下: import matplotlib.pyplot as plt import matplotlib as mpl mpl.rcParams['font.sans-serif']...import matplotlib.pyplot as plt import matplotlib as mpl rel_pm2_5 = data['pm2_5'][:100] #读取前100个真实值...import matplotlib.pyplot as plt import matplotlib as mpl import numpy as np mpl.rcParams['font.sans-serif

1.4K10

基于Python实现matplotlib中动态更新图片(交互式绘图)

最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用AnacondaPython打包集合,在Spyder中使用Python3.5语言和matplotlib...Anaconda官方地址:https://www.continuum.io/downloads/   matplotlib 是python最著名绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图...其中,matplotlibpyplot子库提供了和matlab类似的绘图API,方便用户快速绘制2D图表,它文档相当完备,并且 Gallery页面中有上百幅缩略图,打开之后都有源程序。...matplotlib官方地址:http://matplotlib.org/   在调研matplotlib动态绘制曲线方法中,和matlab相似有animation方法和交互式绘图,但是animation...采用交互式绘图模式后,可以方便地绘出障碍物运动轨迹和当前位置,深切感觉matplotlib和matlab很类似,基本matlab功能都可以在matplotlib中找到,所以matlab中代码也可以很快移植到

3.9K60

基于matplotlib2D3D抽象网格和能量曲线绘制程序

,于是自己在之前脚本基础上进行了整改写成了只提供接口Python库,基 本思想就是封装了matplotlib中相关接口,方便快速搭建和定制自己能量曲线和网格结构, 代码托管在GitHub上并上传至...实现过程基本是通过对matplotlib提供绘图组件和接口进一步封装成可以快速搭建上面三个类型图像组件。...绘制二维和三维抽象网格 晶格中原子和键在catplot中被抽象成图中node和edge,这样我们就可以通过创建图中node和edge方式搭建我们网格重复单元,之后可以通过重复单元扩展方法来将其扩展成...实现基本方法就是通过matplotlib提供Line2D, Arrow和scatter相关接口来将相应node和edge数据添加到maptlotlib二维或者三维画布中然后进行绘制和显示。...总结 本 来catplot这个库最初是自己用matplotlib来绘图小脚本,由于现在写论文情况下需要灵活绘制网格图,所以进行了重写,现在写成了一个 封装了matplotlibpython库方便使用者可以快速搭建自己想要网格图和绘制漂亮

1.4K70
领券