**TI92**mainSingle file dated Fri Nov 24 08:37:42 20Rorbit68k Z )() Prgm setMode("graph","Parametric") setMode("Angle","Degree") setMode("Split 1 App","Graph") setGraph("Axes","Off") Lbl start This is if you wish to use a matrix of values as opposed to punching in numbers yourself. Add an X to the options if you do. x[1]l1 matlist(l1)l1 Dialog Title "OrbitFinder 68k v3" DropDown "Use List?",{"Yes","No"},0 DropDown "Orbital body",l1,1 DropDown "Calculator?",{"Orbit","Maneuver"},2 EndDlog 20 If 0=1 Then x[2,1]c x[3,1]k x[4,1]soi x[1,1]centre Else Dialog Title "OrbitFinder 68k v3" Request "Name?",centre Request "Radius?",c Request "GM (K)?",k Request "S.O.I?",soi DropDown "Calculator?",{"Orbit","Maneuver"},2 EndDlog expr(c)c expr(k)k expr(soi)soi EndIf If 2=1 Then Goto body0 Else Goto body1 EndIf Lbl body0 Dialog Title "Orbit around "¢re Request "ASL Alt?",d Request "Total Vel?",t Request "Vert. Vel?",v EndDlog expr(d)d expr(t)t expr(v)v (t^2-v^2)h c+dr If 2/r-t^2/k0 Then 1/(2/r-t^2/k)a (1-h^2*(r^2/(a*k)))e a*(1-e)n a*(1+e)f ((1+e)*k/((1-e)*a))q ((1-e)*k/((1+e)*a))s If a0 Then "N/A"p abs(a)*(e^2-1)b Else 2**(a^3/k)p (1-e^2)*ab EndIf Else DelVar a rn "N/A"f (2*k/r)q 1e EndIf If v0 Then cos((a*(1-e^2)-r)/(e*r)) ElseIf v<0 Then cos((a*(1-e^2)-r)/(e*r)) Else 0 EndIf Goto graphr Lbl body1 Dialog Title "Maneuver around "¢re Request "Apoapsis?",f Request "Periapsis?",n EndDlog expr(f)f expr(n)n If n>f Then Goto body1 EndIf c+ff c+nn (f-n)/(f+n)e (f+n)/2a ((1+e)*k/((1-e)*a))q ((1-e)*k/((1+e)*a))s 2**(a^3/k)p (1-e^2)*ab Goto graphr Lbl graphr ClrGraph If e<1 Then Graph a*cos(t)-(a-n),b*sin(t) ElseIf e>1 Then Graph abs(a)*cosh(t)-(abs(a)-n),b*sinh(t) Else Graph c*cos(t),c*sin(t) EndIf ZoomFit ZoomSqr For drw,0,c,x (c^2-drw^2)shde Line drw,shde,drw,shde Line drw,shde,drw,shde EndFor Lbl tbr Toolbar Title "RST",start Title "ORB",orbinf Title "INF",info Title "END",quitprog EndTBar Lbl orbinf If e1 Then Dialog Title "Orbit info for craft around "¢re Text "Ap/Pe (m)" Text string(f-c) Text string(n-c) Text "SMA (m)" Text string(a) Text "Eccentricity:" Text string(e) EndDlog Dialog Title "Orbit Info Continued" Text "ApS/PeS (m)" Text string(s) Text string(q) Text "Period (sec)" Text string(p) Text "True Anomaly ()" Text string() EndDlog Else Dialog Title "Very Impressive" Text "Orbit stuff not" Text "Able to be found -" Text "You managed to" Text "Get a minimum" Text "escape trajectory." Text "Good job!" EndDlog EndIf Goto tbr Lbl info Dialog Title "About OrbitFinder-68k" Text "Version 3.00NL" Text "Copyright What a joke" Text "Isaac Jacoby" Text "2017-10-30-15-58-16" EndDlog Goto tbr Lbl quitprog {centre,c,k,soi,d,t,v,r,h,a,b,p,e,n,f,q,s,}dbo68k DelVar l1,0,1,2,k,soi,centre,c,d,t,v,h,r,a,b,p,e,n,f,q,s,,drw,shde Dialog Title "Exiting..." Text "Debug Variable is in." Text "I will now safely exit." EndDlog ClrGraph setGraph("Axes","On") setMode("graph","Function") ZoomStd EndPrgm0