Commit Graph

56 Commits

Author SHA1 Message Date
Don Cross
f754a6de82 Fixed #58 - Solar System Barycenter, Earth/Moon Barycenter.
Can now calculate the heliocentric Solar System Barycenter (SSB)
and Earth/Moon Barycenter (EMB).

Changes made in C, C#, JavaScript and Python:
Added new body codes SSB, EMB.
Added support for calculating both in HelioVector functions.
Verified that all calculations match NOVAS.
Verified that all calculations match each other across languages.
2020-04-29 21:53:57 -04:00
Don Cross
ec6a82b133 Improved performance of Neptune apsis search.
The apsis search for Neptune was sampling 1000 points
in its first pass. It turns out 100 is enough.
2020-01-07 11:57:54 -05:00
Don Cross
7892b797ba Python: planet apsis search is working. 2020-01-06 20:49:49 -05:00
Don Cross
cdf9c6955e Added planet apsis functions to C and C# documentation topic indexes. 2020-01-06 17:28:09 -05:00
Don Cross
977ab2d5b3 C# planet apsis: Implemented unit tests. 2020-01-06 16:04:57 -05:00
Don Cross
9992f2570b Starting to port planetary apsis functions to C#.
No unit tests implemented yet.
2020-01-06 15:19:19 -05:00
Don Cross
02dc4e95a4 Pluto apsis predictions are now within 0.0810 degrees of orbit period.
Increased from 7 Chebyshev sections to 8.
This also decreases max arcmin error from 0.336084 to 0.120252.
2020-01-06 11:25:47 -05:00
Don Cross
f67ddf1c8d Planet apsis: all planets but Pluto now have prediction error below 0.1 degrees.
Adjust VSOP models for planets to bring their prediction errors beneath
0.1 degrees of a total orbit.
ctest no longer runs tests when no command line arguments are given.
That was annoying because I kept running it by accident.
2020-01-06 10:59:38 -05:00
Don Cross
819e59745d Decreased Neptune apsis prediction errors from 49.25 days to 15.45 days.
Include an extra 4 terms in the radial component of the VSOP
model for Neptune. The code automatically picks the 4 terms
that maximize the time derivative's highest possible contribution.
2020-01-05 20:44:29 -05:00
Don Cross
113396d04c C#: Call RefractionAngle from Horizon. Added refraction unit test.
Removed redundant refraction calculations from Astronomy.Horizon().
Added a unit test that InverseRefractionAngle() converges and calculates
an accurate inverse of RefractionAngle().
2019-12-24 11:06:33 -05:00
Don Cross
d79c2ab071 C#: Fixed bugs handling UTC DateTime. Got culminate demo working. 2019-12-23 12:07:33 -05:00
Don Cross
93fdf9a146 C# rotation: added remaining rotation functions.
Fixed a couple of mistakes in the C documentation.
Turned on link checking for csharp markdown output.
2019-12-22 13:44:58 -05:00
Don Cross
d3f0339498 C# rotation: Added more rotation functions. 2019-12-22 13:32:15 -05:00
Don Cross
8768a157cb C# rotation: Added more rotation functions.
More work on new functions for converting orientation systems.
Changed a few classes to structs for memory allocation efficiency.
Moved stuff around in astronomy.cs so the Astronomy class comes
last. This is helpful when I want to add new functions, so I
don't have to search for the end of the class.
2019-12-22 12:07:38 -05:00
Don Cross
660096e8b0 C# rotation: Added Rotation_EQJ_ECL, Rotation_ECL_EQJ. 2019-12-21 21:54:41 -05:00
Don Cross
30a0e51347 C# rotation: Implemented InverseRotation(). 2019-12-21 21:08:35 -05:00
Don Cross
633b7ae2ef C# rotation: Added CombineRotation. Started unit tests. 2019-12-21 20:52:15 -05:00
Don Cross
88eaadf176 C# rotation: split nutation into nutation_rot, nutation. 2019-12-21 19:55:16 -05:00
Don Cross
8d28f07ef3 C#: Added class RotationMatrix, reworked precession function.
Starting to work on rotation functions in C#.
Added class RotationMatrix.
Split precession() into precession() and precession_rot().
Fixed problem in csdown handling type double[3,3].
2019-12-21 19:03:26 -05:00
Don Cross
30d03321e3 C# doc: fixed broken internal links. 2019-12-21 15:15:44 -05:00
Don Cross
3160bbc992 C# doc: Fixed incorrect symbol names in documentation internal links. 2019-12-21 14:46:26 -05:00
Don Cross
6c8bef9b5e C# doc: Fix internal links within descriptive text. 2019-12-21 14:31:47 -05:00
Don Cross
3ae1d92cb2 C# doc: generate Markdown for type summary and remarks. 2019-12-21 13:54:23 -05:00
Don Cross
d0183e2930 C# doc: generate Markdown for class member variables. 2019-12-21 13:48:31 -05:00
Don Cross
1f654d3130 Fixed whitespace that broke Travis CI build. 2019-12-20 22:10:33 -05:00
Don Cross
3bb59f99f1 C# doc: generating Markdown for enumeration values. 2019-12-20 21:48:25 -05:00
Don Cross
b6a913785c C# doc: Merging classes, structs, and enums into one section. 2019-12-20 21:21:51 -05:00
Don Cross
424fc82da8 C# doc: starting to generate Markdown for classes.
Currently emit the member functions.
Need to emit the public member variables.
2019-12-20 21:13:46 -05:00
Don Cross
ef654a1d14 C# doc: documenting function parameters and return value. 2019-12-20 20:30:13 -05:00
Don Cross
1bb7fcde6f C# doc: starting to merge in summary and remarks for each function. 2019-12-20 20:10:01 -05:00
Don Cross
0801769b35 C# doc: Starting to reflect in astronomy.dll. 2019-12-20 15:24:44 -05:00
Don Cross
a20bac5ce5 Updated Windows build to invoke C# documentation generator. 2019-12-20 14:03:40 -05:00
Don Cross
54e886f1a5 C#: starting to work on documentation generator.
I was going to write a Python program to parse the
xml file generated by the C# compiler.
The problem is it does not contain enough information
about types, as explained here:

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/how-to-use-the-xml-documentation-features

"The XML file does not provide full information about the type and members
(for example, it does not contain any type information).
To get full information about a type or member, the documentation file
must be used together with reflection on the actual type or member."

So that means I will end up writing the documentation generator in C#
and using reflection along with the XML file to generate Markdown.
2019-12-19 21:16:57 -05:00
Don Cross
0aeb875ec5 C#: Implemented SearchPeakMagnitude. 2019-12-01 11:41:48 -05:00
Don Cross
efd1629e9a C#: Implemented Illumination(). Not fully tested yet.
The unit test exercises Illumination() except for Saturn.
Will implement that next.
2019-12-01 10:27:40 -05:00
Don Cross
df12a2c8c8 C#: Added SearchLunarApsis, NextLunarApsis. 2019-11-27 22:13:52 -05:00
Don Cross
655b9bca46 C#: Implemented functions Elongation and SearchMaxElongation. 2019-11-06 18:50:06 -05:00
Don Cross
af106481f6 C#: Implemented SearchRelativeLongitude. 2019-11-05 22:12:21 -05:00
Don Cross
162f3c5683 C#: Added SearchHourAngle and SearchRiseSet. 2019-11-03 15:33:30 -05:00
Don Cross
d9f447a7a4 C#: Added moon phase/quarter search functions. 2019-10-30 22:14:54 -04:00
Don Cross
a449818c13 C#: work in progress : starting to implement search functions. 2019-10-29 20:41:56 -04:00
Don Cross
904037a126 C#: Implemented geocentric moon calculation. Passes unit tests. 2019-10-28 15:37:46 -04:00
Don Cross
5acf8230cd C#: Fixed bugs and validated Horizon().
Fixed bug in C# version nutation().
Need to write observer location to C# output file.
Now Horizon output verifies.
2019-10-28 13:47:46 -04:00
Don Cross
c92ac89986 C#: Added Horizon function. Fixed a couple of things in the C code. 2019-10-28 10:25:40 -04:00
Don Cross
9955fbd3f9 Implemented most of Equator(), GeoVector() functions.
Still need to implement moon calculations and associated code.
Reworked AstroVector as a struct instead of a class, to reduce
memory allocation overhead.
2019-10-27 21:02:00 -04:00
Don Cross
0bbbd06177 C#: Implemented Chebyshev calculations for Pluto. 2019-10-25 16:00:52 -04:00
Don Cross
b49973bec3 C# code generator adds whitespace for proper code indenting. 2019-10-25 15:09:45 -04:00
Don Cross
4173c88e63 C#: implemented VSOP code generator and CalcVsop function. Not yet tested. 2019-10-25 14:06:19 -04:00
Don Cross
c88c73437b C#: Adding more data structures and documentation. 2019-10-25 13:11:49 -04:00
Don Cross
eabbd4b628 Added stub documentation of all C# public symbols.
This is just to get build errors to go away.
Will have to come back and flesh out all of the documentation
once I start working on the C# documentation generator.
2019-10-24 22:36:18 -04:00