自学内容网 自学内容网

绘制3D图

一个 3D 函数的表面图,其中包含向量场。

Python 代码示例,使用 matplotlib 和 numpy 库来绘制类似的图。

python
复制代码

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

# 生成网格
x = np.linspace(-5, 5, 50)
y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(x, y)
Z = np.exp(-((X - 2) ** 2 + (Y - 2) ** 2)) + np.exp(-((X + 2) ** 2 + (Y + 2) ** 2)) + np.exp(-((X - 2) ** 2 + (Y + 2) ** 2))

# 计算梯度 (向量场)
U, V = np.gradient(Z)

# 创建3D图形
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 绘制表面图
ax.plot_surface(X, Y, Z, cmap='Reds', edgecolor='none', alpha=0.8)

# 绘制向量场
ax.quiver(X, Y, Z, U, V, 0, color='black', length=0.1)

# 隐藏坐标轴
ax.set_xticks([])
ax.set_yticks([])
ax.set_zticks([])
ax.set_axis_off()

# 设置视角
ax.view_init(elev=30, azim=60)

plt.show()

效果图如下
在这里插入图片描述


原文地址:https://blog.csdn.net/wuli_xin/article/details/143690925

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!