
Привет. У меня есть трехмерная поверхность, у меня есть точка на этой поверхности, и у меня есть две касательные к поверхности в этой точке в направлениях x и y, показанные в виде черных линий. У меня также есть проекции двух касательных на саму поверхность, показанные серыми пунктирными линиями.
Вот сокращенная версия кода, который я использовал для построения рисунка выше:
fig = plt.figure()
ax = fig.gca(projection='3d')
x = np.arange(-5, 5, 0.01)
y = np.arange(-5, 5, 0.01)
X, Y = np.meshgrid(x, y)
Z = -5*X**2+Y**3
ax.plot_surface(X, Y, Z) # Plots the surface
ax.plot([2.], [3.], [7.]) # Plots the point
ax.plot(x, [3]*np.size(x), -20*x+47) # Plots first tangent
ax.plot([2]*np.size(y), y, 27*y-74) # Plots second tangent
ax.plot(x, [3]*np.size(x), -5*x**2+3**3) # Plots first projection
ax.plot([2]*np.size(y), y, -5*2**2+y**3) # Plots second projection
Я хотел бы либо нарисовать отрезки между каждой касательной и ее проекцией, либо заполнить область между ними, т.е. что-то вроде этого:

или как это:

Я пробовал использовать функцию "fill_between", но не смог расширить ее в 3D так, как мне нужно. Буду очень признателен за любую помощь, спасибо!