我已经编写了代码来在 matplotlib 中绘制抛物线的 3D 表面。
我将如何旋转图形以使图形保持在原位(即没有垂直或水平移动)但是它围绕线 y = 0 和 z = 0 旋转一个θ角(我已经突出显示了图形应该围绕的线旋转为绿色)。这是一个插图,可以帮助形象化我所描述的内容:
例如,如果图形绕直线旋转 180 度,则图形会“上下颠倒”,因此原点处的点现在是最大点。
我还想旋转轴以保持颜色图。下面是绘制图形的代码:
#parabaloid
import numpy as np
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
#creating grid
y = np.linspace(-1,1,1000)
x = np.linspace(-1,1,1000)
x,y = np.meshgrid(x,y)
#set z values
z = x**2+y**2
#label axes
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
#plot figure
ax.plot_surface(x,y,z,linewidth=0, antialiased=False, shade = True, alpha = 0.5)
plt.show()
原文由 fosho 发布,翻译遵循 CC BY-SA 4.0 许可协议
按照我的评论:
或关注@Tamas 的回答: