PROJET DE JAVA
Problme de placement de disques dans un conteneur circulair
Marc DEBUREAUX, Pierre JOSSE
Licence 3 Informatique 2006
Marc DEBUREAUX, Pierre JOSSE
Projet de Java1
PROJET DE JAVA
Problme de placement de disques dans un conteneur circulair
Marc DEBUREAUX, Pierre JOSSE
Licence 3 Informatique 2006
Prsentation du projet
Le but de cette application est de permettre linsertion dobjets circulaires disques dans
un conteneur de la mme forme, le tout de manire ce que les disques prennent le mi
nimum de place possible et que le conteneur soit dun rayon optimal.
Dun point de vue extrieur la pdagogie, ce problme peut se rencontrer plusieurs
niveaux de la vie professionnelle : par exemple lors de loptimisation du rayon des gaines
de tuyauterie permettant le passage de canalisations et de cbles de divers rayons, ou en
core dans le domaine des transports tunnels. Dans toutes ces situations professionnel
les, le gain de place tant un facteur primordial agissant sur la qualit et le potentiel dun
produit.
Exemples dapplications professionnees : les canalisations.
An de rendre comprhensible les rsultats issus du calcul dans la rsolution de ce pro
blme, il a t ncessaire de dvelopper la forme visuelle de la solution an de sassurer de
ltat dquilibre optimal trouv par calcul.
Marc DEBUREAUX, Pierre JOSSE
Projet de Java2
Interface graphique
L interface graphique de lapplication permet davoir une visualisation globale des possi
bilits du programme, elle permet lutilisateur de contrler tout le processus de calcul
par saisie conviviale et par achage dynamique.
< Menu utilisateur :
Permet lutilisateur de commander
le processus de calcul en modiant
les donnes et en agissant sur lex
cution du processus de rsolutions
grce des boutons de contrle et
des zones de saisie.
< Zone de visualisation graphique
Ache le rsultat des calculs graphi
quement an de montrer lvolution
de processus de rsolution de ma
nire globale.
< Zone de visualisation console
Achage des donnes concernant
lensemble des objets du systme.
L achage en console graphique permet lutilisateur de suivre lvolution de chacun des
objets contenus dans le systme de rsolution, les donnes visibles sont :
La position en coordonnes cartsiennes de chaque disque.
Le rayon de chaque disque.
Le rayon du disque conteneur.
Les forces inuenant chaque disque.
Le vecteur de dplacement de chaque disque.
Informations de processus : rinitialisations, cycles, etc.
Marc DEBUREAUX, Pierre JOSSE
Projet de Java3
Du point de vue du code, lachage graphique tient en 3 panneaux imbriqus JPanel :
Le panneau suprieur est le panneau de commande de lapplication, elle contient divers
champs de saisie JTextField et des menus agissants comme des boutons de commande.
Le panneau central est dpourvu des composants graphiques, on utilise le panneau
comme surface dessinable dans le cadre de lachage graphique de la rsolution.
La panneau infrieur est constitu dune unique zone de texte dlante JTextArea an
daccueillir toutes les donnes issues du calcul.
Les composants cliquables de lapplication dans le panneau suprieur sont lis une
classe permettant de dtecter les vnements sur ces zones spciques. Par instance, le
panneau de commande gnre le systme de rsolution en fonction des donnes de lutili
sateur et le distribue lensemble de lapplication.
Panneau de contrle des donnes utilisateur
Le menu suprieur permet de contrler lexcution du processus de rsolution car les cal
culs sont raliss dans un thread bas sur une classe dictionnaire contenant lensemble
des donnes de lutilisateur. Les actions possible sur le menu sont :
Dmarrer / Arrter / Redmarrer : contrle lexcution du thread.
Rinitialiser : gnre un nouveau systme alatoire.
Editer : permet de modier les donnes utilisateur en cours dexcution.
Ouvrir chier : permet douvrir un chier normalis voir section suivante.
Un chier normalis est un chier permettant de renseigner lapplication sur le nombre
et le rayon des disques utiliser et avoir une conguration nonalatoire :
1re ligne : rayon du cercle conteneur.
2me ligne : nombre de disques du systme.
3me ligne et suivantes : rayons des dirents disques composant le systme.
Marc DEBUREAUX, Pierre JOSSE
Projet de Java4
Les champs de saisie permettent lutilisateur de contrler absolument tous les param
tres du systme de rsolution. Les dirents champs sont les suivants :
Nb Cercles : nombre de disques composant le systme.
Temps : temps dattente en millisecondes entre deux cycles de calcul.
Pas : facteur multiplicateur augmentant ou diminuant la prcision des dplacements.
Nb Cycles : nombre maximal de cycles raliss avant une rinitialisation des positions.
Nb Resets : nombre maximal de rinitialisations avant de dclarer ltat stable.
Auto : modie automatiquement le nombre de cycles et de rinitialisations en cours
dexcution : permet de laisser lapplication aner les rsultats la n du processus.
Surface de dessin : achage graphique du problme.
La surface de dessin de lapplication permet une visualisation globale et rapide de lvolu
tion des calculs. Elle est constitue dun repre cartsien origine au centre du dessin, ga
lement centre du disque conteneur et les disques sont placs suivant des coordonnes.
Note : Le cercle conteneur a visuellement toujours la mme taille quelque soit son rayon
mais les disques contenus sont mis lchelle en fonction de celuici.
Quand le centre dun disque est bleu, cela signie quaucune force ninuence sur lui, dans
le cas contraire il est vert et est accompagn dun vecteur en jaune indiquant la force.
Marc DEBUREAUX, Pierre JOSSE
Projet de Java5
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !