Vous êtes sur la page 1sur 9

Rapport de Projet

Informatique :

Améliorations à UniverseViewer

Etudiant : Thomas PUGNAT


Encadrant : Roland TRIAY

Janvier/Février 2012

0 | Page
Sommaire :
I) Introduction :
II) UniverseViewer :
1) Distance comobile et Redshift.
2) Un aperçu de l'interface graphique d'UniverseViewer.
3) Un lancement difficile.

III) Le catalogue de Quasars :


1) Le format des Catalogues de Quasars.
2) Ascension Droite et Déclinaison.
3) Un programme pour récupérer les données.

IV) Conclusion :
V) Référence :
Annexes

1 | Page
I) Introduction :
Ce Projet Informatique porte sur une Logiciel déjà existant initialement créer par M.
Roland TRIAY en 1979. Il visait une « visualisation et des traitements géodésiques d'objets
astronomiques ». En 2009/2010, deux étudiants en master 1 d'Informatique, Yasmine AZZI
et Christophe MAULAZ-PAGLAIRI, sous l'encadrement de Roland TRIAY l'ont adapté sous
la forme java que nous utilisons aujourd’hui.
Le sujet que m'a proposé Roland TRIAY se portait sur les points suivants :
Tout d'abord, il me fallait voir si je me retrouvais confronté à des erreurs dut
aux mises à jour du langage. Au quel cas, je devais identifier son origine et
trouver une solution pour des utilisations ultérieurs.1
Puis, il est apparu que le programme nécessitait deux liens vers des
bibliothèques jogl afin de pouvoir fonctionner. Je devais mettre en place une
méthode pour que les chemins soient trouvés automatiquement.
Lors d'une discutions avec mon encadrant, je lui avais demandé s'il avait
d'autres catalogues de Quasar afin de tester le programme sur des données
réelles. Il m'est alors apparut que les options proposées au sein du système
n'étaient pas assez flexible pour ce type de fichier. J'ai devais donc trouver
comment modifier le programme pour des catalogues différents.

II) UniverseViewer :
Dans cette partie, je vais expliquer de manière simple et brève le fonctionnement
UniverseViewer. Pour cela, je rappellerai ce qu'est la distance comobile et le redshift en
rappelant les équations qui ont été utilisées ici. Ensuite, je détaillerai succinctement
l'interface d'UniverseViewer en mettant en lien les class qui les génèrent ainsi que leurs
fonctions. Enfin, je parlerai des deux principaux problèmes auxquels je me suis confronté
pour le lancement initial du programme ainsi que les solutions utilisées.

1) Distance comobile et Redshift.


Lorsque l'on compare la longueur d'onde observé à celle émise initialement par un
objet astronomique (historiquement les Quasar), on remarque un décalage vers le rouge
donné par l'équation :

(1)

Ce décalage dut à l’expansion de l'univers et est souvent assimilé à l'effet Doppler-Einstein.


Cette expansion de l'univers est accélérée et donnée entre autre par l'équation de
Friedmann :
(2)

1 En 2011, un autre étudiant Philippe CAPONIS issue du master de Physique Théorique tenta de modifier le
programme afin de le compléter. Or il fut rapidement bloqué par une erreur qui l’empêchait de lancer le programme.

2 | Page
Avec a le paramètre d’expansion, et Ho la constante de Hubble. Oméga correspond à la
composante dut à la matière (Baryonique et Noire) de l'univers, Lambda correspond à la
composante Énergie Noire, Alpha à celle du rayonnement et Kappa à la courbure de
l'univers.
La distance comobile correspond à la distance entre deux objets astrophysiques
auquel l'effet de l’expansion de l'univers a été « soustrait ». La formule pour l'obtenir est
reliée à l'équation de l’expansion de l'univers vue ci-dessus :

(3)

2) Un aperçu de l'interface graphique d'UniverseViewer.


Comme l'a été écrit plutôt, UniverseViewer permet de visualiser la position
d’événement cosmologie (Galaxie, Quasar, …). Pour cela, il utilise des catalogues
recensant ces événements. C'est dans la page principale qu'ils sont affichés en fonctions
de leurs distances comobiles. En haut à droit, il est possible de changer les valeurs des
composantes (cf. (1)). On remarquera que l'une d'entre elles est fixe afin d'avoir la somme
des composantes moins kappa égal à 1.

3 | Page
Dans File, l'option Ouvrir avait été préparée pour les catalogue et récupérer les
données. Comme vous le verrez dans la partie III-1), l'Ascension Droite est en Heures
Minutes, Second et la Déclinaison en Degrés, Minutes, Secondes. Or l'ancienne version ne
permettait pas cette option. Seul les choix Degré et Radian était proposé. Il a fallut modifier
cette interface et rajouter la possibilité de récupérer la Magnitude.

(Ancienne version à gauche, nouvelle version à droite)

3) Un lancement difficile.
Depuis que le groupe Sun ne s'occupe plus pleinement des mises à jour de Java, et
que celles-ci peuvent être faites par « tout le monde », beaucoup d'erreur peuvent
apparaître. Et pour un logiciel comme UniverseViewer, qui n'a pas été remis à jours depuis
plus de deux ans, ce cas est d'autant plus probable.
 L'OS utilisé pour ce projet est Ubuntu (Linux). Il a été installé en Dual Boot. En
lançant « UniverseViewer.jar », sur le terminale ou sur Eclipse, l'erreur suivante apparait :

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException:


java.nio.DirectByteBuffer cannot be cast to
com.sun.opengl.impl.x11.JAWT_X11DrawingSurfaceInfo

Après de multiple tentative, nous nous sommes rendus compte avec un collègue M2 que
sur Ubuntu, la Libraire OpenGl n'était pas prés installée contrairement au autre OS. La
ligne de commande suivante résolut le problème : apt-get install freeglut3-dev.
 La seconde erreur venait des deux libraires JOGL qu'il faut définir au lancement

4 | Page
d’UniverseViewer. La méthode présentée par les informaticiens sur éclipse est la suivante :
Une fois le projet ouvert sous Eclipse, il faut cliquer droit sur le nom puis :
Propreties >> Java Build Path >> Add External JARs...

Et après, sélectionner les deux fichiers « jogl.jar » et « gluegen-rt.jar » situés dans


lib/dependencies/jar/.
Cette méthode fonctionne mais pour simplifier les choses et faire une déclaration
automatique, il existe une option des fichiers .jar qui n'avait pas été utilisée. Dans ces
fichiers, il existe un dossier « META-INF » contenant « MANIFEST.MF ». C'est dans fichier
que sont écrits les chemins vers les librairies pour lancer le programme. Or après la
compilation sous Eclipse, il ne contient aucune class path. Il faut donc le rajouter à la fin à
la main comme dans l'exemple suivant :
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 14.0-b16 (Sun Microsystems Inc.)
Main-Class: UniverseViewer
Class-Path: ./lib/dependencies/jar/gluegen-rt.jar ./lib/dependencies/jar/jogl.jar
X-COMMENT: Main-Class will be added automatically by build

III) Le catalogue de Quasars :


Ici, je vais décrire le format des Catalogues de Quasars que l'on peut trouver sur
internet. Puis j'expliquerai ce que signifient l’Ascension Droite et la Déclinaison. Enfin je
présenterais le programme qui permet de récupérer les données d'un fichier afin de les
incorporer dans le programme pour les traiter.

1) Le format des Catalogues de Quasars.


Les Catalogue sont une recueille de tout ce qu'un télescope ou satellite a put
observer. Généralement, un type de filtre est précisé, c'est à dire que la détection ne se fait
que sur une certaine bande de longueur d'onde. Tous les objets sont classés selon un
format qui est souvent propre au laboratoire. Il faut donc que le système soit très flexible
car les positions des valeurs dans le catalogue ou simplement la tabulation peuvent
changer d'un format à l'autre.
Le catalogue est sous forme de ligne. Sur chacune d'entre elles, les différents
éléments ci- dessus sont placés les uns derrière les autres séparés par des espaces.
Exemple :
J000539.4-321241 0 5 39.48 -32 12 40.6 1 f409_001 S_ 0 3
6.53 -32 29 23.9 409 -4306.23 15947.09 0.01356484 -0.56705699 16.093 -
0.304 0.463 1 0.0000 11 star 20010922 0066 1 34.56 0.0000 0 - -
0 0 0.00 0.000 0.0 0.0000 0.01585 - -
Présenté comme cela, le document est presque illisible mais grâce au document présenté
juste au dessus, on peut repérer : le nom du Quasar, l’Ascension Droite (en hh, mm,
ss.ss), la Déclinaison (en +/-dd, mm, ss.s), le redshift (pour la première observation), la
magnitude, … Il ne nous reste plus qu'à faire une programme afin d'extraire et de traiter ces

5 | Page
valeurs.

2) Ascension Droite et Déclinaison.


Par rapport à un point fixe dans le
temps et l'espace, l'Ascension Droite d'un
Quasar correspond au moment où on le
détecte alors que notre repère tourne autour
d'un axe. A 24h, le repère à fait un tour et on
retourne au « même » emplacement que le
point fixe. La déclinaison correspond à
l'angle perpendiculaire l'axe de l'Ascension
Droite.
Par exemple : Un Télescope sur la
terre commence à mesurer à 8h. L’Ascension
Droite correspondra à l'heure où on mesure
l'objet moins 8h. La Déclinaison correspond
elle à l'angle par rapport l'axe vertical au sol
et l'angle projeté dans le plan formé par cette
verticale et l'axe de rotation de la terre.

3) Un programme pour récupérer les données.


Le programme pour récupérer les données d'un catalogue en lui même en lui même
est très simple. Après avoir ouvert le fichier en question, on récupère chaque ligne sous
forme de String. Sur chacune d'entre elles, on recherche les séparateurs (généralement «
« ), et on « coupe » les Strings à ces endroits.
On obtient alors un tableau String de la forme [lignes] [éléments]. Connaissant les
positions de chacun des paramètres, on le cherche pour chaque ligne et on les place sous
la forme d'un tableau. On applique alors une rapide conversion String/Double et une
fonction qui convertie les Heures/Minutes/Secondes en Radiant on peut replacer ces
données dans le programme Principale MainWindow.
Actuellement, MainWindow fait appelle à une fonction en lui donnant le lien du fichier
à ouvrir. Afin de ne pas trop changer le code source d’UniverseViewer et par manque de
connaissance sur ce programme et Java, j'ai préféré faire en sorte que les données sortant
de mon programme Catalogue soit enregistré dans un fichier texte afin de l’appeler par la
voie normale. L'avantage étant que je peux ajouter tous le paramètre souhaités seul
l'Ascension Droite, la Déclinaison et le Redshift sont récupérés actuellement par
UniverseViewer. Mais il y a toujours la possibilité de les récupérer pour calculer la
magnitude apparente par exemple.

6 | Page
IV) Conclusion :
Ce Projet m'a été proposé par R. TRIAY alors que je cherchais un sujet qui se
rapprochait de mon Stage de fin de M2. En effet, comme pour ce Projet, je devrais utiliser
des Catalogues et un programme déjà existant pour faire des analyses.
N'ayant pas vraiment de formation java et ne connaissant pas les fichiers .jar, ce fut
pour moi la découvert d'un nouveau langage informatique. Il me fallut vite m'adapter car le
programme UV est entièrement écrit dans ce langage. C'est principalement grâce au
soutien de H. GARRETA.
A travers ce Projet, j'ai aussi pu me familiariser avec le monde de la cosmologie. J'ai
beaucoup appris auprès de R. TRIAY dans ce domaine. Et en travaillant sur l'acquisition
des données d'un catalogue, j'ai pu comprendre leurs formats et la façon dont ils ont été
construits.
En conclusion, ce projet fut d'une grande aide car il m'a dans une certaine mesure
préparé au Stage.

V) Référence :
[1] http://www.2dfquasar.org/Spec_Cat/catalogue.html (Février 2010).
[2] http://henri.garreta.perso.luminy.univmed.fr/index.html (Février 2010).
[3] « Framework for cosmography at high redshift », R. TRIAY, L. SPINELLI et R. LAFAYE,
Mon. Not. R. Astron. Soc 279, 564-570 (1996).
[4] « Universe Viewer », Yasmine AZZI et Christophe MAULAZ-PAGLAIRI, Rapport de
Projet, 2009/2010.
[5] Wikipedia.

7 | Page
Annexes
Field descriptor Format Description
IAU format object name, e.g.: J010946.1-274524 The 2QZ label is
Name a16 omitted. i.e. full name is: 2QZ J010946.1-274524
RA(J2000) i2 i2 f5.2 Right ascension J2000 (hh mm ss.ss)
Dec(J2000) a1i2 i2 f4.1 Declination J2000 (+/-dd mm ss.s)
Catalogue number i5 Internal catalogue object number
Internal catalogue object name (all references should be to the IAU
Catalogue name a10 format name).
Sector a25 Name of the sector this object inhabits
RA(B1950) i2 i2 f5.2 Right ascension B1950 (hh mm ss.ss)
Dec(B1950) a1i2 i2 f4.1 Declination B1950 (+/-dd mm ss.s)
UKST field i3 UKST survey field number
XAPM f9.2 APM scan X position (~8 micron pixels)
YAPM f9.2 APM scan Y position (~8 micron pixels)
RArad f11.8 Right ascension B1950 (radians)
Decrad f11.8 Declination B1950 (radians)
bj f6.3 bj magnitude
u-bj f7.3 u-bj colour
bj-r f7.3 bj-r colour [including r upper limits as (bj-rlim-10)]
Nobs i1 Number of observations made with 2dF
Observation #1
z1 f6.4 Redshift
q1 i2 Identification quality x 10 + redshift quality
ID1 a10 Identification
date1 a8 Observation date
fld1 i4 2dF field number x 10 + spectrograph number
fibre1 i3 2dF fibre number (in spectrograph)
S/N1 f6.2 Signal-to-noise ratio in the 4000-5000A band
Observation #2
z2 f6.4 Redshift
q2 i2 Identification quality x 10 + redshift quality
ID2 a10 Identification
date2 a8 Observation date
fld2 i4 2dF field number x 10 + spectrograph number
fibre2 i3 2dF fibre number (in spectrograph)
S/N2 f6.2 Signal-to-noise ratio in the 4000-5000A band
Additional data
zprev f5.3 Previously known redshift (Veron-Cetty & Veron 2000)
radio f6.1 NVSS radio flux (mJy)
X-ray f7.4 RASS x-ray flux, 0.2-2.4keV (x10-13 erg s-1 cm-2)
dust f7.5 EB-V (Schlegel, Finkbeiner & Davis 1998)
comments1 a20 Specific comments on observation 1
comments2 a20 Specific comments on observation 2

8 | Page

Vous aimerez peut-être aussi