ZeGrapher

Traceur de courbes et de données 2D

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

ZeGrapher est un logiciel gratuit et open source, qui trace les représentation d'objets mathématiques (fonctions, suites et équations paramètriques) et des données expérimentales (tableau de valeurs et import/export CSV) sur le plan. Ce logiciel a été créé dans le but d'être le plus simple et intuitif possible, ce qui fait qu'il est bien adapté entre autres aux lycéens.

Capture d'écran

Version actuelle: 3.0 publiée le 15 Avril 2016

Il est développé en Qt5/C++ et son code source est libre sous licence GNU GPLv3, disponible sous Github (pour avoir le dernier code en date) ou bien sur zegrapher.com (pour avoir le code figé de la dernière version en date)

Le téléchargement et la description complète et concise de ses fonctionnalités sont disponible sur zegrapher.com

Édité par AKS

+26 -0

Je connais déjà ton projet, je l'ai trouvé en cherchant un logiciel pour faire des graphiques. Depuis je l'utilise dès que j'ai besoin d'en faire donc merci pour ce logiciel qui m'est bien utile notamment grâce à sa simplicité d'utilisation. :)

« La Nature est un livre écrit en langage mathématique », Galilée

+1 -0
Auteur du sujet

Si jamais tu trouves une expression pour une jolie courbe ou fait crasher le logiciel en essayant, je suis preneur pour mettre à jour la capture d'écran d'accueil ou bien corriger le bug haha.

+0 -0

je viens de découvrir et j'aime déjà ! j'utilise aussi kmplot ( un peu lourd) voire matplotlib (mais fastidieux), ça m'a l'air d'être un bon compromis :) Suggestion d'un élève en prépa : une option pour tracé la dérivée/ primitive d'une fonction ( à base de taux d'accroissement et de méthode d'Euler ( l'idéal ça serait Runge-Kutta a l'ordre 4 :P )

+0 -0
Auteur du sujet

@hobi1 : Le tracer de primitives et dérivées est déjà implémenté ;) si tu veux dériver ou intégrer ta fonction f, tu tapes dans g(x) = f'(x) ou bien g(x) = F(x). La méthode d'intégration utilisée est Romberg.

@Ozmox : Si tu veux tracer ce que je crois comprendre $u_{n+1} = 5 \cdot u_n - n$, ZeGrapher fonctionne en " u(n) = …", du coup il faudra simplement décaler l'indexation: $u_{n} = 5 \cdot u_{n-1} - n + 1$ et ça marchera :)

@kafivel : J'ai eu cette idée aussi ! Mais il fallait choisir quoi faire en priorité… D'ailleurs le tracé de données et leur régression polynomiale m'a pris 2 ans (pas en continu xD, vu que j'étais moi aussi en prépa)

Voilà! Merci pour vos encouragements !

Édité par AKS

+2 -0

Ok, du coup, je pense que la notation $Un+1 = Un(5) - n$ est plus formelle mais peu importe. En revanche, ton logiciel ne prend pas en compte l'indexation, il retourne une erreur.

Éternel curieux

+0 -0
Auteur du sujet

Cette suite a besoin d'un premier terme pour qu'elle puisse être calculée, l'as tu renseigné ? J'ai essayé chez moi cette expression avec u(0) = 1 et ça marche ;)

+0 -0

Bien sûr mais, par exemple avec le premier terme égale à 5, il retourne une erreur. Comment tu index le n-1? J'ai essayé avec le clavier numérique mais ça marche pas… :-°

Édité par Ozmox

Éternel curieux

+0 -0
Auteur du sujet

@la Bécasse: Mais de rien! ça fait plaisir d'entendre ça! ^^

@Ozmox: En fait je ne comprend pas quelle suite tu veux définir: est-ce $u_{n+1} = 5 \cdot u_n - n$ ou bien $u_{n+1} = u_5 - n$ ? Dans ce dernier cas, il faut définir obligatoirement les six premiers termes (donc jusqu'à $u_5$ pour que ça puisse être calculé). Sinon donne moi ce que tu as écrit exactement comme expression sans utiliser la mise en forme mathématique pour que je teste ça chez moi et corrige le bug. :)

Édité par AKS

+0 -0

vu que j'aime bien titillé et que j'ai plein d'idée mais pas encore les capacités( malheureusement le C++ est encore un mystère pour moi): Pourquoi ne pas rajouter un solveur d'équation graphique ( inéquation, equa diff1, valeur approché des zéros,etc…), et/ou d'autre mode graphique (axes logarithmiques (lin-log/log-lin/log-log, axes polaire, …) ,ça va devenir le couteau suisse de l'analyse :D. En tout cas je reste encore bluffé par la simplicité d'utilisation (+1 pour le g(x)=f'(x) , j'aurais dû y penser ^^)


  1. je savais que Runge-Kutta aller servir :P  

+0 -0
Auteur du sujet

J'ai pensé aux représentations logarithmiques, ça ne devrait pas trop prendre de temps, sauf qu'en fait tracer $\log f(10^x)$ fait tout autant l'affaire pour avoir une représentation log-log par exemple, mais c'est vrai qu'on aura pas la grille caractéristique de la représentation logarithmique, et il faudra lire par soi même que 1 c'est 10, 2 c'est 100 etc…

Les équations différentielles ordinaire simples du premier ordre se résolvent en intégrant une fonction. Pour les implicites et ceux d'ordre supérieur, ce sera plus compliqué mais à creuser. Pour Runge-Kutta, je vais voir comment utiliser la méthode de Romberg dessus (si c'est possible d'ailleurs)

Pour la représentation en polaire, elle peut aussi être faite par des moyens détournés: passer par une équation paramétrique et réécrire l'expression en polaire $r(\theta)$ en cartésiennes en projetant sur $x=r(\theta) \cdot \cos (\theta)$ et $y=r(\theta) \cdot \sin (\theta)$ (le paramètre à utiliser sur ZG à la place de thêta est t)

Pour les résolutions qu'une calculette graphique peut faire, ou wolframalpha plus généralement. Je laisse ça pour wolframalpha qui fera ça toujours mieux haha.

En tout cas je reste encore bluffé par la simplicité d'utilisation (+1 pour le g(x)=f'(x) , j'aurais dû y penser ^^)

Haha j'avoue que je suis moi même fier de moi sur certaines fonctionnalités : as tu vu les pins dans la fenêtre de saisie de données expérimentales ? Essayes sinon d'utiliser "k" comme paramètre additionnel quand tu saisi une expression :D Je laisse libre cours à mon imagination pour intégrer le plus de fonctionnalités tout en les gardant cachées mais/et/ou intuitives pour que ça reste simpliste.

D'ailleurs, cette nouvelle version étant sortie, la foire aux propositions est ouverte! Je compte peut être effectuer une refonte du code (encore une fois…) avant de continuer, pour avoir un code encore plus élégant xD

@hobi1: Une dernière chose, n'hésites pas à faire de la pub ! J'ai mis tout ce temps à développer le tracé de données expérimentales et leur régression polynomiale (dont affine donc) pour faire passer Regressi aux oubliettes (mon dieux qu'il est moche comme logiciel… xD)

Édité par AKS

+0 -0

@la Bécasse: Mais de rien! ça fait plaisir d'entendre ça! ^^

@Ozmox: En fait je ne comprend pas quelle suite tu veux définir: est-ce $u_{n+1} = 5 \cdot u_n - n$ ou bien $u_{n+1} = u_5 - n$ ? Dans ce dernier cas, il faut définir obligatoirement les six premiers termes (donc jusqu'à $u_5$ pour que ça puisse être calculé). Sinon donne moi ce que tu as écrit exactement comme expression sans utiliser la mise en forme mathématique pour que je teste ça chez moi et corrige le bug. :)

AKS

Je parle de n'importe quelle suite récurrente, mais j'ai pris $u_{n+1} = 5 \cdot u_n - n$, comme exemple.

En fait, j'arrive pas à mettre le n-1 en indice, mais je vais trouver. ;-)

Éternel curieux

+0 -0
Auteur du sujet

Aaaaaaaaaaaaaaaaah! Je viens de comprendre quel est ton problèmes! Désolé! ^^' En fait les suites ne sont rien d'autres que des fonctions définies sur $\mathcal N$. En partant de cette idée, elle s'utilisent comme de fonctions normales et $u_{n-1}$ s'écrira sur ZG " u(n-1) ". Je n'avais pas compris que c'était ça qui te bloquait, en espérant que maintenant ça marche! :)

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte