Wie repliziere ich die folgende Dichteplot in Python?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie repliziere ich die folgende Dichteplot in Python?

by Anonymous » 22 Mar 2025, 04:58

im folgenden Setup, < /p>

Code: Select all

N_r = 21; N_theta = 18; N_phi= 36;
r_index = N_r-1;

[phi,theta,r_sphere] = np.meshgrid(np.linspace(0,2*np.pi,N_phi),np.linspace(0,np.pi,N_theta),np.linspace(a,b,N_r));

X = r_sphere[:,:,r_index] * np.sin(theta[:,:,r_index]) * np.cos(phi[:,:,r_index]);
Y = r_sphere[:,:,r_index] * np.sin(theta[:,:,r_index]) * np.sin(phi[:,:,r_index]);
Z = r_sphere[:,:,r_index] * np.cos(theta[:,:,r_index]);

rho = 1/r_sphere**2*np.sin(theta)*np.cos(theta)*np.sin(phi)
< /code>
Ich habe meine Koordinaten von 2D X, Y und Z aus kugelförmigen Koordinaten eingerichtet, und eine Dichtevariable in sphärischen Koordinaten, die ich eine kugelförmige Schale (unter r_index) von zeichnen möchte. In MATLAB konnte ich mit denselben Variablen und dem gleichen Setup die Funktion SURF () 

verwenden

Code: Select all

surf(X,Y,Z,rho(:,:,r_index),"EdgeAlpha",0.2);
(plus ein paar andere Dinge wie Axis -Bezeichnungen und ColorBar) konnte ich das folgende 3D -Plot erstellen (oder ich denke 4D?) Bei r = r_index:

Top