matplotlib 如何绘制曲线沿着x轴的旋转

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

我想画一条线:(x^2)/11.39 +(y^2)/6.25 = 1,我正在做的一个项目绕x轴旋转。
我以前用matplotlib画过一些3D平面,但我无法弄清楚如何画出一条线绕x轴的旋转。
我想我必须使用ax.plot_surface,但不太确定如何使用。
谢谢

gtlvzcf8

gtlvzcf81#

以下是我使用plot_surfacemeshgrid和三角函数的一些尝试:

import numpy as np
import matplotlib.pyplot as plt

a2, b2 = 11.39, 6.26

X = np.linspace(-np.sqrt(a2), np.sqrt(a2), 100)
Theta = np.linspace(0, 2.1*np.pi, 1000)
X, Theta = np.meshgrid(X, Theta)

Y0 = np.sqrt(b2 * (1 - X**2 / a2))
Y = Y0 * np.cos(Theta)
Z = Y0 * np.sin(Theta)

fig,ax = plt.subplots(subplot_kw={'projection':'3d'})
ax.set_box_aspect((np.ptp(X), np.ptp(Y), np.ptp(Z)))
ax.plot_surface(X, Y, Z)
ax.set_xlabel('x')
plt.show()

相关问题