簡體   English   中英

在3D空間中投影曲線

[英]Projecting a Curve in 3D Space

我正在使用三個向量X,Y和Z在3D空間中繪制曲線。

如何將曲線的投影繪制到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空間中繪制點(這意味着即使您稱其為參數化的,但曲線也不是參數化的),因此只需將各個尺寸設置為零即可獲得“投影”。

例如,要在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()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM