ClearAll["Global`*"]
rozsah=3;
(*---funkce f---*)
(*f[x_,y_]:=Exp[-(x-1)^2-(y-1)^2]+1.5 Exp[-(x+1)^2-(y+0.3)^2]+0.8 Exp[-(x-0.3)^2-(y+1.5)^2];*)
f[x_,y_]:=(3x-y)*Exp[-(x-1)^2-(y-1)^2]+2*Exp[-(x+1)^2-y^2]+Exp[-(x-0.5)^2-(y+1.5)^2];
rozlozeni=DensityPlot[f[x,y],{x,-rozsah,rozsah},{y,-rozsah,rozsah},ColorFunction->ColorData["TemperatureMap"],ColorFunctionScaling->True,PlotPoints->40,ImageSize->500,PlotLegends->Automatic];
(*----- GRAFICKÝ VÝSTUP -----*)
Manipulate[
Module[
{a,v,u,g,sder,tecna},
(*--- bod a ---*)
a={ax,ay};
(*--- vektor v ---*)
v=L*{Cos[θ],Sin[θ]};
(*--- normalizace v ---*)
u=Normalize[v];
(*--- průřezová funkce ---*)
g[t_]:=Apply[f,a+t*v];
(*--- směrová derivace f v bodě a podle vektoru v ---*)
sder=g'[0];
(*--- tečna ke grafu průřezové funkce v bodě (0,g(0)) ---*)
tecna[t_]:=g[0]+t*sder;
(*--- Vytvoření seskupení obrázků ---*)
Grid[
{
{
(*--- levý obrázek ---*)
Show[
rozlozeni,
Graphics[{
(*- vykreslení bodu a -*)
Black,AbsolutePointSize[12],Point[a],
(*- vykreslení vektoru v -*)
Thick,Arrow[{a,a+v}],
(*- vykreslení přímky řezu -*)
Line[{a-3*u,a+3*u}]
}]
],
(*--- pravý obrázek ---*)
Plot[
{g[t],tecna[t]},{t,-3,3},
PlotRange->All,
PlotStyle->{Blue,{Red,Dashed,Thick}},
ImageSize->500,
ImagePadding->{{Automatic,Automatic},{Automatic,50}},
AxesLabel->{"t","f(a + t v)"},
PlotLabel->
Framed[
Style[
DisplayForm@RowBox[{
SubscriptBox["∇","v"]," ","f(a)"," = ",ToString@NumberForm[sder,{5,3}]
}],
Bold,15
],
FrameStyle->GrayLevel[0.3],Background->Lighter[Yellow,0.9],RoundingRadius->3],
Epilog->{Red,AbsolutePointSize[12],Point[{0,g[0]}]}
]
}
},
Alignment->Center
]
],
(*--- ovládací prvky ---*)
Row[{
Column[{
Control@{{θ,0,"směr"},0,2 Pi},
Control@{{L,1,"délka"},0.2,2}
}],
Spacer[50],
Column[{
Control@{{ax,0.2,"x"},-2.5,2.5},
Control@{{ay,0.3,"y"},-2.5,2.5}
}]
}],
ControlPlacement->Top,
ContinuousAction->False
]