投影 3D 曲线 Space

Projecting a Curve in 3D Space

我正在使用三个向量 X、Y 和 Z 在 3D space 中绘制曲线。

如何将曲线投影到 XOY、XOZ、YOZ 平面上?

import matplotlib.pylab as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
X = [4, 2, 7, 4]
Y = [7, 4, 9, 6]
Z = [9, 6, 10, 3]
ax.plot(X, Y, Z, 'b-', linewidth=4, label='parametric curve')
plt.show()

由于您只是在 3D space 中绘制点(这意味着即使您将其称为参数化,您的曲线也不是参数化的),您只需将相应的维度设置为 "projection"零。

例如,要在 XoY 平面上绘图,您将忽略 Z 分量并使用

zeros = [0,0,0,0]
plt.plot(X,Y,zeros)

总的来说这看起来像

import matplotlib.pylab as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
X = [4, 2, 7, 4]
Y = [7, 4, 9, 6]
Z = [9, 6, 10, 3]
ax.plot(X, Y, Z, 'b-', linewidth=4, label='curve')

null = [0]*len(Z)
ax.plot(null, Y, Z)
ax.plot(X,null, Z)
ax.plot(X, Y, null)

plt.show()