Declination and Right Ascension: Star Position and Annual Path on the Celestial

Declination and Right Ascension: Star Position and Annual Path on the Celestial
Loading the math board and drawing, please wait…
2016-05-30 00:19
① This animation demonstrates how a star's location on the celestial sphere is determined by its declination and right ascension, and also shows the annual apparent path of the Sun. ② Core mathematical concepts include spherical coordinate systems, vectors and planes in 3D space, parametric equations of ellipses, rotation and translation transformations, and angle measurement. ③ Construction highlights: using GeoGebra commands such as Line, Vector, Ellipse, Translate, Sphere, Segment, Circle, Rotate, Angle, Surface, and Intersect to build the celestial sphere, equatorial plane, ecliptic plane, star marker, and solar orbit; sliders control declination, right ascension, and date for dynamic interaction; key objects include raval, ra, dec2, rc, erad, deccon, obliq, argperi, ecc, fecc, au, bsemi, asemi, day, daydeg, rr, Ecenter3, focus, bang, z1, vtrans, orbitbot, sunorbit, text1, text2, Ebot, eaxisbot, srad, Nbot, vobliq, equatorbot, Scenter3, Sunbot, solsticesbot, c, obliqdisplay, argpdisplay, Stardec, and darksidebot. ④ Suitable for high school astronomy electives, introductory university astronomy, or solid geometry courses, helping students connect celestial coordinates with 3D geometric visualization.

GeoGebra Commands & Parameters

  1. Line((6, 6, 0), zAxis) → deccon
  2. Vector((0, 0, 0), (0, 0, z1)) → vtrans
  3. Ellipse(((-2 * focus), 0, z1), (0, 0, z1), asemi, xOyPlane) → orbitbot
  4. Translate(Rotate[Rotate[orbitbot, argperi - 90°, zAxis], (-obliq), yAxis], vtrans) → sunorbit
  5. Sphere((0, 0, z1), erad) → Ebot
  6. Segment((0, 0, z1 - (1.2 * erad)), (0, 0, z1 + (1.2 * erad))) → eaxisbot
  7. Vector((0, 0, 0), (cos(obliq + π / 2), 0, sin(obliq + π / 2))) → vobliq
  8. Circle((0, 0, 0), erad, zAxis) → equatorbot
  9. Rotate(Ecenter3 - (0, 0, z0), (-obliq), yAxis) → Scenter3
  10. Sphere(Scenter3, srad) → Sunbot
  11. Line((-1, 0, z1), (1, 0, z1)) → solsticesbot
  12. Angle((x(Ecenter3) - (10 * sin(obliq)), y(Ecenter3), z0 + (10 * cos(obliq))), Ecenter3, (x(Ecenter3), y(Ecenter3), z0 + 10)) → obliqdisplay
  13. Angle((0, -10, z0), (0, 0, z0), ((10 * sin(argperi)), (-10 * cos(argperi)), z0), zAxis) → argpdisplay
  14. Surface((((((-1.02 * erad) * cos(j)) * cos(daydeg)) - ((((1.02 * erad) * sin(i)) * sin(j)) * sin(daydeg))) * cos((-obliq))) + ((z1 + (((1.02 * erad) * cos(i)) * sin(j))) * sin((-obliq))), (((-1.02 * erad) * cos(j)) * sin(daydeg)) + ((((1.02 * erad) * sin(i)) * sin(j)) * cos(daydeg)), ((-((((-1.02 * erad) * cos(j)) * cos(daydeg)) - ((((1.02 * erad) * sin(i)) * sin(j)) * sin(daydeg)))) * sin((-obliq))) + ((z1 + (((1.02 * erad) * cos(i)) * sin(j))) * cos((-obliq))), i, 0, (2 * π), j, 0, π / 2) → darksidebot
  15. Segment((0, -20, z1), (0, 0, 0)) → lineofnodesbot
  16. Segment(Stardec, (x(Stardec), y(Stardec), 0)) → decvline
  17. Segment((0, 0, 0), (x(Stardec), y(Stardec), 0)) → dechline
  18. Segment((0, 0, 0), Stardec) → decline
  19. Angle((0, -10, 0), (0, 0, 0), ((10 * cos(ra - 90°)), (10 * sin(ra - 90°)), 0), zAxis) → radisp
  20. Angle(dechline, decline) → decdisp
  21. Sphere((0, 0, 0), 5) → celsphere
  22. Intersect(decline, celsphere) → celstar_1, celstar_2
  23. Circle(celstar_2, 0.2, decline) → celcircle