Trust Region Visaualization

f[x_,y_]:=Exp[Sin[50 x]]+Sin[60 Exp[y]]+Sin[70 Sin[x]]+Sin[Sin[80 y]]-Sin[10 (x+y)]+1/4 (x^2+y^2)
Df[x_,y_]=D[f[x,y],{{x,y}}];
DDf[x_,y_]=D[Df[x,y],{{x,y}}];

{xc,yc}={-0.4,-0.45};m[x_,y_]= f[xc,yc]+Df[xc,yc].({x,y}-{xc,yc}) + (1/2)({x,y}-{xc,yc}).DDf[xc,yc].({x,y}-{xc,yc});
r=0.02;

Show[
ContourPlot[
f[x,y],
{x,xc-2r,xc+2r},{y,yc-2r,yc+2r},
AxesLabel->{"x","y","z"},
Contours->Range[-10,10,0.2],
RegionFunction->Function[{x,y,z},(Sqrt[(((x-xc))^2)+(((y-yc))^2)])>r]
],
ContourPlot[
m[x,y],
{x,xc-r,xc+r},{y,yc-r,yc+r},
AxesLabel->{"x","y","z"},
Contours->Range[-10,10,0.2],
RegionFunction->Function[{x,y,z},(Sqrt[(((x-xc))^2)+(((y-yc))^2)])<r],
BoundaryStyle->Red
]
]

Concavity Visualization

f[x_,y_]= (((1-x))^2)+20 (((y-(x^2)))^2);
Df[x_,y_]=D[f[x,y],{{x,y}}];
DDf[x_,y_]=D[Df[x,y],{{x,y}}];
{xc,yc}={0,0};
r=1.5;
ContourPlot[
f[x,y],
{x,xc-2r,xc+2r},{y,yc-2r,yc+2r},
AxesLabel->{"x","y","z"},
Contours->100,
PlotRange->All,
RegionFunction->Function[{x,y,z},Det[DDf[x,y]]>0],
BoundaryStyle->Red
]