我想绘制一个旋转的抛物柱面。就像用两根手指握住对称平面的一个点,让这个平面围绕这个点旋转。
有旋转矩阵(对于 y 轴)。
参数化曲面为:
(u,v,u**2)
我已经为围绕 x 轴的旋转绘制了这个曲面:
下面是修改后的(!)代码,用于绘制绕 y 轴的旋转。
from math import cos,sin,pi
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.auto_scale_xyz([0, 500], [0, 500], [0, 0.15])
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
Us = np.arange(-1, 1, 0.005)
Vs = np.arange(-1, 1, 0.005)
for ch in [0.2*i*pi for i in range(3)]:
Xs = Us*cos(ch) + sin(ch)*(Us**2)
Ys = Vs
Xs, Ys = np.meshgrid(Xs, Ys)
Zs = -Us*sin(ch) + cos(ch)*(Us**2)
Axes3D.plot3D(ax,Xs,Ys,Zs, alpha=0.05)
它不起作用。它产生废话。这是我得到的输出:
操作是相同的,所以我真的不明白为什么它不起作用。谁能告诉我我做错了什么?
我需要进行这项工作,以便仅查看代数曲面在受到某些旋转时的变换方式。上面的代码是我目前正在调试的粗略简化的片段。所以我希望得到关于这个特定代码的答案。