Già la parola HEALPix suona come una richiesta di aiuto e infatti ho chiesto chiarimenti su un forum più specializzato.
Tuttavia è una cosa interessante da condividere qui e magari qualche appassionato di astronomia può darmi qualche dritta.
Dunque: HEALPix (Hierarchical Equal Area isoLatitude pixelization) può riferirsi sia un algoritmo, che a un pacchetto software associato, che ad una classe associata di proiezioni cartografiche. HEALPix è nato originariamente per poter elaborare i grandi CMB data set come quello di Planck e di WMAP ed ora è ampiamente utilizzato per le sue notevoli caratteristiche.
Sucessive iterazione della divisione. Credit: NASA.
Il software è scaricabile qui (60MB) e sono disponibili la documentazione le sorgenti in vari linguaggi. Veniamo alla richiesta d’aiuto:
Vorrei disegnare una sfera (anzi solo un poliedro!) con la pixelizzazione HEALPix. La versione in IDL della libreria mi permette di conoscere i vertici dei vari pixel (cioè i nodi della griglia) mentre la versione in C mi permette di conoscere solo il centro dei pixel (i punti neri nell’immagine). Ovviamente sto scrivendo il mio programma in C.
Purtroppo il codice IDL è molto incasinato e non mi è facile importare nella libreria C la funzionalità che mi serve.
Si trova della buona documentazione sulla geometria di HEALPix, ma non mi sembra il caso di scrivermi l’algoritmo da zero.
Beh, se qualcuno ha qualche idea…
EDIT: ho postato la solenne richiesta su www.stackoverflow.com nel caso qualcuno volesse qualche dettaglio in più - o guadagnarsi un po’ di reputazione ; )