Bonjour à tous(tes)
Petite question ! Je suis en train de me faire un ptit programme de modélisation de la trajectoire des planètes du système solaire en C++. Jusqu'ici tout va bien.
Forcément le but est de visualiser l'évolution des planètes.
Pour le moment je stocke les coordonnées des planètes dans un fichier .txt que je plot ensuite à l'aide de Gnuplot. C'est une solution simple mais qui ne me convient pas parce que je vais améliorer et affiner mes résolutions à court terme. ce qui veut dire que les temps de calcul vont sérieusement s'allonger (et je ne dispose pas de ressources de fou...).
Je voudrais donc tracer en temps réel l'évolution de mes points. C'est à dire tracer mon graphique à chaque itération en temps où autrement dit le mettre à jour à chaque itération et mise a jour des mes coordonnées.
J'ai fait le tour d'internet pour trouver une solution, mais pour l'instant rien ne me convient...
_ Je ne peux pas faire d'appel de Gnuplot dans ma boucle en temps parce que sinon ça l'ouvre-ferme-ouvre... c'est le bordel !
_ Peut être que je devrais passer par un autre logiciel que GNUPLOT ? OCTAVE ? (je veux rester dans le gratuit, ça reste pour le fun)
_ Le plus simple serait carrément de savoir si il existe une librairie c++ qui me permettrait de le faire (pas encore trouvé)
voici un apercu de mon code grosso modo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 // creation du script pour gnuplot permettant de tracer coordonnees.txt fstream imp("coord.gnuplot,ios::out); imp <<"replot 'coordonnees.txt.' u ($1):($2) with line ls 1 notitle" << endl; imp.close() boucle en temps t^n { calcul de x^n,y^n \\ coordonnées de la Terre ofstream fichier("coordonnees.txt,ios::out); fichier << x^n << y^n << endl; fichier.close(); system("start gnuplot coord.gnuplot"); \\forcément inclure system dans la boucle c'est une idée de m*** je vous l'accorde haha n=n+1 }
Auriez vous des solutions s'il vous plaaaaait ?
Merci beaucoup !
Partager