爱的方程式(3D),方程式3d,from mpl_too


from mpl_toolkits.mplot3d import axes3dimport matplotlib.pyplot as pltimport numpy as npdef implicitplot3d(fn, bbox=(-1.5,1.5)):    xmin, xmax, ymin, ymax, zmin, zmax = bbox*3    fig = plt.figure()    ax = fig.add_subplot(111, projection='3d')    A = np.linspace(xmin, xmax, 50)    B = np.linspace(xmin, xmax, 20)    A1,A2 = np.meshgrid(A,A)    for z in B:        X,Y = A1,A2        Z = fn(X,Y,z)        cset = ax.contour(X, Y, Z+z, [z], zdir='z')    for y in B:        X,Z = A1,A2        Y = fn(X,y,Z)        cset = ax.contour(X, Y+y, Z, [y], zdir='y')    for x in B:        Y,Z = A1,A2        X = fn(x,Y,Z)        cset = ax.contour(X+x, Y, Z, [x], zdir='x')    ax.set_zlim3d(zmin,zmax)    ax.set_xlim3d(xmin,xmax)    ax.set_ylim3d(ymin,ymax)    plt.show()implicitplot3d(lambda x,y,z: (x*x + 2*y*y + z*z -1)**3 - x*x*z*z*z - y*y*z*z*z/10.)#该片段来自于http://byrx.net

评论关闭