Reputation:
Is there a C++ graphing library that can display visual graphs (such as hyperbolas and parabolas and linear equations) based on the equation it is given and that is cross platform? Or am I just asking for too much...
Upvotes: 1
Views: 2278
Reputation: 56595
Have a look at Qt. It might have some graph capabilities. And there is gnuplot. It's very extensive, so it might be a bit too complex for your needs though. It is cross-platform and there is a C++ API.
Upvotes: 1
Reputation: 827
MathGL have expression parser and can plot function specified by textual formula (with a lot of special function included). Also you can create data set, fill it by formula and plot indirect functions (like ellipse, a*x^2+b*x^2=1).
Upvotes: 1
Reputation: 1
If all you are interested in is the final output, rather than the programming side of things; you might want to try interfacing with something like gnuplot ( http://www.gnuplot.info/ ).
If you're interested in more, I'd recommend looking at their 'Links' page. This offers a bunch of either interface libraries and re-implementations (mostly for non-C languages from what I can see).
Hope that helps.
Upvotes: 0
Reputation: 42072
Let's take your question step by step.
"based on the equation [that] it is given" This would require you to write an expression parser; C++ cannot interpret equations "on the fly" without you writing a procedure to do so. For this, I recommend you look at Bison (go straight to the example RPN calc to get the idea).
For the libraries, you can get any GUI toolkit for C++; there are dozens; the recommendation for QT is probably the most honest one. Check also Wikipedia. You need any toolkit which will provide you with a canvas where you can paint or render lines or splines. This is not trivial, but also not difficult.
Your program would probably work as follows:
Again, this is not trivial but not difficult either.
You are reinventing the wheel, but I commend you for that.
Cheers,
J.
Upvotes: 0