J'ai écrit un code pour tracer une surface 3D d'un paraboloïde dans matplotlib.
Comment puis-je faire pivoter la figure de façon à ce qu'elle reste en place (c'est-à-dire sans déplacement vertical ou horizontal) mais qu'elle tourne autour de la ligne y = 0 et z = 0 d'un angle thêta (j'ai surligné en vert la ligne autour de laquelle la figure doit tourner). Voici une illustration pour vous aider à visualiser ce que je décris :
Par exemple, si l'on fait pivoter la figure autour de la ligne d'un angle de 180 degrés, la figure sera retournée à l'envers, de sorte que le point d'origine sera désormais le point maximal.
Je voudrais également faire pivoter l'axe pour que la carte des couleurs soit conservée. Voici le code pour dessiner la figure :
#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()