Ich fange gerade mit pyqtgraph an und möchte 3D-Flächen in sphärischen Koordinaten erstellen. Ich habe mir das Beispiel GLSurfacePlot.py aus der Dokumentation angesehen, aber es gibt nur Plots in kartesischen Koordinaten.Sphärische Koordinaten plotten in pyqtgraph
Dies ist die Handlung I (es ist ein Halbwellendipol Abstrahlcharakteristik) machen wollen:
Wie r (theta, phi) mit pyqtgraph zeichnen?
EDIT: ich es mit matplotlib mplot3d tun könnte, hier ist das Skript:
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
k = 2*np.pi
long = 0.5
theta = np.linspace(0, np.pi, 361)
phi = np.linspace(0, 2*np.pi, 361)
PHI, THETA = np.meshgrid(phi, theta)
R = np.absolute((np.cos(k*long/2*np.cos(THETA))-np.cos(k*long/2))/np.sin(THETA))
R = np.nan_to_num(R)
X = R * np.sin(THETA) * np.cos(PHI)
Y = R * np.sin(THETA) * np.sin(PHI)
Z = R * np.cos(THETA)
fig = plt.figure()
ax = fig.add_subplot(111, projection = '3d')
cmap = plt.get_cmap('jet')
plot = ax.plot_surface(X, Y, Z, rstride=10, cstride=10, facecolors=cmap(R),linewidth=0, antialiased=False, alpha=1)
plt.show()
Das Problem ist, dass es zu langsam ist, wenn Drehen und Zoomen es, und ich brauche auf jeden Fall, dass die Funktion für meine Anwendung , deshalb versuche ich es mit pyqtgraph zu machen.
Sie könnten die mathematische Gleichung setzen – eyllanesc
Was meinst du? – Jorge
Ich meine, was ist die Gleichung 'r (Theta, Phi)' ohne Verwendung von Code. – eyllanesc