Skip to content

Instantly share code, notes, and snippets.

@Kirilliann
Created June 1, 2013 11:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kirilliann/5690018 to your computer and use it in GitHub Desktop.
Save Kirilliann/5690018 to your computer and use it in GitHub Desktop.
function parab(jdn,e,q,incl,Omega,peri,j0){
/* jdn -текущая юлианская дата j0 - юлианская дата перигелия*/
var t=jdn-j0
var k=0.01720209895
var rad=180/Math.PI
function sind(a){return Math.sin(a/rad)}
function cosd(a){return Math.cos(a/rad)}
var Q1=(k/(2*q))*Math.sqrt((1+e)/q)
var Q2=(k/(2*q))*Math.sqrt((2)/q)
var W=Q2*t*3
var G=W/2;
var Y=Math.pow(G+Math.sqrt(G*G+1),1/3)
var s=Y-1/Y;
var r=q*(1+s*s)
var u2=2*Math.atan(s)*rad
s=Q1*t+gg
r=q*(1+e)/(1+Math.cos(u2/rad))
var dzeta=r*cosd(u2)
var nu=r*sind(u2)
var A1=cosd(Omega)
var A2=sind(Omega)
var A3=0
var B1=-sind(Omega)*cosd(incl)
var B2=cosd(Omega)*cosd(incl)
var B3=sind(incl)
var w=peri
var P1=A1*cosd(w)+B1*sind(w); //
var P12=A2*cosd(w)+B2*sind(w);
var P13=A3*cosd(w)+B3*sind(w);
var Q1=B1*cosd(w)-A1*sind(w);
var ecl=23.5
var Q12=B2*cosd(w)-A2*sind(w);
var Q13=B3*cosd(w)-A3*sind(w);
var P2=P12*cosd(ecl)-P13*sind(ecl);
var P3=P12*sind(ecl)+P13*cosd(ecl);
var Q2=Q12*cosd(ecl)-Q13*sind(ecl);
var Q3=Q12*sind(ecl)+Q13*cosd(ecl);
var x=P1*dzeta+Q1*nu;
var y=P2*dzeta+Q2*nu;
var z=P3*dzeta+Q3*nu;
var t1=(jdn-2433282)/365.25;
var T2=(t1/100);
var L=100.00532+359.9937288*t1;
var L1=L+180;
var l1=358.47583+35999.04972*T2+0.00015*T2*T2;
var p=1.0014-0.01643*Math.cos(l1/rad)-0.00014*Math.cos(2*l1/rad);
var lambda=L1+1.9171*Math.sin(l1/rad)+0.0200*Math.sin(2*l1/rad)+0.0003*Math.sin(3*l1/rad);
var X0=p*Math.cos(lambda/rad);
var Y0=p*Math.sin(lambda/rad);
var Z0=0;
var Xs=X0;
var Ys=Y0*Math.cos(ecl/rad);
var Zs=Y0*Math.sin(ecl/rad);
var Xm=x+Xs;
var Ym=y+Ys;
var Zm=z+Zs;
var alpha1=Math.atan2(Ym,Xm)*rad/15;
if (alpha1<0){
alpha1=alpha1+24;
}
var lko=Math.sqrt((Xm*Xm)+(Ym*Ym));
var delta1=Math.atan2(Zm,lko)*rad;
var dlt=Math.sqrt(Xm*Xm+Ym*Ym+Zm*Zm)
var m1 =5.5+5*Math.log(dlt)/Math.log(10) + 10.0*Math.log(r)/Math.log(10)
return [dlt,delta1,alpha1, m1]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment