Δημιουργία γραφικών παραστάσεων σε C

panourg | Δευ, 07/11/2011 - 21:08 | 1' | 4

Γεια σας. Υπάρχει τρόπος να εκτυπώνω, γραφικα, δεδομένα απο προγραμμα που ειναι γραμμένο σε C ?
Για παράδειγμα, να πλοταρονται (γραφικη παρασταση) σε καποια γραφικη κονσολα τα αποτελεσματα του κωδικα καθως αυτος τρέχει.
Προσπάθησα με svgalib αλλα όλο προβληματα έχει. Έχετε να μου προτείνεται καποια αλλή βιβλιοθήκη ή τρόπο?
Χρησιμοποιώ τον gcc 4.4.4 σε fedora 12.


Ευχαριστω.

Φόρουμ
Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Γεια σου φίλε μου και καλωσόρισες.

Αυτό που ψάχνεις είναι μια βιβλιοθήκη περισσότερο προσανατολισμένη σε data plotting/visualization. Υπάρχουν πολλές στο ελεύθερο λογισμικό, πραγματικά, και πολύ αξιόλογες. Ορίστε μια βασική λίστα για να ξεκινήσεις, με λίγο ψάξιμο θα βρεις και άλλες:

* "MathGL":http://mathgl.sourceforge.net
* "PGPlot":http://www.astro.caltech.edu/~tjp/pgplot/
* "VTK":http://www.vtk.org/
* "plotutils":http://www.gnu.org/software/plotutils/
* "PlotMM":"http://plotmm.sourceforge.net/
* "PLPlot":http://plplot.sourceforge.net/

Από εκεί και πέρα υπάρχει και το κλασσικό "gnuplot":http://www.gnuplot.info με bindings τουλάχιστον για python, perl και ruby, όπως επίσης και τα "octave":http://www.gnu.org/software/octave/ και "scilab":http://www.scilab.org/ για γραφικές παραστάσεις "α λα" matlab.

Τα περισσότερα, αν όχι όλα, από τα παραπάνω πρέπει να υπάρχουν σαν πακέτα στα αποθετήρια της διανομής σου.

Επίσης, αν δοκιμάσεις το δρόμο της python, μην παραλείψεις να δεις και τη βιβλιοθήκη "matplotlib":http://matplotlib.sourceforge.net/.

Οκ προσπαθησα να βάλω την mathgl αλλα το ./configure σκαλώνει στο :

checking GL/gl.h usability... no
checking GL/gl.h presence... no
checking for GL/gl.h... no
Please install OpenGL headers (GL/gl.h)
 
Τί γίνεται με αυτη την βιβλιοθήκη?  Τι ακριβώς πρέπει να γραψώ στο yum του fedora για να εγκαταστηθούν τα GL/gl.h ktl?  Εβαλα μερικα πραγματα απο το yum χωρις αποτελεσμα.

Τρέχεις το configure ποιού πακέτου; Του mathgl; Δεν υπάρχει σαν πακέτο στη διανομή σου; Αν υπάρχει, είναι χίλιες φορές καλύτερα να βάλεις το πακέτο mathgl της διανομής σου. Λογικά (δεν είχα ποτέ fedora) μπορείς να ψάξεις για σχετικά πακέτα στη διανομή σου με: yum search mathgl

Αν πράγματι πρέπει να το κάνεις compile μόνος σου, και επειδή δεν έχω Fedora για να στο πω, πρέπει να βρεις με ποιο τρόπο μπορείς να "ρωτήσεις" το yum ποιο πακέτο περιέχει το αρχείο gl.h (/usr/include/GL/gl.h θα είναι η πλήρης τοποθεσία). Σε debian, αυτό το πακέτο λέγεται "mesa-common-dev".

Από "μια σύντομη αναζήτηση στο internet":http://www.linuxquestions.org/questions/linux-newbie-8/yum-search-file-781427/, ίσως η εντολή που θα σου δώσει το όνομα του αντίστοιχου πακέτου σε fedora είναι η: yum whatprovides "*/GL/gl.h"

Δεν έχω τη δυνατότητα να τη δοκιμάσω όμως.

Όλα αυτά γιατί εφόσον εγκαθιστάς από μόνος σου τη βιβλιοθήκη (και όχι από τη διανομή σου), πρέπει να λύσεις μόνος σου τις εξαρτήσεις της (δηλαδή να εγκαταστήσεις τις βιβλιοθήκες που χρησιμοποιεί η βιβλιοθήκη σου, ώστε να μπορέσει να κάνει compile και να τρέξει).

Ena programma C, i ena opoiodipote programma den paizei rolo i glossa, gia na zografisei kati stin othoni, prepei na xrisimopoiisei ypiresies pou parexei to systima gia ayti tin douleia. Ayto sto UNIX einai ginetai meso tou X window system.

Epidi omos genika einai kapos periploko to X window system, yparxoun diafores vivliothikes opos i SDL pou sou epitrepoun na zografiseis se ena X parathyro me pio aplo API, kai parexei to idio API se ola ta systimata etsi oste to programma sou na mporei na einai cross-platform.

To site tis SDL einai www.libsdl.org, kai exei documentation kai wiki gia na se voithisoun na matheis pos na tin xrisimopoieis.