I did this to learn about all the Java swing gui stuff. Uhh... this is my first complete java application, and I was wondering if you guys could report any bugs.
It's a pretty good editor. There's all of that fancy stuff like graph lines, zooming, panning, you name it!
Mostly it was just a learning exercise. For example, the main panel is an "equation editor" panel. The text boxes where you enter coordinates have to validate the text (to make sure you input a decimal number) and then call an update function on that panel, so that the graphics update. Plus, I decided to test my knowledge and make this whole thing multithreaded - mainly because I hate when an application's UI hangs up because of some calculation going on. The red line (the curve) is calculated in a separate thread than the rest of the stuff.
And then of course we get to the actual input. Accepted operators are:
+ - * / ^ ( ) log() cos() sin()
So an equation like:
(2*x^4+5)^(1/3)/(2+x)
gets parsed fine. If you see the green box next to the equation turn red, that means you entered something it doesn't like. (for example, you can't have negative numbers. Sorry. The best you can do is subtract from zero. "0-sin(x)" is valid while "-sin(x)" is not.)
check it out and tell me about any bugs! It *shouldn't* crash or get stuck up, but parsing the text is kinda hard and I may have missed an infinite loop somewhere.
http://www.neurofuzzydev.com/graphutil.html
screenz:
a function whose left limit approaches a sine curve, and whose right limit approaches an exponential function.
[edit]
also, it would be cool to hear ideas about new features I could add.
I want to keep adding to this as I need to use more GUI stuff. I was thinking about adding support for polar and parametric graphs first off, then moving on to adding variables. It would turn into an incredibly useful utility if you could type in "a*x+b", and have two adjustable sliders labeled a and b show up.
Besides that, there could be stuff like adding LaTeX rendering of equations, adding support for non-functions (the +- symbol, or having multiple functions), aand having cool things like bifurcation diagrams.
Eventually I might get daring enough to add numerical estimations of integrals and derivatives, along with sums, and a crapton of other notation, but that's far off.

Why does blue text appear every time you are near?