Trajektorie hodu s minimální poč. rychlostí

Úloha má demontrovat způsob použití SW Mathematica jako “symbolické” kalkulačky.

Hledáme, jak zasáhnout koš o souřadnicích zadaných

X = r Cos[ϕ]
Y = r Sin[ϕ]

Míč se pohybuje po parabole

x = vx t 
y = vy t - g/2 t^2

V nějakém čase se pak musí míč trefit do koše

rovnice = { x==X,y==Y}

Hledání extrému vyžaduje zavední velikosti rychlosti v

rovnice2 = rovnice /. {vx -> v Cos[α],vy -> v Sin[α]}

Rovnice má dvě řešení, to kladné musíme vybrat ručně (pomocí [[2]])

Solve[ rovnice2, {t,v}];
obereseni = Simplify[ %,Assumptions->r>0 && g>0 ];
tv =%[[2]]

Nyní je možné hledat minimum v závislosti na rychlosti

fceV = v /.tv
Plot[ %/. {r->100,ϕ->Pi/6,g->10},{α,0,Pi/2},ImageSize->Small]

Minimum, tedy derivace je nula:

D[ fceV,α]//Simplify
Solve[%==0,α]//FullSimplify;
minαDlouhyVzorec=%[[2]]

To není hezký výsledek, pomůže, 
  - když místo % v Solve napíšeme Numerator[%]
  - nebo když přidáme Assumptions->0<ϕ<Pi/2&&0<α<Pi/2&&g>0&&r>0
Ještě hezčí výsledek získáme, když rovnou vybereme správný kořen funkce Cos[...]

minα =Solve[ 2 α-ϕ==Pi/2,α]//First

konkrétní hodnotu minimální rychlosti dostaneme takto

fceV /. minα
Simplify[%,Assumptions->r>0 && g>0 && ϕ>0 && ϕ<Pi/2]

Není snadné ukázat, že minα a minαDlouhyVzorec jsou stejné hodnoty...

vyraz1 = α/.minα
vyraz2 = α/.minαDlouhyVzorec

FullSimplify[vyraz1-vyraz2,Assumptions-> 0<ϕ<Pi/2]

Snad obrázkem...

Plot[ {vyraz1,vyraz2}, {ϕ,-2Pi,2Pi},Exclusions->False]

Ještě jak nakreslit obrázek nalezené trajektorie

grϕ = {g->10,r->200,ϕ->30/180 Pi};
grϕα = Join[%,minα/.grϕ];
konkretniHodnoty =Join[%,tv/.%]

cil = {X,Y}/.%;
 {vx -> v Cos[α],vy -> v Sin[α]}/.%%;
strela = {x,y}/.%/.grϕ;
tCil= N[t/.konkretniHodnoty];

ParametricPlot[ strela,{t,0,tCil},Epilog->{PointSize[Large],Red,Point[cil]},PlotTheme->"Detailed",PlotLegends->None]