matplotlib 使用x和y的方程进行3D打印

yebdmbv4  于 2023-06-06  发布在  其他
关注(0)|答案(1)|浏览(214)

我想从x和y的方程创建一个3D图,类似于Google的3D图。
举个例子:
输入:sin(sqrt(x**2 + y**2))
输出(3D图):

Z显然等于给定的输入,但如何计算xy?感谢您给予的任何帮助!

ego6inou

ego6inou1#

您可以先为XY创建一个meshgrid。然后通过执行Z=np.sin(np.sqrt(X**2 + Y**2))来计算Z。最后,您可以使用matplotlib函数ax.plot_surface(X, Y, Z)绘制曲面。
你可以在下面找到代码:

import numpy as np
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

N_points=100
x = np.linspace(-10, 10, N_points)  
y = np.linspace(-10, 10, N_points)  
  
X, Y = np.meshgrid(x, y)
Z=np.sin(np.sqrt(X**2 + Y**2))

fig = plt.figure()
ax = fig.add_subplot(projection='3d')

ax.plot_surface(X, Y, Z)

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

这段代码的输出是:

相关问题