Commit Graph

1235 Commits

Author SHA1 Message Date
Don Cross
5f5d67d8da C: Eliminated SkyPos and added Equator function to do its work.
SkyPos was doing 2 different calculations and mashing them together.
Created a more general Equator function that does both jobs one at a time.
Equator can enable/disable rotation to of-date coordinates (precession+nutation)
and enable/disable aberration correction.

Equatorial coordinate type astro_equatorial_t now has a status field
just like astro_vector_t, so we can report errors.
2019-05-19 17:15:19 -04:00
Don Cross
d48759bd35 Fixing SkyPos to have lower error compared with NOVAS.
I have figured out how to make a simple correction for aberration
when calculating geocentric vectors.
To include aberration, not only do I back-date the heliocentric
position of the observed body, but I also backdate the
heliocentric position of the Earth by the same amount of time.
This works because for time periods of a few hours or less,
it is a very good approximation for the aberration angle asin(v/c).

To match NOVAS, astrometric coordinates used for J2000 return value
must exclude the aberration correction, while of-date coordinates
must include aberration.

This requires changing the parameters passed in to SkyPos.
I will have to circle back and make the same changes in the
JavaScript code.

This significantly reduces horizontal angular errors for the planets.
2019-05-19 15:54:14 -04:00
Don Cross
f8bb7f1faf C version: implemented heliocentric calculation of Moon's position. 2019-05-19 09:18:13 -04:00
Don Cross
7eb8691e5a C version of GeoVector now works for the Moon. 2019-05-19 08:23:32 -04:00
Don Cross
8a34da0540 Made C GeoPos consistent with JS GeoPos.
The algorithm for light travel correction was not consistent
between JS and C. Now the output is consistent between the two.
Still interesting that the angular error decreased when I incorrectly
backdated the Earth's position as well as the other body's.
2019-05-18 23:46:18 -04:00
Don Cross
bc9f3aa2ee Implemented C version of Pluto calculator.
Generate Chebyshev model for calculating Pluto's position.
2019-05-18 20:26:29 -04:00
Don Cross
f41344afd5 Pluto work in progress: implemented Chebyshev code generator.
Not ready to push -- Chebyshev calculation not done yet for Pluto.
2019-05-18 19:57:57 -04:00
Don Cross
934051f511 Updated generated astronomy.c. 2019-05-18 18:51:36 -04:00
Don Cross
bf2eeed105 Implemented C version of Horizon function. Fixed bug in C GeoPos.
The C version of GeoPos was returning an ante-dated time value,
not the time the caller asked about. In other words, it was
returning the time when the observed body emitted the light
the observer sees, not the time the observation was made on the
Earth, like it was supposed to. Fortunately, my unit test caught that.
2019-05-18 18:46:08 -04:00
Don Cross
3dc4760ab2 Eliminated the 'novas' refraction formula. Not used. 2019-05-18 15:03:44 -04:00
Don Cross
86aaa241c3 Implemented C version of SkyPos, but not yet tested. 2019-05-18 14:13:46 -04:00
Don Cross
eb659f2b9b Implemented C version of GeoMoon. Speed optimization in JS code. 2019-05-17 21:42:51 -04:00
Don Cross
0bc8293992 Fixed bugs in C version of GeoVector.
There were a couple of bugs in the light travel time correction.
2019-05-17 18:37:34 -04:00
Don Cross
d0cc01186e Starting to validate C VSOP calculations.
Still need to implement GeoMoon and Chebyshev Pluto calculations.
Generating output file temp/c_check.txt that is compatible with
the existing verifier code I wrote for the JavaScript library.
2019-05-17 18:24:56 -04:00
Don Cross
475cc122a9 Mostly finished with C version of VSOP calculations.
Still needs unit test.
2019-05-17 15:55:52 -04:00
Don Cross
6615e3b9f8 Starting to unit test astronomy.c.
Beginnings of a unit test for the C version of Astronomy Engine.
Currently verifies that Astro_MakeTime() is working correctly.
2019-05-16 16:18:03 -04:00
Don Cross
c7074f528e Reworking code generator to handle multiple target languages.
Generating Delta T table in both JavaScript and C.
Work in progress.
2019-05-16 15:24:14 -04:00
Don Cross
2a5f7e58d9 Starting to work on C/C++ version of Astronomy Engine. 2019-05-16 14:04:09 -04:00
Don Cross
12be56d233 Added Go and Python logos. 2019-05-15 22:09:24 -04:00
Don Cross
fcf9391b52 Added logos for C and C++. Not used yet. 2019-05-15 21:44:04 -04:00
Don Cross
fe9c0e6f74 Fixed #37 - Corrected misleading documentation in Elongation, ElongationEvent. 2019-05-14 06:14:50 -04:00
Don Cross
a2f41f99fa Added more entries to the JavaScript documentation topic index. 2019-05-13 22:02:22 -04:00
Don Cross
981464876b Style adjustments in documentation. 2019-05-13 15:16:15 -04:00
Don Cross
c9fe15b01d Style adjustment on JS API reference page. 2019-05-13 15:13:04 -04:00
Don Cross
66d6cb5116 Fixed more broken links. 2019-05-13 15:08:07 -04:00
Don Cross
ded4035d14 Making API reference more approachable. Adding logos. 2019-05-13 10:23:52 -04:00
Don Cross
a258858821 Refactored Handlebars declarations so I don't need partial any more. 2019-05-10 08:23:34 -04:00
Don Cross
035bfa1a7c Documented the refraction parameter for Astronomy.Horizon. 2019-05-09 21:40:08 -04:00
Don Cross
6fc7fcd736 Checking in documentation changes. 2019-05-09 20:53:53 -04:00
Don Cross
1663da0e90 @see markers include links to the things they reference. 2019-05-09 20:10:02 -04:00
Don Cross
e6ce0440d4 Eliminated index listing in Markdown documentation. 2019-05-09 20:01:15 -04:00
Don Cross
022f792801 Fixed documentation problem for class Apsis.
Need to have description text come first in the JSDoc metadata.
2019-05-09 14:45:22 -04:00
Don Cross
b960c0238f Added NextLunarApsis function. Did some performance tuning. 2019-05-08 21:28:29 -04:00
Don Cross
472aa57b90 Fixed #29 - Added SearchLunarApsis to find apogee, perigee. 2019-05-08 19:16:42 -04:00
Don Cross
367b1f8bb3 Documentation copyediting. 2019-05-07 19:45:43 -04:00
Don Cross
dc2ed18059 Checking in changes to generated documentation. 2019-05-07 16:49:10 -04:00
Don Cross
beb35e1379 Fixed documentation of the SeasonInfo function. 2019-05-07 15:58:56 -04:00
Don Cross
8e0278dcbc Reworked more classes as true ECMAScript 2015 classes.
This generates much better Markdown documentation.
2019-05-07 15:38:49 -04:00
Don Cross
98f3e2e556 Reworked Time as an ECMAScript 2015 class.
The main reason I did this was to get generated Markdown
documentation to look better.
2019-05-07 15:26:57 -04:00
Don Cross
1f905f1bbd Another attempt to make bullets work in Markdown. 2019-05-07 14:59:04 -04:00
Don Cross
58e6aeb0f9 Markdown fix: bullets do not work within a table. 2019-05-07 14:52:09 -04:00
Don Cross
a2bd3554c0 More work on documentation. Trying to get bullet lists to work in Markdown. 2019-05-07 14:37:59 -04:00
Don Cross
9de5505319 Fixed lingering vectors that did not use class Vector.
Also added Length member function.
2019-05-07 14:00:10 -04:00
Don Cross
8cad1fc124 More documentation work in progress. 2019-05-07 13:37:25 -04:00
Don Cross
71b54ff711 More documentation work in progress. 2019-05-06 21:42:38 -04:00
Don Cross
8c78a2e3a8 Documented functions DeltaT and TerrestrialTime. 2019-05-06 17:01:30 -04:00
Don Cross
1d814c89c8 More documentation work in progress. 2019-05-06 15:59:21 -04:00
Don Cross
fce6acd756 Checking in changes to generated files. 2019-05-06 15:03:45 -04:00
Don Cross
53ea05adc0 Removed @constructor annotators. They don't seem to do anything. 2019-05-06 14:44:01 -04:00
Don Cross
77355d1bae Add separators between items in generated Markdown documentation. 2019-05-06 14:39:26 -04:00