3D Graph Ver 2.0 by Jason Melquist Files needed: 3dgraph.exe (the program) oldgraphs.sav (data file) readme.txt (these instructions) The development of this program came about as a result of a class I took at Mankato State University, MN: calculus III. One goal of the class was to be able to graph a function of x and y in 3 dimentions. To draw this on 2D paper (the only kind I know of!!) was a dificult task if you expected anyone else to be able to get any perspective of it. So I wrote this program to make these graphs easier to view. Later I added the abilities to do 2 dimentional graphs as well and then the option to use both parametric and implicit equations. Too bad I didn't write this durring that class, but enough cry'n over spilt milk... Quick Disclaimer: 3D Graph is ShareWare. That means that you can use the demo and distribute it freely if: 1) all files are included 2) no modifications are made to any of these files INSTALLATION: Simply make a directory and copy all 3 files into that directory. Then run the executable from windows. This program runs on the following platforms: Windows 3.x Windows 95 Windows NT I recommend at least a 486DX/100MHz or a Pent/586 A P120 or higher runs it best for fluid movement. FEATURES: 3D Graph allows you to view a graph in three-Dimentions and to roll the graph around in real time so you can actually SEE the graph in 3D! You can adjust many features including: the ranges of X, Y, and Z the detail of the graph auto centering save graphs to disk for later viewing and much more! The program comes packaged with a handfull of graphs for you to view and roll around, zoom into/outof, change the ranges, etc.... when you think your ready you can enter your own formulas...which of course, is what the program was written for! With 3D Graph, you can see the awesome capabilities that 3D graphics offers to the mathematician, student, or anyone interested in graphing for that reason! TO GET YOU STARTED: The interface is simple enough yet extreamly powerfull. to start, look at the saved graphs that come packaged with 3D Graph. To do this, simply choose one of the formulas listed in the drop-down box in the upper right corner of the program. There are four different kinds of graphs each are prefixed by: "xyz(t)=" for 3D-parametric "z(s,y)=" for 3D-implicit "xy(t)=" for 2D-parametric "y(x)=" for 2D implicit. Once you have chosen a saved graph, 3D Graph will choos the appropriate view for the graph and the dialog boxes which apply will appear. You will see in the graph window, the word "working..." appear for a moment or two, then a graph will appear there. If you chose a 3D graph you can spin it around to get a better perspective on it. Just move your mouse to the graph window (the cursor turns into a four way arrow), press the left mouse button, and drag the graph around....whoa! Your rotating the graph in 3D! Feel free to take a look at all the saved graphs...and play around with 'em. The orientaion of the graph is as follows: the x-axis extends twards you as x increases the y-axis extends to the right as y increases the z-axis extends upwards as z increases THE VIEWING COORDINATES: when viewing 3D graphs the coordinates are as follows: the x-axis extends directly at the viewer as x values increase. the y-axis extends to the right as y values increase. the z-axis extends vertically as z values increase. Here is a view of the axis: z-axis /\ | | | +------> y-axis / / |/_ x-axis WHAT IS THE "VIEW REFERENCE BOX" CHECKBOX FOR? With this checked (the default), any 3 dimentional graph is inscribed within a wireframe box, the front edges of which are blue. The purpose for this is to give the viewer a better perspective of just what angle they are viewing the graph at. This is especially usefull when viewing 3D-parametric graphs where the resulting graphs are curves or lines in space as opposed to surfaces. With out the reference box, it makes getting a perspective on the curve difficult. TO ENTER A FORMULA The formula for a 3D-implicit function is in the form of z(x,y). Which simply means that the Z value depends on the values of X and Y. Just like Y depends on X in a 2D-implicit graph. For a 3D-parametric graph there are 3 formulas one for x one for y and one for z each gaining there value by manipulating the variable t. Similarly, 2d-parametric graphs have 2 formulas, one for x and the other for y each depending on the value of t. You have many operators at your disposal. of course the standard: +,-,*,/,^ are all legal and follow normal order of operations (meaning that unless parethesis state other wise, ^ operator has priority over the * and / which in turn have priority over + and - operators. Here are the other operators offered and their syntax: operator meaning example ------------------------------------------------ sin sine sin(x+y) cos cosine cos(x+y) tan tangent tan(x+y) abs absolue value abs(x+y) sqr sqare root sqr(x+y) of course you can use these in combination with other stuff like: f(x,y)=sin(x)*cos(y)^abs(x-y) also available are the constants e and pi use them any place you would use them normaly such as: f(x,y)=sin(x*pi) or f(x,y)=e^x-e^y THE LIMITS OF X,Y,Z AND T: You can change the limits of the viewed graphs by simply entering new ones in the appropriate box. If you've worked with graphing, you've noticed that the range of a variable is denoted: -3.14 < X < 3.14 In this example, the range of X is between -3.14 and +3.14 the same is true for the Y and T range. the Z range is a little different because of the nature of graphing a function with the form: z(x,y)= ???? the value of Z depends on X and Y. so the reson for having a limit for Z is this: if you were to graph the function: z(x,y)=1/sqr(x^2+y^2) you get a flat graph which as you get closer to the origin, goes to infinity. well, dispite the huge (and expensive!!) monitors they are making now days, they haven't made one that can display infinity number of pixels (surprize, surprize...) so 3D graph will graph the function and then "chop off" any points that lie higher (or lower) than the z limit you enter. HOW TO SAVE OR DELETE A GRAPH: ok, this is about as easy as it gets: to save a graph that you have entered........................click the "Save Graph" button. That's it. It will save the formula, and limits currently entered into the appropriate textboxes. To delete one of the graphs listed in the "Saved Graphs..." drop-box, simply select(view) that graph and then click on the "Delete Graph" button. At anyrate, when you quit the program, all changes to the list will be saved to disk for the next time you run 3D Graph. WHAT'S THE "Center graph vertically" CHECKBOX MEAN? the graph is automatically positioned horizontally in the viewing window, but for instance the graph of: z(x,y)=2000 would graph a flat surface 2000 units up. If the checkbox is left unchecked, you would see nothing in the window. But with this checked, the center of all points graphed will be calculated and that center will be in the center of your viewing window. The default is to have this feature on (i'm not sure why you wouldn't want this on ALWAYS, but hey....it's upto you!) AND THE "Scale graph vertically" CHECKBOX? It is usefull to have this checked in the following example. say you graph the function: z(x,y)=x^2+y^2 and you set the Z limit to a large number like 100. The resulting graph is narrow but tall, and you will only see a part of it in the viewing window, to remidy this, make sure this checkbox is checked, and it will automatically scale the graph so that you can see the whole thing...keep in mind that this "squashes" the graph and what you are seeing is NOT porportional. This fuction too can be turned off. so you are asured that every graph you view is porportionally correct, but it makes viewing tall, skinny graphs difficult. THE ZOOM IN/OUT BUTTONS: These do exactly what you think they do...when a graph is visable, click on "Zoom In" to get closer to the graph, and "Zoom Out" to get further away. 3D Graph is automatically calculates the best view and zoom factor for you but if you want to zoom out or in, once again, that's up to you. THE DETAIL SLIDER BAR: This slider bar determines the resolution of the 3D graph. The default value is 10 divisions by 10 divisions. Drag the slider to the right and the resolution increases, left and it decreases. Of course as you increase resolution, you also increase the work 3D Graph has to do and this will slow down the rotation of the graph. The default value of 10 seems to be the best trade off to start with, but once you get the graph you'll be able to tell if you should view it at a higher resolution or not...if you have a Pentium 100Mhz you can boost up the Detail Slider quite a bit before you notice any reduction in speed. The maximum resolution offered it 50 divisions each way this gives about as detailed a graph as possable. Of course you could drag the slider all the way to the left and see 1 division each way....if ya want...that's what the minimum value is. CONCLUSION: I hope you enjoy 3D Graph and I'm always interested in what users are doing with it! Feel free to let me know how you like it, any suggestions you have, or any comments. Jason Melquist RR1 Box 85B Morton, MN 56270 For immediate comments or to contact me personally, you can email me at: jason.melquist@mankato.msus.edu This program was released in March of 1997. Beyond 1997 there will be newer versions/updates so keep an eye out. Also since I only have another year and a half before I graduate from Mankato State U, my address may well change after that time, if it does, a newer version will be out....look for it!!