Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Saturn's rings from measured radial profiles (optical depth and I/F)

Aperta
#217 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
42/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript, three.js

Direzione di ricerca

Start with js/scene/rings/ringPhotometry.js and the Lighting section of js/scene/rings/rings.md to understand how the current colour and opacity maps feed the slab model. Find Cassini UVIS or RSS optical-depth profiles and Cassini ISS or HST low-phase I/F measurements, then create 1-D textures that preserve the named ring gaps and document sources and licence in rings.md. Done means the rendered low-phase radial I/F is within about 20% of a published profile while integrated light still matches Mallama & Hilton.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

What

Replace Saturn's ring colour and opacity maps (public/textures/saturnringcolor.png, saturnringalpha.png) with radial profiles from measurements. The profiles needed are the normal optical depth τ(r) and the reflectivity I/F(r) or particle albedo ϖ(r).

Why

The rings are now lit in exposure units by the classical single-scattering slab model (js/scene/rings/ringPhotometry.js; rings.md, Lighting). That model reads the colour map as the particles' albedo and the opacity map as 1 − e^(−τ). The maps are pictures, though, not measurements, and their radial structure isn't registered to the rings':

  • The map's brightest band is fairly opaque (stored value 0.8-1.0, opacity 0.6-0.9) and falls at 72-92 Mm. That is the C ring, which is the darkest and most transparent of the main rings (τ ≈ 0.1, I/F ≈ 0.1).
  • The Cassini Division reads 0.7 opaque.
  • The A ring reads about 0.3 opaque, where its τ is 0.4-1.

The integrated light is calibrated: RING_ALBEDO_SCALE matches Mallama & Hilton's ring term at B = 26.6°, and agrees to 0.04 mag at B = 7.4°. The radial distribution of that light is not.

Scope

  • τ(r) from Cassini UVIS or RSS occultations (PDS Rings Node).
  • I/F(r) at low phase from Cassini ISS or HST, giving ϖ(r) through the slab model.
  • A 1-D texture of each at a resolution that keeps the Encke and Keeler gaps and the Cassini Division.
  • Document the sources and licence in rings.md, and refit RING_ALBEDO_SCALE.
  • Optional: the ring's shadow on the globe as e^(−τ/μ₀) (injectPlanetShadow). Today it is 1 − 0.9·opacity.

Done when

The rendered radial I/F profile at low phase matches a published one within about 20%, and the integrated light still matches Mallama & Hilton.

Follow-up from the PR that made the rings physical (sky gains PR, atmospheres' double-counted falloff).

Lingua principale
JavaScript
Stelle
55
Fork
4
Merge medio
10h 12m
PR unite (30g)
134

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di celestiary/web

Tutte le issue di celestiary/web

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.