Seasonal Constellations

By using the scripted simulation of celestial sphere, we can create a 3D simulation that illustrates the concept on the seasonal constellations. It may be necessary to explain the Earth's orbital motion along the Ecliptic and the concept of seasons beforehand. Then, because of the position of Earth on Ecliptic, only the nightside objects are visible hence the origin of the seasonal objects/constellations. This simulation is being developed by Gioia Zincone

This simulation topic was picked up by Gioia Zincone. Various files (mostly storyboard files) created by her are:

Pending tasks

These are important pending tasks/notes for this simulation.

  • Gioia gets familiarized with the use of SkyTracker. Then…
  • Start developing the simulation (the Python controlling script) from the storyboard file.

Technical Aspects

Prerequisites

The following prerequisites must be available to create this simulation.

  • SkyTracker (aka Virtual Night Sky) platform will be used hence it should be available.
  • Storyboard file created for this simulation.

Newly created components

Following are newly created components (functions, materials, cameras, etc.) from this topic.

  • A Python script controlling the scenes (i.e., changing viewport, observation time [to simulate seasons])
  • Storyboard file guiding how the simulation can be used in a classroom (i.e., lecture plan animatic)

Astro Concepts

These are astronomical concepts related to the created simulation → I.e., these are concepts that can be taught with the simulation.

  • Origin of the seasons on the Earth
  • Ecliptic and Equatorial Plane
  • Visible night sky at a given time and given location of the observer

Key Scenes

The following image is a short sequence of animatic showing key scenes of the storyboard file for simulating the Seasonal Constellations.
with annotation

3D model/simulation development

  • Start with a simple Unity project with a real night sky image as the HDRI background. There is no Unity night sky model developed yet, but you can use the detailed tutorial for creating a night sky model in Blender (https://stemin3d.net/tech/tutorials/nightsky) which should provide good introduction on how to create a night model in Unity. The real night sky images can be downloaded from NASA (https://svs.gsfc.nasa.gov/4851/ [currently broken] or https://svs.gsfc.nasa.gov/3895/). You can create a simple night sky model for developing the “Seasonal Constellation” model by only displaying “Celestial Coordinate Grid” image. It is the grid of Right Ascension and Declination. A different developer is currently working on the development of the detailed virtual sky model. Your task is to create a function that can control the alignment of the night sky.
  • By definition, a special point on the Celestial Sphere called “Vernal Equinox” is the point with (RA, Dec) == (0h, 0 deg). At noon of Greenwich Observatory (longitude = 0) on the Spring Equinox (Mar 19, 2024; check this date on the internet for different years), the Vernal Equinox point should be transiting (i.e., reaches the highest altitude).
  • By using two relevant periods (Earth's orbital period around the Sun [365.2422 days] and Earth's rotation period [24 hrs]), you can calculate the alignment of the night sky (hence the celestial coordinate grid w.r.t. your local sky) for any observer on the Earth at an specified date.
  • To align the virtual night sky for a certain observer (place and date/time), you need to rotate the celestial sphere with two angles (i.e., this is the Eulerian Rotation in Physics [and also in Unity]).
  • You can choose a random place and time (using Stellarium) and see which point (RA and Dec) is at altitude 90 degrees (this point is called Zenith). Then, check you math/algorithm is your calculated rotation of the Unity virtual sky is correctly done.
  • One of the many actions of the developed function is to simulate a speed up version of the night sky change. For example, by fixing the camera to a specific point in the sky (i.e., elevation=60deg and toward the South Point), your script can simulate the motion of the night sky by increment the time step by exactly 24 hours. This should move the night sky roughly 1 degree per night.
  • Your script should be able to create/place cameras (e.g., observers) in addition to “rotate” the sky.
  • A conventional way to change RA and Dec to a Cartesian Coordinates (X, Y, Z) can be found at https://www.jameswatkins.me/posts/converting-equatorial-to-cartesian.html
    • Be careful about the orientation of the Unity axes. Contrary to the astronomy convention (Z = vertical), Unity's default is setting Y-axis as the vertical axis.

Go back to the list of topics.