R软件绘制3D量子轨道(球谐)

R软件绘制3D量子轨道(球谐),r,R,在R中使用surf3D或persp3D,我试图重现Maple的以下绘图功能: >plot3d(Re(sqrt(15/(8*Pi))*(sin(theta)*cos(theta)*exp(I*phi)))^2,phi=0..2*Pi,theta=0..Pi,coords=spherical,scaling=constrained,style=patchcontour,numpoints=5000,axes=frame) 要获得与下图相似(或更好)的结果: 在我开始亲自调查这个问题之前,有

在R中使用surf3D或persp3D,我试图重现Maple的以下绘图功能:

>plot3d(Re(sqrt(15/(8*Pi))*(sin(theta)*cos(theta)*exp(I*phi)))^2,phi=0..2*Pi,theta=0..Pi,coords=spherical,scaling=constrained,style=patchcontour,numpoints=5000,axes=frame)
要获得与下图相似(或更好)的结果:

在我开始亲自调查这个问题之前,有没有人有一个快速的答案

Thx提前为您提供帮助。

这是我认为的解决方案的一部分(或完整的?)(也许我们可以做得更好、更简单,包括例如iso曲线和颜色,只要我们离中心远,就应该是红色,而不仅仅是在垂直轴z上):

库(“plot3D”)

theta“在我开始亲自调查这个问题之前,有没有人有一个快速的答案”你应该在这里(或SE上的任何其他地方)发布之前亲自调查。因此,这不是一项代码编写/教程服务,如果您在发布此信息之前证明自己花了大量时间解决问题,我们将不胜感激。您是对的,但我在提出问题之前已经尝试了3个小时。经过6个多小时的调查,我得到了我认为解决方案:
library("plot3D")
theta<-seq(from = 0, to = pi, by = pi/320)
phi<-seq(from = 0, to = 2*pi, by = pi/160)

m<-length(phi); n=length(theta)
Phi<-matrix(rep(phi,each=n),nrow=n)
Theta<-matrix(rep(theta,m),nrow=n)


r = Re(1/2*sqrt(15/(2*pi))*exp(-1i*Phi)*sin(theta)*cos(Theta))
x = r*cos(Phi)
y = r*sin(Phi)
z = r*cos(Theta)

surf3D(x, y, z,colkey=TRUE,box=TRUE,bty="b2",main="A Spherical Harmonic")