MathMod 4.0 : nouveaux outils de manipulation des objets mathématiques

Posté par  (site web personnel) . Édité par Davy Defaud, Benoît Sibaud, Nÿco et claudex. Modéré par Pierre Jarillon. Licence CC By‑SA.
54
11
fév.
2016
Éducation

MathMod (anciennement K3DSurf) est un logiciel libre (sous licence GPL v3) de modélisation et de manipulation des objets mathématiques décrits par des équations implicites ou paramétriques. MathMod permet de manipuler les objets mathématiques 3D et 4D en les animant d’un mouvement de rotation ou de déformation. Il permet aussi de changer leur propriétés visuelles, calculer leurs intersections en temps réel et exporter le résultat final sous différents formats de fichiers. MathMod est développé avec Qt5/C++, il est disponible pour GNU/Linux, Windows et Mac OS X.

MathModd-4.0

Description détaillée

  1. prise en charge des équations implicites et paramétriques (3D et 4D) ;
  2. prise en charge de la rotation et de la déformation des surfaces en utilisant le paramètre temps ;
  3. prise en charge des textures solides et des pigmentation 3D ;
  4. importation de scripts au format JSON et exportation au format OBJ des objets 3D ;
  5. vaste collection de plus de 330 scripts ;
  6. fichier de configuration pour l’usage de la mémoire vive et des couleurs de l’interface graphique.

Nouveautés

La dernière version 4.0 de MathMod, qui a demandé presque un an de travail, apporte les nouveautés suivantes :

  1. possibilité de définir des paramètres (20 maximum) et de les lier avec des outils graphiques coulissants, sliders en anglais : ceci permet de manipuler les équations et de voir le résultat en temps réel à l’écran. Un aperçu peut être visionné avec cette vidéo Youtube ;
  2. ajout de plus de 152 scripts, pour un total de 332 : cette collection de scripts est un nouveau projet personnel dont vous pouvez suivre les mises à jour sur mes pages Facebook ou Google+ ;
  3. implémentation de certaines fonctions internes du logiciel PovRay sous forme de scripts ou fonctions internes de MathMod.

Les nouveaux outils, ainsi que la nouvelle collection de scripts apportés par la version 4.0, ne constituent pas seulement un saut majeur pour MathMod dans l’exploration des objets mathématiques, mais ils donnent aussi un aperçu de développements futurs encore plus excitants… Restez aux aguets !
Merci à toutes celles et ceux et qui m’ont soutenu et continuent de le faire par leurs messages de félicitations et d’encouragement !

MathModd-4.0

Aller plus loin

  • # Wow

    Posté par  (site web personnel) . Évalué à 10.

    Très sympa et immédiat à prendre en main, je viens de passer 15 minutes avec mon gamin à parcourir les exemples, y'a des trucs incroyables :)

    Par contre, sur les formules qui demandent beaucoup de CPU, l'IHM semble réagir avec beaucoup de latence et avec certaines, elle devient quasiment inutilisable ; j'ai l'impression que le thread principal de l'appli Qt est solidaire des calculs des formules, c'est dommage, est-il envisagé de déporter les calculs dans un autre thread ?

    Après, rien à voir mais j'ai toujours un petit frisson de peur maintenant quand je dois télécharger un binaire sur sourceforge :D

    • [^] # Re: Wow

      Posté par  . Évalué à 4.

      Après, rien à voir mais j'ai toujours un petit frisson de peur maintenant quand je dois télécharger un binaire sur sourceforge :D

      Maintenant, ça devrait être mieux. :)

    • [^] # Re: Wow

      Posté par  (site web personnel) . Évalué à 7.

      L'utilisation des threads dans les taches de calcul des objets serait très intéressant pour des raisons comme celle que vous avez mentionné mais aussi pour une utilisation optimale des capacités CPU qui sont composées de plusieurs cœurs qui ne demandent qu'a être utilisés…L'utilisation de ces ressources demande néanmoins une gestion et une adaptation du code assez conséquentes.
      Ca fait un bout de temps que j'ai commencé a répertorier les changements nécessaires pour un tel support et tout ce que je peux dire pour le moment c'est que j'y pense sérieusement :)
      Pour les binaires vous avez raisons d’être vigilent. Compiler le code source est une des meilleure façon a mon avis de s'assurer d'avoir un binaire propre sinon vous pouvez vous rabattre sur des sites qui passent régulièrement les binaires sous une batterie de tests avant de les mettre en ligne…mais faites attention car on ne sait pas toujours qui est derrière ces sites!

      • [^] # Re: Wow

        Posté par  (site web personnel) . Évalué à 6.

        Ca fait un bout de temps que j'ai commencé a répertorier les changements nécessaires pour un tel support et tout ce que je peux dire pour le moment c'est que j'y pense sérieusement :)

        cela mériterait que tu le mettes sur un wiki, pour y travailler à plusieurs : tu n'es pas à l'abri que quelqu'un t'aide (même si il y a peu d'espoir hein, au moins tu auras permis de le faire).

  • # interopérabilité

    Posté par  (site web personnel) . Évalué à 5.

    Ton logiciel est génial, tu es allé beaucoup plus loin que ce que j'avais réalisé en fin de 1ère S (ce qui te donnera une idée de mon âge).

    Pour autant, un truc que je n'ai jamais fait c'est gérer les autres logiciels faisant de même (modélisation 3D notamment, mais pas seulement).
    Un point à améliorer facilement, me semble l'interopérabilité et les exports vers du CAD : http://alternativeto.net/software/brl-cad/?license=opensource

    La représentation dans le plan complexe est sympathique aussi, même si tu gères déjà partiellement les espaces de Lobatchevski (négatif) mais pas Riemann (positif : une boule).

    Si tu veux rajputer des fonctions de dérivation et d'intégration, autant que tu regardes ce qui existes déjà et te baser dessus :-)

    Le Qµ n'est qu'une approximation, gérer les formules mathématiques et le calcul formel ce serait bien plus intéressant :-) (runge kutta sbien, très limité pour autant…).

    Bravo encore pour tes travaux et ta motivation à intervenir sur les forums de tant de distros, n'arrête pas, tu fais du bon boulot :-) Tu nous donneras la recette de ta motivation un jour ;-)

    • [^] # Re: interopérabilité

      Posté par  (site web personnel) . Évalué à 3.

      Merci pour les conseils et les compliments :)
      Pour la motivation il y a des haut et des bas mais l'envie de partage finit toujours par l'emporter!

      • [^] # Re: interopérabilité

        Posté par  (site web personnel) . Évalué à 5.

        Pour la motivation il y a des haut et des bas mais l'envie de partage finit toujours par l'emporter!

        c'est un mal comme un bien, tant que tu ne le subis pas, qu'il te reste du temps pour le gérer et que tu en as envie, fonce :-) franchement, bravo, je fais partie des gens qui sont à 200% pour toi et qui le disent peu (généralement, c'est plutôt ceux pour qui ça ne fonctionne pas dont on a les retours, si ça marche peu de gens se sentent concernés pour le confirmer…)

  • # Contribuer

    Posté par  (site web personnel) . Évalué à 3.

    Je n'ai pas réussi à trouver une adresse email (et j'ai l'impression que pour pouvoir te contacter, il faut s'inscrire sur sourceforge).

    Acceptes-tu les contributions ?
    Tiens-tu absolument à continuer à utiliser Subversion ?
    Es-tu contre l'idée d'un refactoring de ton code (*) ? D'une mise en conformité avec les bonnes pratiques de nommage ? (utiliser du camelCase pour les variables par exemple, etc)
    Que penses-tu de séparer les gros fichiers .js d'exemple en plein de petits fichiers dans un répertoire pour pouvoir plus facilement travailler dessus, en enlever, en ajouter, en accepter depuis des sources extérieures au projet, etc ?

    (*) J'ai commencé à regarder pour cette histoire de thread, mais je suis tombé sur des fichiers source de plusieurs dizaines de Ko, ça m'a fait intrigué et j'ai vu qu'il y a pas mal de redondances dans le code qui pourrait largement gagner en concision si on le factorisait.

    • [^] # Re: Contribuer

      Posté par  (site web personnel) . Évalué à 2.

      Merci pour la proposition de contribution. Je suis entrain de préparer le code pour être plus facilement gérable par une équipe de développeur et le passage sous Git n'est pas exclue. SourceFForge est effectivement assez strict a ce sujet et il faut être inscrit pour pouvoir créer des billets de correction de bugs ou de demande de changement… j'ai beaucoup travaillé avec le trio JIRA/Confluence et Crucible et GitHub me parait tout indiqué pour avoir accès a ces outils. Tant que ces outils ne sont pas mis en place, ca va être difficile pour moi de gérer les ajouts des développeurs de façon adequate surtout que MathMod connait actuellement des ajouts "majeurs" cotés fonctionnalités.
      Vous pouvez contribuer au développement de la collection des objets mathématiques en créant votre propre collection pour la partager (ou non) avec les autres utilisateurs. La page Facebook (https://www.facebook.com/MathMod-529510253833102/) est un espace ouvert pour faire connaitre vos oeuvres mathématiques et il n'est pas exclue d'inclure votre collection dans la package de MathMod.

    • [^] # Re: Contribuer

      Posté par  (site web personnel) . Évalué à 2.

      Mon email: taha_ab at yahoo dot fr (oui, je garde précieusement cette adresse courriel que tous mes amis d'étude et autres de France connaissent  ;-) )

  • # La 4D ?

    Posté par  (site web personnel) . Évalué à 0.

    Excusez-moi mais je vois bien ce que c'est la 2D et la 3D mais qu'est-ce que c'est que la 4D ?

    • [^] # Re: La 4D ?

      Posté par  (site web personnel) . Évalué à 1.

      La 4D (quatrième dimension) constitue la quatrième coordonnée d'un objet. Les objets 4D ne peuvent pas exister dans notre monde reel 3D, d'ou le besoin de leur faire subir des transformations géométriques avant de les afficher a l’écran. Voici un exemple d'objet 4D en mouvement ou encore celui la (animations faites par MathMod).
      D'autres animations intéressantes peuvent être visionnées sur mon canal YouTube:
      Pour plus d'informations, je vous suggère de faire des recherches sur internet, vous allez surement trouver des informations intéressantes ;-)

      • [^] # Re: La 4D ?

        Posté par  (site web personnel) . Évalué à 3.

        plutôt que de promouvoir une société américaine ne me permettant pas de voir ce que tu as mis en ligne, voici pour exemple ce que je vois :

        une société Google
        Avant de continuer
        
        Conformément à la législation relative à la protection des données, nous vous demandons de bien vouloir prendre quelques instants pour étudier les principaux aspects de nos règles de confidentialité. Nous ne les avons pas modifiées, il s'agit simplement ici de vous familiariser avec ces règles.
        
        Vous devez effectuer cette opération pour continuer d'utiliser les services Google.
        

        Vu que je n'ai jamais pu voir l'intégralité des conditions qui me seraient imposées, je n'ai jamais pu valider jusqu'à ce jour.

        Si tu as encore les sources de tes vidéos, nous serons heureux de t'accueillir sur TuxFamily, 1 Go par défaut (extensible si sous licence libre, mais incitant à l'optimisation de l'utilisation de l'espace).

        • [^] # Re: La 4D ?

          Posté par  (site web personnel) . Évalué à 2.

          huumm…je comprends vos réticences a propos de youtube.
          Mes videos sont aussi sur mes pages Facebook et Google+ mais la aussi ils ont des restrictions.
          Les scripts qui génèrent ces videos sont inclus dans MathMod-4.0 mais ca va demander quelques activations de fonctionnalités de MathMod pour pouvoir les admirer comme il faut. Je serais tenté d’héberger le projet MathMod sur TuxFamilly, par contre, les videos prennent vraiment beaucoup d'espace disque et je compte en générer de plus en plus dans un avenir proche a cause des nouvelles fonctionnalités de MathMod…

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.