jeudi 30 mai 2013

Les rois de la Gliese

Introduction

Si vous regardez le ciel la nuit, les fois où le temps le permet, vous pouvez voir dans le ciel les étoiles proches de nous, voire d'autres plus loin et très lumineuses.

Récupération des données

Si vous avez un télescope, voire si vous êtes curieux, vous pouvez trouver des cartes du ciel pour observer planètes et étoiles. Cela peut même se faire depuis quelque recherche depuis Wikipedia. Le Catalogue Gliese recense les étoiles proches.
http://fr.wikipedia.org/wiki/Catalogue_Gliese
L'université de Strasbourg met en ligne quelques bases de données permettant de récupérer étoiles et objets extra-galactiques, dont le catalogue Gliese et ses extensions.
http://vizier.u-strasbg.fr/cgi-bin/VizieR-2?-source=V/32A
 
 aperçu de la restitution du requetage

 
 Choisir le format de restitution des données ( html ou fichier )
 
Extrait des données récupérées

Présentation des données

L'objectif à partir de ces données et de présenter ces étoiles selon certains critères visuels :

 Représentation des étoiles selon les types spectraux
N.B. les couleurs ne correspondent pas aux couleurs réelles des étoiles.
 
Représentation des étoiles selon les classes de luminosité
  • une représentation 3D des objets.

Pour l'illustration, l'image ci-après représente quelques constellations ( orion, triangle, cassiopée, cancer ) sur un planetarium épuré.

Quelques informations complémentaires

  • Si ces données ont été tirées des catalogues Vizier de l'université de Strasbourg, vu les quelques essais effectués, le catalogue Gliese est quand même celui qui fournit le diagramme HR le plus conforme à ce que l'on voit dans les manuels d'astronomie.
  • De nombreuses données sont récupérables, typiquement la distance, ceci permettrait de représenter l'univers proche dans un vrai système 3D et non au format mappemonde. C'est déjà traité, mais la taille et la couleur des étoiles n'ont pas encore été prises en compte.
  • des données incomplètes voire fortement atypiques ont été omises.

mardi 2 avril 2013

Comparatifs graphique de processeurs sur sockets Intel

Objectif

Représenter différemment les informations présentées sur ce site : http://www.cpubenchmark.net/socketType.html#id1 La page suivante plus précisément :

Moyens

La bibliothèque JFreeChart ( java donc ) permettant de représenter des graphes et autres outils de restitution graphiques. http://www.jfree.org/jfreechart/ et en démo ici : http://www.jfree.org/jfreechart/samples.html

Procédure

  • lecture de l'URL
  • traitement de la page, récupération des données ( si pas de prix en dollar, le prix est nul )
  • constitution de datasets en fonction des gammes des processeurs ( i.e. "Intel Core I3-" )
  • affichage de 3 images selon les types d'informations à prendre deux à deux parmi fréquence du processeur, prix et performance brute du processeur.

Résultats

Résultats prix /fréquence

Commentaires

  • les gammes de processeurs s'étagent assez bien selon les gammes de prix
  • quelques bizarreries tarifaires dans les gammes moyennes ( probablement dues au renouvellement partiel des gammes dans le temps )

Résultats performance / fréquence

Commentaires

  • corrélation assez forte entre fréquence et performance par gamme de produit
  • quelques processeurs avec fort potentiel ( vers fréquence à 2.5 gHz et performnce à 9000 )

Résultats prix / performance

Commentaires

  • corrélation assez forte entre tarif et performance pour toutes les gammes de produit
  • certains Xeon à très mauvais rapport qualité / prix
  • meilleure performances des nouvelles générations par gamme ( comparaison des séries 3xxx par rapport aux 2xxx )

Conclusions 

Informatiques

  • le site cpubenchmark.net présente des informations brutes ( en tableau ), mais mériterait avantageusement à les présenter sous forme de graphes
  • un bon graphe ( voire plusieurs ) complètent bien certains tableaux, et c'est toujours mieux qu'un long discours ...
  • les commentaires à faire sont bien ceux que l'on retrouve dans les magazines informatiques spécialisés, tout se retrouve.
  • pouvez-vous maintenant choisir un processeur sur ses performances brutes ? Préférez-vous les informations tabulaires ?

JFreeChat

  • facilité avec JFreeChart à partir d'un modèle de données pour générer des graphes à partir de données "tabulaires" issues du web ( une soirée pour analyser les données, coder, présenter et saisir ce billet )
  • généralisation du procédé aisé pour tous les processeurs du site, à condition d'identifier les gammes ( codé en dur ) et générations afin de déterminer les bons datasets
  • la taille des bulles ( il s'agit de bubblegraphes ) dépend de l'étendue de l'axe Y en fait ( taille ~ 2 pour 100 )
  • les données sont extraites en temps réel

Post conclusion ( si, cela existe, au mins dans ce blog )

En fait, l'affichage avec des "bubbleChart" n'est pas terrible, voici le rendu d'un "scatterPlot", et c'est autrement plus lisible ainsi présenté :

Et voici le bout de code qui crée ou complète la série en coordonnées doubles :
                XYDataItem item = new XYDataItem(x, y) ;
                XYSeries uneSerie ;
                try
                {
                    uneSerie = dataset.getSeries(serie) ;
                    dataset.removeSeries(uneSerie) ;
                }
                catch ( UnknownKeyException e )
                {
                    uneSerie = new XYSeries(serie) ;                                       
                }
                uneSerie.add(item) ;               
                dataset.addSeries(uneSerie) ;               



 

jeudi 31 janvier 2013

java 3D en mouvement

Après la découverte de Java 3D pour mieux afficher des puits de potentiel en maillage fil de fer
http://sylvainspeh.blogspot.fr/2012/10/application-numerique-concernant-les.html
ce qui peut amener à cette représentation pilotable à la souris dont les pentes sont gérées en dégradé de couleurs afin d'améliorer le rendu :

une nouvelle application de java 3D : un petit jeu de déplacement dans un labyrinthe, avec la carte des mouvements et l'orientation du "personnage".


Là, pas encore question d'égaler les prouesses d'un certain plombier ;) ou d'une célèbre aventurière , il s'agit de simplement se déplacer dans un univers bordé par des murs, déplacer la caméra représentant l'observateur ce genre de choses.
Il y a encore du travail à faire pour ressembler à Wolfenstein 3D ( le premier du genre, cf. ci dessous ),

 mais avec relativement peu de code, il y a moyen de faire des choses intéressantes afin d'utiliser quelques possibilités offertes par cette api.
La gestion des déplacements se fait au clavier. Je suis preneur d'informations concernant la gestion des joystick en java.

quelques liens :
http://rvirtual.free.fr/programmation/java3d/intro.html
http://www.eteks.com/coursjava/java3D.html

dimanche 28 octobre 2012

application numérique concernant les points de Lagrange

Connaissez-vous les points de Lagrange ?

Ces points au nombre de 5 sont des points spatiaux permettant à des objets célestes "ponctuels" d'être en orbite "stable" par rapport à 2 corps massifs de référence. Les plus connus étant les astéroïdes troyens croisant au niveau de l'orbite de Jupiter.

http://fr.wikipedia.org/wiki/Point_de_Lagrange et http://fr.wikipedia.org/wiki/Ast%C3%A9ro%C3%AFde_troyen

La méthode de calcul retenue http://ressources.univ-lemans.fr/AccesLibre/UM/Pedago/physique/02/divers/lagrange.html et http://ressources.univ-lemans.fr/AccesLibre/UM/Pedago/physique/02/divers/lagrange.pdf permet d'afficher dans une page web les positions desdits points pour des rapports de masse de 2 à 25.

Généralisons le problème, et faisons afficher sur une même image générée par un programme java :
  • en jaune, les 2 points de référence ( le Soleil et la Terre par exemple, dont le rapport de masse vaut 3.10^5 )
  • en magenta, les 5 points de Lagrange
  • en niveau de gris, les niveaux d'énergie potentielle en unités arbitraires ( plus c'est foncé, plus c'est négatif, et moins c'est stable )
  • la plus forte masse se situe au centre de l'image, la moins forte à droite.

Ce qui donne, pour des rapport de masses de 3*10^5, 100,  25 et 1 les représentations suivantes :

Pour 3*10^5

Un point de Lagrange est confondu avec la Terre sur l'image

 


Pour 100



Pour 50


Pour 25


Pour 1

la représentation est bien symétrique

 


améliorations possibles

Il ne reste plus qu'à trouver un moyen de représenter ces informations en 3D afin de bien voir que les 3 points alignés avec les 2 astres sont bien des points instables, contrairement aux 2 points situés de part et d'autre de l'axe des X.

Une petite application en java3D a été conçu a cet effet, qui reproduit le modèle en 3D. Voici une copie d'écran représentant les puits de potentiel en 3 dimensions pour un rapport de masse de 25 représenté ci-avant en 2D. Les zones stables n'ont pas encore été représentées..



Exemples d'autres représentations possibles :
http://sciences-physiques.ac-dijon.fr/astronomie/lexique/lexique_astro/l/images/puits_potentiel.gif
et pour le système Terre-Lune :
http://i.space.com/images/i/15157/i02/earth-moon-lagrange-points.jpg?1328752769

samedi 8 septembre 2012

Rétro-conception de Design Patterns java

Objectif

être capable de retrouver des Design Patterns éprouvés dans des classes Java.

Intérêt

Même si de nos jours les outils de rétro-conception savent très bien passer de classes java à des diagrammes UML, un pas supplémentaire peut être fait en retrouvant les Design Patterns noyés anonymement dans des schémas. Un niveau d'abstraction supplémentaire serait donc le bienvenu.

Bonnet blanc et blanc bonnet

Il existe en fait de nombreuses façons de concevoir ces Design Patterns, avec des variantes mineures, qui font tout le charme des algorithmes visant à retrouver les 3 types de DP ( construction, structuration, comportement ). Un groupe connu sous le nom de "bande des quatre" ( Gang of four en Anglais ) est cité sur le site de SUN comme étant le premier à s'être penché sur le problème.
Cependant, l'expérience a prouvé que les concepteurs de SUN n'avaient pas toujours suivi ces bonnes pratiques standard.

Cas du Pattern "Singleton"

Il nécessite :
  • un constructeur privé
  • une méthode d'instance
  • un attribut d'instance
Exemple du pattern Singleton :

Cas déjà traités

  • Singleton
  • Proxy ( avec variantes )
  • Observateur

Pour approfondir le sujet

vendredi 7 septembre 2012

Que le PST soit avec vous


Introduction

Qui n’a jamais eu envie ou besoin de retrouver de vieux mails dans une vieille sauvegarde d’un fichier PST ?
Pas vraiment de pages en français sur le sujet, voici un petit développement fait rapidement afin de pouvoir faire quelques traitements … et le faire partager.

Possibilités

  • Lire des fichiers PST ( anciens ou récents, en sauvegarde ou pas ).
  • Retrouver les noms complets ( les « noms de contact » ) des correspondants
  • Retrouver des mails avec quelques critères « from », « to », « keyword(s) », etc.
  • Comparer 2 PST afin de trouver les mails disparus
  • Rechercher des mails écrits très tôt, voire très tardivement
  • recopier les mails dans une base de données
  • Pas mal de possibilités basées sur une petite API plutôt bien faite.

Exemple d’utilisation : recherche de mail améliorée

  • Afin de pallier certains limitations de client de messagerie bien connu, proposer une solution java gratuite et personnalisable.
  • A partir d’une fenêtre de saisie, rechercher et afficher un résumé puis les mails correspondants aux critères de recherches.
  • Critères : « from », « to », « mot(s) clef(s) », « pas from », « pas to », voire d’autres.
  • Résultat : afficher une page web comportant un résumé des mails recherchés, puis les mails eux-mêmes.

Résultat par l’exemple

( désolé, mais c’est censuré )
Voici pour la boîte de recherche.
Voilà pour le résultat. En haut figure un résumé, tous les mots clefs trouvés figurent ici mis en valeur avec une balise html ( strong en l'occurence ).

Pour aller plus loin :

vendredi 25 novembre 2011

minus et cortex ... cérébral

Décidément "Cerveau & Psycho" me plaît beaucoup.
Le volume 48 de novembre-décembre 2011 parle de comment rendre dominé dominant et inversement.
Comment faire ?
Plutôt simple : stimuler les décharges des neurones pyramidaux du cortex pré frontal pour rendre une souris dominante en 12 heures.
L'effet est réversible par l'injection d'un virus pour activer ou bien d'une molécule spécifique pour inhiber.
Par contre, l'article n'indique pas si le résultat est permanent ou pas.
Dans l'introduction de l'article on peut lire que les dominants sont des leaders qui prennent et imposent leurs décisions et ... se réservent leurs partenaires sexuels.
Toute connotation avec les frasques médiatiques de certaines personnes, françaises ou italiennes, pourrait s'expliquer. Mais l'article ne parle pas de castration chimique nouvelle génération.

Mais ... Des souris ou des hommes, qui s'en sort le mieux ?