usingMakieusingDifferentialEquations,ParameterizedFunctionsimportAbstractPlotting:textsliderlorenz=@ode_defLorenzbegin# define the systemdx=σ*(y-x)dy=x*(ρ-z)-ydz=x*y-β*zendσρβu0=[1.0,0.0,0.0]# initial conditionstspan0=(0.0,100.0)# initial timespanp0=[10.0,28.0,8/3]# initial parametersprob=ODEProblem(lorenz,u0,tspan0,p0)# define the problem## setup sliders and plotting"The order of magnitude to range between."OME=8sσ,oσ=textslider(exp10.(-OME:0.001:OME),"σ",start=p0[1]);sρ,oρ=textslider(exp10.(-OME:0.001:OME),"ρ",start=p0[2]);sβ,oβ=textslider(exp10.(-OME:0.001:OME),"β",start=p0[3]);st,ot=textslider(exp10.(-OME:0.001:OME),"tₘₐₓ",start=tspan0[end]);sr,or=textslider(100:10000,"resolution",start=2000);trange=lift(ot,or)dotmax,resolutionLinRange(0.0,tmax,resolution)enddata=lift(oσ,oρ,oβ,trange)doσ,ρ,β,tsPoint3f0.(solve(remake(prob;p=[σ,ρ,β],tspan=(ts[1],ts[end])))(ts).u)# change to fit the dimensionality - maybe even return 2 arrays, or a set of `Point2`s...endparent=Scene(resolution=(1000,500))three=lines(data,linewidth=2,transparency=true,color=("#fe4a49",0.4),show_axis=false)scatter!(three,data,markersize=0.3,color=(:white,0.3),strokecolor=:black,strokewidth=1)on(data)dox# center camera etcupdate!(three)endscene=vbox(hbox(sσ,sρ,sβ,st,sr),three,parent=parent)RecordEvents(scene,"output")