Clear["Global`*"];

T=1; (*Driving function defined on [0,T]*)
n=1000; (*Number of samples*)
c=1;  (*Scaling constant*)

(*Driving function*)
L[t_]:=Sin[10*t];

flip[z_]:=If[Im[z]≥0,z,-z];(*Defines function that makes all imaginary parts positive, fixes branch problem*)
f[z0_,z_]:=z0+flip[Sqrt[(z-z0)^2-4*T/n]];(*Conformal map: This is the solution to the upward L.E. with constant driving function equal to z0*)

Plot[L[t],{t,0,T}](*Plots driving function from 0 to T*)

dfdata=Table[N[c*L[T*i/n]],{i,0,n,1}];(*Creates table of samples from driving functions*)
data=Reverse[dfdata];

zvals={data[[1]]}; (*Base point*)

For[i=1, i≤ n, i++,zvals=Prepend[Map[Function[z,f[data[[i]],z]],zvals],data[[i+1]]]];(*Runs L.E. on samples*)

If you want to generate watch the hulls grow in the upward LE, comment out previous line and run next line as well as last line.

(*For[i=1,i≤ n,i++,(Subscript[q, i])={0}];
For[i=1, i≤ n, i++,
(Subscript[q, i])=zvals;
zvals=Prepend[Map[Function[z,f[data[[i]],z]],zvals],data[[i+1]]]];*)

ListLinePlot[{Re[#],Im[#]}&/@zvals](*Creates graphs of hull*)

ListPlot[{Re[#],Im[#]}&/@zvals] (*Graphs samples*)

(*Animate[ListLinePlot[{Re[#],Im[#]}&/@(Subscript[q, j]),PlotRange-> {{0,5},{0,1.6}}],{j,1,n,1}]*)