
只需十余行代码,便可在三维空间中生成一个经纬分明的线框球体——这是参数曲面可视化的经典入门示例。
利用numpy和matplotlib的3D绘图模块,通过球面参数方程生成了一个线框球体。
import numpy as npimport matplotlib.pyplot as pltfig = plt.figure()ax = fig.add_subplot(111, projection='3d')projection='3d'指定创建一个三维坐标轴。u = np.linspace(0, 2*np.pi, 30) # 方位角 (azimuth), 0 到 360度v = np.linspace(0, np.pi, 30) # 极角 (polar), 0 到 180度u和 v是球面坐标系中的两个角度参数。x = np.outer(np.cos(u), np.sin(v))y = np.outer(np.sin(u), np.sin(v))z = np.outer(np.ones(np.size(u)), np.cos(v))这是代码的核心。球面上任意一点的直角坐标 (x, y, z)可由参数 (u, v)计算得出:
其中:
u为方位角,决定经度方向v为极角,从北极到南极 (0 到 π)使用 np.outer()函数生成所有网格点的坐标矩阵。
ax.plot_wireframe(x, y, z)ax.set_title("3D Field Sphere")ax.set_axis_off()plt.show()plot_wireframe()绘制线框图,连接所有网格点。set_axis_off()隐藏坐标轴,只留球体本身。运行代码后,你会看到一个:
这幅图是球面参数方程(θ, φ) → (x, y, z)的可视化:
u | ||
v |
通过改变参数的点数,可以控制线框的精细程度:
30→ 网格更密,更接近实心球体30→ 网格更疏,更显“框架感”这短短十几行代码,展示了如何将抽象的数学方程转化为直观的三维图形。它是理解参数曲面、坐标变换和3D可视化的绝佳起点。你可以尝试修改颜色、添加光照、或改为实心渲染,创造出更丰富的视觉效果。
