load(draw)$

f:-x^2-y^2-x*y+y^3+200;

fx:diff(f,x);

fy:diff(f,y);

with_slider_draw3d(
       a, makelist(i/2, i, -6, 2),
       xlabel="x", ylabel="y", zlabel="z",
       surface_hide=false,
       line_width=1,
       explicit(f, x,-5,5, y,-5,5),
       color=blue,
       nticks=50,
       line_width=4,
       pic_width=700,
       pic_height=500,
       parametric(a+t,a,subst([x=a,y=a],f)+subst([x=a,y=a],fx)*t,t,-2,2),
       parametric(a,a+t,subst([x=a,y=a],f)+subst([x=a,y=a],fy)*t,t,-2,2),
       color=green,
       points([[a,a,subst([x=a,y=a],f)]]),
       user_preamble="set xyplane at -11")$