ANEW -surface3d_demo NEEDS -gnuplot DOC (* from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = Axes3D(fig) X = np.arange(-5, 5, 0.25) Y = np.arange(-5, 5, 0.25) X, Y = np.meshgrid(X, Y) R = np.sqrt(X**2 + Y**2) Z = np.sin(R) ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet) plt.show() *) ENDDOC #40 =: sz sz DOUBLE ARRAY x{ sz DOUBLE ARRAY y{ sz sz DOUBLE MATRIX z{{ : COMPUTE-FIG ( -- ) 5e FLOCAL range x{ sz range FNEGATE range F2* sz S>F F/ LINSPACE y{ sz range FNEGATE range F2* sz S>F F/ LINSPACE sz 0 ?DO sz 0 ?DO x{ I } DF@ FSQR y{ J } DF@ FSQR F+ FSQRT FSIN z{{ J I }} DF! LOOP LOOP ; : surface3d ( -- ) 0 FIGURE CLF TRUE GRID COMPUTE-FIG S" set palette color model XYZ" TWEAK$ \ just for screen fun, default and printed is B&W x{ y{ z{{ S" @white" SPLOT ;