le 06-05-2013 08:30 AM
Bonjour,
Je suis actuellement en stage, et je dois développer une application ludique pour mesurer la force de contraction musculaire.
On me demande de choisir entre programmer en Labview ou en Java.
J'aimerais donc connaitre les avantages et les inconvénients de ces derniers et savoir lequel des deux seraient plus adaptés pour insérer une interface graphique ludique (voiture ou hélicoptère par exemple allant plus à droite ou plus à gauche en fonction de quelle main force le plus.)
Merci beaucoup d'avance.
Résolu ! Accéder à la solution.
le 06-05-2013 09:20 AM
Bonjour,
Comme tu es sur le forum LabVIEW je pense que tout le monde va répondre LabVIEW
Sinon je choisirais LabVIEW pour sa facilité d'intégration avec la partie matérielle l'application serait très facile à faire. Mais je ne peux pas dire pour JAVA.
Cordialement,
le 06-05-2013 09:30 AM
Ahah; )
Mais est ce réellement facile d'introduire sur labview une interface graphique type jeu, donc en animation? Par exemple une voiture qui se déplace à droite ou à gauche?
Si oui comment?
Merci beaucoup pour cette réponse si rapide.
le 06-05-2013 10:43 AM
On peut mettre une image dans un picture ring par exemple et en jouant avec ses propriétés le déplacer sur l'interface ou pas mal d'autres solutions
Pour faire ce que tu souhaites c'est relativement facile en LabVIEW et je ne pense pas que l'interface soit compliqué il suffit juste de choisir de jolies images!
06-05-2013 11:12 AM - modifié 06-05-2013 11:17 AM
Bonjour ggerm,
Je connais assez peu java mais ce que j'en sais est que c'est très semblable au C#, donc je vais me baser sur mes competences rudimentaires dans ce langage pour tenter d'apporter une réponse un peu plus nuancée.
LabVIEW est un langage très orienté pour des applications industrielles. Les VI s'appelles VI pour Virtual instruments. On est ici vraiment dans le monde de l'instrumentation virtuelle et les interfaces utilisateurs sont très faciles à développer... tant qu'il s'agit d'intégrer des éléments "simples" avec un type de donnée clairement défini. L'interface n'est clairement pas pensée ni optimisée pour des applications type jeu. S'il s'agit de faire bouger une image fixe sur un axe donné avec un fond tout aussi fixe, pas de probleme. Il suffit de mettre une image en fond et un element de type slider avec une icone de voiture dessus. Avec ceci, il suffit de recuperer la valeur du capteur, de la mettre à l'échelle et de l'afficher. Ci joint, une capture d'un programme réalisé à l'instant avec comme "valeurs de capteur", un sinus simulé et deux images récuprérées sur Google (temps de dévelopement inférieur a 10 minutes).
http://screencast.com/t/t13y6DJI
Pour ce genre d'application, pas de soucis, LabVIEW est le plus adapté.
Si le but que vouhaitez atteindre est plus proche d'un jeu, LabVIEW va vite montré ses limites. Il n'y a pas de moteur intégré pour gérer les sprites animés, les couches de sprites...etc On peut toujours faire come roderic, se délarer une sort de Gif (appelé picture ring) et faire bouger en modifiant sa position, mais si vous devez gérer des collisions, des bonus, des animation, du public... etc alors Java pourrait être plus adapté de par sa structure orienté objet et sa gestion qui me semble plus flexible des interfaces utilisateurs (et aussi beaucoup plus lourde).
Je ne connais pas assez Java, mais si l'analogie avec le C# (ou plutôt la plateforme de developement Visual Studio) se poursuit, il y a pas mal de middleware qui sont déjá publié pour la gestion de pas mal de choses... Notemment d'interfaces type "de jeu" (sprites pour la 2D, meshes pour la 3D, textures, association texture-objet-hierarchie de classe-position-fonctionement...etc).
Même en étant plus adapté, vous risquez d'y passer du temps selon votre ambition. Quand à se prononcer sur la partie mesure et traitement de signal, elle dépend du hardware utilisá. D'une manière générale, avec du hardware NI ou des cartes qui communiques par un bus de donnée série, ce sera plus facile sous LabVIEW (d'autant que des fonctions de traitement de signal y sont déja intégrées).
J'espére que ce dévelopement vous aide un peu. Pour els curieux, le VI de la démo est attaché.
Cordialement
EDIT: Le lag sur la vidéo est du au logiciel de capture d'image. L'application en elle même est parfaitement fluide.
le 06-06-2013 02:28 AM
Merci beaucoup!
J'y vois maintenant un peu plus clair. Je vais en discuter avec mes responsables.
Mais 'est ce que l'exportabilité ne jouerait pas en fonction de Java?
le 06-06-2013 02:40 AM
L'exportabilite? Qu'est-ce que tu entends par la?
Si tu parles de "contraintes" liees a la plateforme (comme en C, prendre en compte le padding des structures en fonction du systeme d'exploitation et autres joyeusete qui font qu'il faut réecrire une partie du code en fonction de la cible), alors non. Java ne s'en sort de mon point de vue pas mieux. LabVIEW et Java ont tous els deux une sorte de "Run-Time Engine" qui contient les bibliotheques standard compilées pour le déploiement sur différentes plateformes sans que le programmeur ait à changer son code.
Avec le compiler adapté, il est possible de compiler son code pour Windows, Linux (Red Hat et dérivés. Il semblerait que des utilisateurs utilisent aussi des distributions Debian mais nous ne supportons pas ces solutions de manière officielle) et MacOS X.
Windows à cependant plus de bibliothèques á disposition.
Conclusion:
* LabVIEW me semble plus adapté pour un projet dont le centre est la mesure et le traitement de signal, le tout soutenu par une interface graphique simple.
* Java me semble plus adapté pour un project dont le centre est la réalisation d'un jeu (ou d'un moteur de jeu) dont l'acquisition et le traitement de signal ne serait qu'une composante d'importance moindre.
Cordialement
le 06-06-2013 03:00 AM
Si tu parles de "portabilité" il me semble que JAVA est nativement multiplateforme LabVIEW beaucoup mois. Par exemple dans ma boite on fait des softs ludiques pour l'enseignement en LabVIEW mais si on doit assurer la portabilité sur plusieurs OS (non windows) sa va se compliquer! Après il faut aussi choisir celui que tu maitrises le mieux.
le 06-06-2013 03:27 AM
Oui je voulais parler de portabilité.
Merci encore pour ces précieux renseignements!
Bonne journée à tous les deux!
le 06-06-2013 10:05 AM
Mais s'il on crée un executable, sera règle-t-il le problème de la portabilité?