+--- +--- | /************ GRAF-IT! v2.0 -- README ************+--- +--- | / |-- |-- K******************** January 1993 *****************|-- |-- K +--- +--- | \****** (c) Copyright 1990 Eugene Eric Kim *******+--- +--- | \ WHAT GRAF-IT IS? GRAF-IT! v2.0 plots functions and inequalities of functions, as well as solves systems of inequalities. It is a very intuitive, yet powerful math graphing program. This was written as an educational tool for the math department at Polytechnic Upper School in Pasadena, CA. It is appropriate for junior high school, high school, and college students. WHY GRAF-IT? There is an abundance of graphing software available, both shareware and commercial. Some packages are extremely powerful, yet their interfaces tend to intimidate the average user. Other packages are extremely simple (and often free), yet their usefulness is limited to drawing lines and circles. GRAF-IT! can be classified as a simple package, yet its power goes beyond other "simple" packages. It plots a plethora of functions, and allows almost complete manipulation of the graph range. It maintains a buffer of seven equations, so you can keep track of what you're doing, as well as save the last seven equations you typed and the range. The user interface is extremely intuitive -- you just type in the equation and press return. The most powerful feature of all, the reason GRAF-IT! was written, is the inequality feature. Systems of inequalities are used in many real-world applications, from construction to economics. Very few programs have this ability, and those that do are generally anti-intuitive. GRAF-IT! will not only graph inequalities of functions, it will graph the solution to a system of inequalities with a one key command. A combination of all these features makes GRAF-IT! a powerful tool, especially for building intuition. It was written to be an education tool, and can be used to help students understand algebraic concepts such as solutions to systems and even simple calculus concepts such as maximums and minimums. For those students beyond this level, GRAF-IT! can be used to analyze scientific and technical problems. GETTING STARTED: The only hardware requirement for GRAF-IT! is a VGA monitor. It will work equally well on an XT machine as it will on a 486 machine. In fact, it was written on a Leading Edge Model D, an Intel 8088 based machine. There is only one necessary file: GRAFIT20.EXE. The archived package should include the following files: GRAFIT20.EXE -- GRAF-IT! v2.0 executable DEMO1.EGC -- Demo files DEMO2.EGC DEMO3.EGC README -- This readme file Just type GRAFIT20 at the DOS prompt and you are ready to begin. There are two command line options: GRAFIT20 [notitle] [load:{filename w/o extension}] The 'notitle' option prevents the opening screen from displaying. The 'load:' option allows you to immediately load a file. Just type the filename of the .EGC file WITHOUT extension and with no space between the colon and the filename to load the file. USING GRAF-IT! v2.0 GRAF-IT! operates on a command line principle. All commands and functions are typed in the box labelled, f(x). Every command is one letter. In order to execute a command, type the letter and press , then follow the instructions. In order to graph a function, just type the function in and press . A couple of notes on functions: first, there are certain letters which are not allowed -- if you press an invalid key such as , you will hear a beep, and the character will not appear. Also, make sure each argument inside a function is surrounded by parentheses. If the buffer is on (default), all equations are queued into the buffer. To toggle the buffer off, just type T (see the section COMMANDS), and the equations will no longer be queued. COMMANDS L -- Load file: Loads up previously saved equations and range values. Enter the file name without the extension at the prompt. G -- Save file: Saves the current set of equations as well as the current range values. Enter the file name at the prompt. Will automatically add the .EGC extension. C -- Clear the graph: Clears the graph. Does not reset any values. I -- Inequality mode: Allows the user to enter inequalities. At the prompt, choose which inequality you want. S -- Solve system: Solves a system of inequalities. There must be two or more inequalities in the buffer. The S command will redraw the graphs and fill in the solution, if there is one. If there is not, the program will notify you. V -- Vertical line: Lets you plot vertical lines. Enter a number at the prompt (x=?). In order to enter an inequality of a vertical line, use the I command first, then V. W -- Redraw: Allows you to redraw equations that are in the buffer. The command prompts you either for the number of the equation, or A for all, or C for cancel. F -- Replace sign: Lets you change the sign in an equation in the buffer. First select the equation (or C for cancel), then the sign. Z -- Display equation: For especially long equations, the buffer will truncate the expression. In order to see the whole equation, use this command. A -- Add equation: This command lets you put equations into the buffer without graphing them. This is a useful command for demonstration purposes, as well as speed (if you are using 8088 machines). T -- Toggle buffer: Turns the buffer queue on and off. The default is on. P -- Purge buffer: Delete all of the equations in the buffer in one fell swoop. Be careful with this command; once you use it, your information is gone forever! R -- Set range: Let's you set the range of the graph. This can be used as a zoom function -- change the range, then redraw the equations. Limitations of the zoom function: the tic value cannot be set; only integer values can be entered. E -- Reset graph: Clears the graph and restores the default range values. (X and Y Min = -10, X and Y Max = 10). D -- Delete from memory: Allows you to delete individual equations from the buffer. H -- Help. The help is not too bad, but it is a little uncomfortable to use. Q -- Quit. Self-explanatory. FUNCTIONS The following are all legal functions and operations: + - * / ( ) ^ sqrt log ln exp sin cos tan sec csc arcsin arccos arctan Remember to keep the arguments inside of the functions surrounded by parentheses. There is one limitation with the power (^) function. See the reference to error message #5 in the section on ERROR MESSAGES below. ERROR MESSAGES #1 -- Illegal Input Error: The user entered a garbled message. If you enter some unknown function, this error will appear. #2 -- Missing Constant or Variable Error: If there are no numbers or variables in the expression the user has typed, this error will occur. #3 -- Missing Parentheses Error: The parser checks to make sure there is a corresponding end parenthesis for every open parenthesis. #4 -- Dangling Operator Error: If there is a binary operator with only one element, this error is displayed. (ie. f(x)=+X+1) #5 -- Fractional Power Error: Because of a weakness in my parser, if you are entering a fractional power expression, it must be in the following form: ^({numerator}/{denominator})... You CANNOT have any expression preceding the numerator or the end parenthesis. The following is an illegal expression: X^(1/3+1) There is a flaw in my parser which is the reason for this. If you are interested in why this does not work, please send e-mail or write, and I will be happy to explain. HISTORY In my sophomore year, my math teacher approached me and asked me to write some software for the math department. The math department owned many software packages, including the powerful (and quite expensive) IBM Math Exploration Toolkit. None of their packages though, easily graphed inequalities. Since I had only begin programming in Pascal, I limited this project to graphing lines. The result was a very messy, ugly, and slow program which was very susceptible to dying. Because I was unhappy with the result, I decided to totally redesign, rewrite, and expand the software. The result is GRAF-IT! v2.0. COST AND LEGALESE GRAF-IT! was written in Turbo Pascal v5.5, and all algorithms are totally original. It is copyrighted and shareware so if you decide to use this software, you must register it. Registration is $30.00. Schools may use the software for free. The only thing I request from schools if they decide to use this software, is for them to send me the following information on school stationary: (1) School information (grade level, location, etc.); (2) What you are using GRAF-IT! for; (3) Opinion of GRAF-IT! and suggested improvements; (4) A description of your ideal math software. Schools only may order the source code for $100.00 (Excuse the high price but I spent a lot of time on it). Send all registration fees and requests to the following address: Eugene Kim GRAF-IT! v2.0 Registration 430 East Winnie Way Arcadia, CA 91006-4851 If you are registering before June 1993, you may send fees and requests to: Eugene Kim GRAF-IT! v2.0 Registration Canaday C-41 1700 Harvard Yard Mail Center Cambridge, MA 02138-7507 You may also send comments via e-mail at: eekim@husc.harvard.edu. UPCOMING RELEASE I wrote this software in my sophomore year in high school (as evident in the Copyright date!). Since then, not only has my programming skills become more sophisticated, so have my math skills. I am currently a freshman at Harvard, and I will be teaming up with a couple of other students to attempt to produce a very powerful, integrated mathematics package. Currently, packages such as gnuplot and pari, as well as professional packages such as Mathematica dominate the market. We want to produce a package that is aimed at the educational market. The key is customizability; there will be no standard interface -- just an engine. Many interfaces will be included, and once the user reaches a certain stage, the user will be able to create his or her own interface. As for some of the more mathematical abilities, the new version will add several key features: -3-d graphing, including transformations and inequalities -Support for user-definable and recursive functions -More powerful parser -Portability (versions for the DOS, Windows, X11, Mac) -Advanced scripting language -Use of math coprocessor for increase speed -Support for future output devices (ie. 3-D VR Glasses) These are just a few of the features. In order to get a better idea about what sort of features to include, please send me your suggestions. Thanks for using GRAF-IT! v2.0. ****************************** END of README ******************************