Я заинтересован в построении кривых на поверхностях вращения и сделал это, но поверхность наложена поверх кривой, кто-нибудь знает, как сделать обратное?
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
def surface_of_rev(u,v):
f = v
x = f*np.cos(u)
y = f*np.sin(u)
z = np.exp(-v**2)
return x,y,z
U = np.linspace(0,2*pi,n)
V = np.linspace(0.,3,n)
U,V = np.meshgrid(U,V)
x,y,z = surface_of_rev(U,V)
# curve
a = 3
b = 1
T = np.linspace(0,3,100)
xx,yy,zz = surface_of_rev(a*T+b,2*T)
# plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
curve = ax.plot(xx, yy, zz, 'o-', lw=2)
surface = ax.plot_surface(x, y, z,color= 'g')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
ax.view_init(50, 10)
plt.show()
Спасибо