Angles, coordinates, nutation and obliquity #3

Closed
opened 2026-10-22 22:33:46 -05:00 by jeff · 0 comments
Owner

Part of #1

Parent

#1

What to build

astro.Angle, astro.coord and astro.earth. An angle can be made from degrees, radians, or degrees–minutes–seconds, and read in degrees or radians. Ecliptic coordinates convert to equatorial and back for a given obliquity (ch. 13). astro.earth gives the nutation in longitude and in obliquity from the full 63-term IAU 1980 table, and the mean and true obliquity, at an instant in either time scale (ch. 22).

Results are normalized: longitudes and right ascensions in [0°, 360°), latitudes and declinations in [−90°, +90°].

Acceptance criteria

  • Ch. 13's and ch. 22's worked examples pass to the printed precision
  • Ecliptic → equatorial → ecliptic round-trips
  • Properties: every finite result is in its documented range; NaN or ±∞ in gives NaN out
  • Every new public declaration has a doc comment giving units, time scale and reference frame, and citing the chapter and equation of Meeus it implements
  • Every source used is in the README's references cited
  • zig build test, zig build check, zig fmt --exclude zig-pkg --check . and reuse lint pass
Part of #1 ## Parent #1 ## What to build `astro.Angle`, `astro.coord` and `astro.earth`. An angle can be made from degrees, radians, or degrees–minutes–seconds, and read in degrees or radians. Ecliptic coordinates convert to equatorial and back for a given **obliquity** (ch. 13). `astro.earth` gives the **nutation** in longitude and in obliquity from the full 63-term IAU 1980 table, and the mean and true obliquity, at an **instant** in either time scale (ch. 22). Results are normalized: longitudes and right ascensions in [0°, 360°), latitudes and declinations in [−90°, +90°]. ## Acceptance criteria - [ ] Ch. 13's and ch. 22's worked examples pass to the printed precision - [ ] Ecliptic → equatorial → ecliptic round-trips - [ ] Properties: every finite result is in its documented range; NaN or ±∞ in gives NaN out - [ ] Every new public declaration has a doc comment giving units, time scale and reference frame, and citing the chapter and equation of Meeus it implements - [ ] Every source used is in the README's references cited - [ ] `zig build test`, `zig build check`, `zig fmt --exclude zig-pkg --check .` and `reuse lint` pass
jeff self-assigned this 2026-10-22 23:37:30 -05:00
jeff closed this issue 2026-10-23 00:24:55 -05:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
jeff/zig-astro#3
No description provided.