10 lines
616 B
Plaintext
10 lines
616 B
Plaintext
st="Live" b1="\n" dx=:X-lx lx=:X ifdx==0thenst="Last Known" goto10end
|
|
pi=3.142 d=180/pi s2=sqrt(0.5) c=1000 spd=:spd/c*c //by LizardFish
|
|
i=:i j=:j k=:k xz=sqrt(i^2+k^2) l=sqrt(i^2+j^2+k^2) q=ABS(i/xz)
|
|
b=j/l s=k/xz r=xz/l p=(b<s2)*(b>-s2)*d*(b+(b^3)/6)
|
|
p+=(r<s2)*((j>=0)*(90-d*(r+(r^3)/6))+(j<0)*(d*(r+(r^3)/6)-90))
|
|
h=(q<=s2)*((k>=0)*(d*(q+(q^3)/6))+(k<0)*(180-d*(q+(q^3)/6)))
|
|
h+=(s<s2)*(s>-s2)*(90-d*(s+(s^3)/6)) //check out isan.to
|
|
IF i<0 THEN h=360-h END h-=h%1 p-=p%1 goto9+(h!=360)*(p<91)*(p>-91)
|
|
:Heading="Error\nRecalc" goto1
|
|
:Heading=b1+h+" Deg"+b1+"Pitch:"+b1+p+" Deg"+b1+"Spd:"+spd+b1+st goto1 |