var('s,t')
r = tangent_line(P,v)
def curve(t):
return r(t=t) + vector((0,0,f(*r(t=t))))
graph = parametric_plot(r + vector((0,0,s)), (t,-3,1), (s,-1,1), color='yellow', opacity=.7)+ \
plot3d(f(x,y),(x,-1,1),(y,-1,1)) + \
parametric_plot(r, (t,-3,1), thickness=3, color='darkgreen') + \
parametric_plot(curve(t),(t,-2.2,.3), thickness = 3, color='violet')
graph.show(spin=True)