from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm import pylab as p import numpy as np # wytwarzamy obiekt typu figura z osiami 3D fig = p.figure() ax = Axes3D(fig) # tworzymy wektory opisujące osie X i Y X = np.arange(-15, 15, 0.3) Y = np.arange(-15, 15, 0.3) # zamieniamy wektory w siatkę, której węzły są zadane przez elementy w macierzach X i Y X, Y = np.meshgrid(X, Y) # dla każdego węzła obliczamy jego odległość od początku układu współrzędnych R = np.sqrt(X**2 + Y**2) # dla każdego węzła obliczamy wartość funkcji Z Z = np.sin(R)/R # generujemy rysunek powierzchni, rysując np. co drugi węzeł (parametry rstride=2, cstride=2) ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=cm.jet) p.show()