⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stmars.pas

📁 条码控件: 一维条码控件 二维条码控件 PDF417Barcode MaxiCodeBarcode
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      + 0.00000004900 * cos(2.82452457970 +   242.72860397000 * Tau)
      + 0.00000003782 * cos(2.01914272510 +  3344.13554500000 * Tau)
      + 0.00000003176 * cos(4.59144897930 +  3185.19202730000 * Tau)
      + 0.00000003134 * cos(0.65044714325 +   553.56940284000 * Tau);

  L4 := 0.00000113969 * cos(3.14159265360 +     0.00000000000 * Tau)
      + 0.00000028725 * cos(5.63662412040 +  6681.22485340000 * Tau)
      + 0.00000024447 * cos(5.13868481450 +  3340.61242670000 * Tau)
      + 0.00000011187 * cos(6.03161074430 + 10021.83728000000 * Tau)
      + 0.00000003252 * cos(0.13228350651 + 13362.44970700000 * Tau)
      + 0.00000003190 * cos(3.56267988300 +   155.42039943000 * Tau)
      + 0.00000000787 * cos(0.49340783377 + 16703.06213300000 * Tau)
      + 0.00000000776 * cos(1.31734531590 +   242.72860397000 * Tau);

  L5 := 0.00000000868 * cos(3.14159265360 +     0.00000000000 * Tau)
      + 0.00000000710 * cos(4.04089996520 +  6681.22485340000 * Tau);
  Result := (L0 + L1*Tau + L2*Tau2 + L3*Tau3 + L4*Tau4 + L5*Tau5);
end;

{-------------------------------------------------------------------------}

function GetLatitude(Tau, Tau2, Tau3, Tau4, Tau5 : Double) : Double;
var
  B0, B1,
  B2, B3,
  B4, B5  : Double;
begin
  B0 := 0.03197134986 * cos(3.76832042430 +  3340.61242670000 * Tau)
      + 0.00298033234 * cos(4.10616996240 +  6681.22485340000 * Tau)
      + 0.00289104742 * cos(0.00000000000 +     0.00000000000 * Tau)
      + 0.00031365538 * cos(4.44651052850 + 10021.83728000000 * Tau)
      + 0.00003484100 * cos(4.78812547890 + 13362.44970700000 * Tau)
      + 0.00000443401 * cos(5.02642620490 +  3344.13554500000 * Tau)
      + 0.00000442999 * cos(5.65233015880 +  3337.08930840000 * Tau)
      + 0.00000399109 * cos(5.13056814700 + 16703.06213300000 * Tau)
      + 0.00000292506 * cos(3.79290644590 +  2281.23049650000 * Tau)
      + 0.00000181982 * cos(6.13648011700 +  6151.53388830000 * Tau)
      + 0.00000163159 * cos(4.26399626630 +   529.69096509000 * Tau)
      + 0.00000159678 * cos(2.23194610250 +  1059.38193020000 * Tau)
      + 0.00000149297 * cos(2.16501209920 +  5621.84292320000 * Tau)
      + 0.00000142686 * cos(1.18215016110 +  3340.59517300000 * Tau)
      + 0.00000142685 * cos(3.21292180820 +  3340.62968040000 * Tau)
      + 0.00000139323 * cos(2.41796344240 +  8962.45534990000 * Tau);

  B1 := 0.00350068845 * cos(5.36847836210 +  3340.61242670000 * Tau)
      + 0.00014116030 * cos(3.14159265360 +     0.00000000000 * Tau)
      + 0.00009670755 * cos(5.47877786510 +  6681.22485340000 * Tau)
      + 0.00001471918 * cos(3.20205766790 + 10021.83728000000 * Tau)
      + 0.00000425864 * cos(3.40843812880 + 13362.44970700000 * Tau)
      + 0.00000102039 * cos(0.77617286189 +  3337.08930840000 * Tau)
      + 0.00000078848 * cos(3.71768293870 + 16703.06213300000 * Tau)
      + 0.00000032708 * cos(3.45803723680 +  5621.84292320000 * Tau)
      + 0.00000026171 * cos(2.48293558070 +  2281.23049650000 * Tau);

  B2 := 0.00016726690 * cos(0.60221392419 +  3340.61242670000 * Tau)
      + 0.00004986799 * cos(3.14159265360 +     0.00000000000 * Tau)
      + 0.00000302141 * cos(5.55871276020 +  6681.22485340000 * Tau)
      + 0.00000025767 * cos(1.89662673500 + 13362.44970700000 * Tau)
      + 0.00000021452 * cos(0.91749968618 + 10021.83728000000 * Tau)
      + 0.00000011820 * cos(2.24240738700 +  3337.08930840000 * Tau)
      + 0.00000007985 * cos(2.24892866610 + 16703.06213300000 * Tau);

  B3 := 0.00000606506 * cos(1.98050633530 +  3340.61242670000 * Tau)
      + 0.00000042611 * cos(0.00000000000 +     0.00000000000 * Tau)
      + 0.00000013652 * cos(1.79588228800 +  6681.22485340000 * Tau)
      + 0.00000002730 * cos(3.45377082120 + 10021.83728000000 * Tau);

  B4 := 0.00000013369 * cos(0.00000000000 +     0.00000000000 * Tau)
      + 0.00000011334 * cos(3.45724352590 +  3340.61242670000 * Tau)
      + 0.00000000744 * cos(0.50445805257 +  6681.22485340000 * Tau);

  B5 := 0.00000000000;
  Result := (B0 + B1*Tau + B2*Tau2 + B3*Tau3 + B4*Tau4 + B5*Tau5);
end;

{-------------------------------------------------------------------------}

function GetRadiusVector(Tau, Tau2, Tau3, Tau4, Tau5 : Double) : Double;
var
  R0, R1,
  R2, R3,
  R4, R5  : Double;
begin
  R0 := 1.53033488280 * cos(0.00000000000 +     0.00000000000 * Tau)
      + 0.14184953153 * cos(3.47971283520 +  3340.61242670000 * Tau)
      + 0.00660776357 * cos(3.81783442100 +  6681.22485340000 * Tau)
      + 0.00046179117 * cos(4.15595316280 + 10021.83728000000 * Tau)
      + 0.00008109738 * cos(5.55958460170 +  2810.92146160000 * Tau)
      + 0.00007485315 * cos(1.77238998070 +  5621.84292320000 * Tau)
      + 0.00005523193 * cos(1.36436318880 +  2281.23049650000 * Tau)
      + 0.00003825160 * cos(4.49407182410 + 13362.44970700000 * Tau)
      + 0.00002484385 * cos(4.92545577890 +  2942.46342330000 * Tau)
      + 0.00002306539 * cos(0.09081742493 +  2544.31441990000 * Tau)
      + 0.00001999399 * cos(5.36059605230 +  3337.08930840000 * Tau)
      + 0.00001960198 * cos(4.74249386320 +  3344.13554500000 * Tau)
      + 0.00001167115 * cos(2.11261501150 +  5092.15195810000 * Tau)
      + 0.00001102828 * cos(5.00908264160 +   398.14900341000 * Tau)
      + 0.00000992252 * cos(5.83862401070 +  6151.53388830000 * Tau)
      + 0.00000899077 * cos(4.40790433990 +   529.69096509000 * Tau)
      + 0.00000807348 * cos(2.10216647100 +  1059.38193020000 * Tau)
      + 0.00000797910 * cos(3.44839026170 +   796.29800682000 * Tau)
      + 0.00000740980 * cos(1.49906336890 +  2146.16541650000 * Tau)
      + 0.00000725583 * cos(1.24516913470 +  8432.76438480000 * Tau)
      + 0.00000692340 * cos(2.13378814790 +  8962.45534990000 * Tau)
      + 0.00000633144 * cos(0.89353285018 +  3340.59517300000 * Tau)
      + 0.00000633140 * cos(2.92430448170 +  3340.62968040000 * Tau)
      + 0.00000629976 * cos(1.28738135860 +  1751.53953140000 * Tau)
      + 0.00000574352 * cos(0.82896196337 +  2914.01423580000 * Tau)
      + 0.00000526187 * cos(5.38292276230 +  3738.76143010000 * Tau)
      + 0.00000472776 * cos(5.19850457870 +  3127.31333130000 * Tau)
      + 0.00000348095 * cos(4.83219198910 + 16703.06213300000 * Tau)
      + 0.00000283702 * cos(2.90692294910 +  3532.06069280000 * Tau)
      + 0.00000279552 * cos(5.25749247550 +  6283.07585000000 * Tau)
      + 0.00000275501 * cos(1.21767967780 +  6254.62666250000 * Tau)
      + 0.00000275224 * cos(2.90818883830 +  1748.01641310000 * Tau)
      + 0.00000269891 * cos(3.76394728620 +  5884.92684660000 * Tau)
      + 0.00000239133 * cos(2.03669896240 +  1194.44701020000 * Tau)
      + 0.00000233827 * cos(5.10546492530 +  5486.77784320000 * Tau)
      + 0.00000228128 * cos(3.25529020620 +  6872.67311950000 * Tau)
      + 0.00000223190 * cos(4.19861593780 +  3149.16416060000 * Tau)
      + 0.00000219428 * cos(5.58340248780 +   191.44826611000 * Tau)
      + 0.00000208336 * cos(4.84626442120 +  3340.67973700000 * Tau)
      + 0.00000208333 * cos(5.25476080770 +  3340.54511640000 * Tau)
      + 0.00000186213 * cos(5.69871555750 +  6677.70173500000 * Tau)
      + 0.00000182686 * cos(5.08062683360 +  6684.74797180000 * Tau)
      + 0.00000178613 * cos(4.18423025540 +  3333.49887970000 * Tau)
      + 0.00000175995 * cos(5.95341786370 +  3870.30339180000 * Tau)
      + 0.00000163534 * cos(3.79889068110 +  4136.91043350000 * Tau);

  R1 := 0.01107433340 * cos(2.03250524950 +  3340.61242670000 * Tau)
      + 0.00103175886 * cos(2.37071845680 +  6681.22485340000 * Tau)
      + 0.00012877200 * cos(0.00000000000 +     0.00000000000 * Tau)
      + 0.00010815880 * cos(2.70888093800 + 10021.83728000000 * Tau)
      + 0.00001194550 * cos(3.04702182500 + 13362.44970700000 * Tau)
      + 0.00000438579 * cos(2.88835072630 +  2281.23049650000 * Tau)
      + 0.00000395698 * cos(3.42324611290 +  3344.13554500000 * Tau)
      + 0.00000182572 * cos(1.58428644000 +  2544.31441990000 * Tau)
      + 0.00000135850 * cos(3.38507017990 + 16703.06213300000 * Tau)
      + 0.00000128362 * cos(6.04343360440 +  3337.08930840000 * Tau)
      + 0.00000128204 * cos(0.62991220570 +  1059.38193020000 * Tau)
      + 0.00000127068 * cos(1.95389775740 +   796.29800682000 * Tau)
      + 0.00000118443 * cos(2.99761345070 +  2146.16541650000 * Tau)
      + 0.00000087537 * cos(3.42052758980 +   398.14900341000 * Tau)
      + 0.00000083026 * cos(3.85574986650 +  3738.76143010000 * Tau)
      + 0.00000075598 * cos(4.45101839350 +  6151.53388830000 * Tau)
      + 0.00000071999 * cos(2.76442180680 +   529.69096509000 * Tau)
      + 0.00000066542 * cos(2.54892602690 +  1751.53953140000 * Tau)
      + 0.00000066430 * cos(4.40597549960 +  1748.01641310000 * Tau)
      + 0.00000057518 * cos(0.54354327916 +  1194.44701020000 * Tau)
      + 0.00000054314 * cos(0.67750943459 +  8962.45534990000 * Tau)
      + 0.00000051035 * cos(3.72585409210 +  6684.74797180000 * Tau)
      + 0.00000049428 * cos(5.72959428360 +  3340.59517300000 * Tau)
      + 0.00000049424 * cos(1.47717922230 +  3340.62968040000 * Tau)
      + 0.00000048318 * cos(2.58061691300 +  3149.16416060000 * Tau)
      + 0.00000047863 * cos(2.28527896840 +  2914.01423580000 * Tau)
      + 0.00000038953 * cos(2.31900090550 +  4136.91043350000 * Tau);

  R2 := 0.00044242247 * cos(0.47930603943 +  3340.61242670000 * Tau)
      + 0.00008138042 * cos(0.86998398093 +  6681.22485340000 * Tau)
      + 0.00001274915 * cos(1.22594050810 + 10021.83728000000 * Tau)
      + 0.00000187387 * cos(1.57298991980 + 13362.44970700000 * Tau)
      + 0.00000052396 * cos(3.14159265360 +     0.00000000000 * Tau)
      + 0.00000040744 * cos(1.97080175060 +  3344.13554500000 * Tau)
      + 0.00000026616 * cos(1.91665615760 + 16703.06213300000 * Tau)
      + 0.00000017825 * cos(4.43499505330 +  2281.23049650000 * Tau)
      + 0.00000011713 * cos(4.52510453730 +  3185.19202730000 * Tau)
      + 0.00000010209 * cos(5.39143469550 +  1059.38193020000 * Tau)
      + 0.00000009950 * cos(0.41870577185 +   796.29800682000 * Tau);

  R3 := 0.00001113107 * cos(5.14987350140 +  3340.61242670000 * Tau)
      + 0.00000424446 * cos(5.61343766480 +  6681.22485340000 * Tau)
      + 0.00000100044 * cos(5.99726827030 + 10021.83728000000 * Tau)
      + 0.00000019606 * cos(0.07633062094 + 13362.44970700000 * Tau)
      + 0.00000004693 * cos(3.14159265360 +     0.00000000000 * Tau)
      + 0.00000003477 * cos(0.42951907576 + 16703.06213300000 * Tau);

  R4 := 0.00000019552 * cos(3.58211650470 +  3340.61242670000 * Tau)
      + 0.00000016323 * cos(4.05116076920 +  6681.22485340000 * Tau)
      + 0.00000005848 * cos(4.46383962090 + 10021.83728000000 * Tau)
      + 0.00000001532 * cos(4.84374321620 + 13362.44970700000 * Tau);

  R5 := 0.00000000000;
  Result := (R0 + R1*Tau + R2*Tau2 + R3*Tau3 + R4*Tau4 + R5*Tau5);
end;

{-------------------------------------------------------------------------}

function ComputeMars(JD : Double) : TStEclipticalCord;
var
  Tau,
  Tau2,
  Tau3,
  Tau4,
  Tau5      : Double;
begin
  Tau  := (JD - 2451545.0) / 365250.0;
  Tau2 := sqr(Tau);
  Tau3 := Tau * Tau2;
  Tau4 := sqr(Tau2);
  Tau5 := Tau2 * Tau3;

  Result.L0 := GetLongitude(Tau, Tau2, Tau3, Tau4, Tau5);
  Result.B0 := GetLatitude(Tau, Tau2, Tau3, Tau4, Tau5);
  Result.R0 := GetRadiusVector(Tau, Tau2, Tau3, Tau4, Tau5);
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -