Topic: 3 extensions of functionality
Hi Ivan (I hope I am not wrong about the name)
I am an applied math student, and I use Graph for complicated functions. I have 3 major suggestions, that can make "Graph" very powerful
***When graphing function of x (menu: "insert function f(x)"), there two very useful features:
1. Setting a custom number of points, at which to build points on the graph.
2. In addition to 'lines', 'automatic', you can also set "dots', when doing the graph.
----So, my suggestion (and kind ask) is to implement both of the above options to in "Insert relation". (Which I guess could be done by adding similar buttons in the pop-up menu, when setting the relation?>>)
(1) is important because there are cases of complicated functions, when the default precision is not enough, and cases, where, on the contrary, the graphing takes too long and one wants a quick impression of the graph.
(2) is important, because there are cases when the "lines/automatic" option draws lines where it should not (i.e., case of two asymptotically close curves.
As some examples of troublesome functions , please see http://www.peda.com/grafeq/gallery/rogue.html (Though, overall, GraphEq is more limited than Graph)
***3. Currently, only relations between x and y can be written in implicit form. Often, parametric equations are given as F(x,y,t)=0, and you cannot find x(t), y(t) explicitly. Could you add such option in the drop-menu of "Insert function meny?" (and for polar function wouldn't harm, but there one can resort to relation F(x,y)=0...).
Exactly similar feature is useful for "custom function/constant": to be able to set, for instance, the third variable "z" by giving it in implicit form as some f(x,y,z)=0. This is for drawing (x,y) graph from a system of 2 implicit equations, involving 3 variables {g(x,y,z)=0, f(x,y,z)=0}. I'm not sure, but an idea is to set to be able to write "g(x,y,z)=0 and f(x,y,z)=0" in the "Relation" field, or: "g(x,y,z)=0" in 'relation' field, and "f(x,y,z)=0" in the "Constraints" field. (I am not a programmist, but probably the idea is:When the program will take the first two points from the plane, it will insert them in, say, f(x,y,z)=0, find z (if any), then substitute that value of z in g(x,y,z)=0: if the relation is true, (x,y) will be plotted, otherwise--move to another point(x,y) and so on)
What do you think? By the way, I am willing to contribute with what I can to the project. (Math, typing; maybe later, some programing in python--i am learning it now, a bit)
Victor