home *** CD-ROM | disk | FTP | other *** search
- Emath-3D V1.0 DOCUMENT 18.08.1992
- *********************** **********
-
-
-
- DISTRIBUTION NOTICE
- -------------------
-
- This program can be freely distributed provided that the doc file is also
- distributed with the program. No modification is allowed for the program file
- and the doc file. No profit can be made upon this product other than diskette
- and copying expenses without a written permission from me.
-
- This program is a SHAREWARE. If you find the program useful and utilize it
- I ask you to send $10-$20 to the below address. This will make you a registered
- user. The registration will enable you to get new versions of this product
- directly from me. Also I am going to send you other programs that I develop.
- The bug reports are welcomed. If you are going to report a bug please write
- your system's configuration explicitly. For your all contacts please do not
- forget to write your name and address.
-
- My mail address : ( valid forever )
-
- ULTRA A.S.
- Erhan OZTOP
- P.K. 567
- ANTALYA - TURKEY
-
-
- My email address: E63256@TRMETU.BITNET ( valid at least until oct.1993 )
-
- Bug reporting and other questioning can be done by emailing if you have
- network access.
-
-
-
-
- INTRODUCTION TO EMATH-3D V1.0
- -----------------------------
-
- Emath-3D is a mathematical tool, it has been designed to help viewing
- mathematical functions. Using this program, you can plot any ( almost )
- function. The program features
-
- * Both polar and rectangular function evaluation is possible.
- * Various rendering styles are supported.
- * It is possible to view the plotted expression from any angle.
- * Satisfactory grid resolution ( 180x180 is possible if your system has
- enough memory )
- * Different screen modes are supported.
- * Runs on a 512 Kb amiga
- * Appreciatable speed enables reasonable working speed on a standard
- amiga
- * Friendly user interface, all controls are located on a pop up half
- screen.
- * Works on versions 1.2, 1.3, 2.0 , as far as I know.
- * Works on NTSC ( It should at least )
-
- The program can be executed from cli by using below formats. ( assuming
- that the name of the program is Emath )
- 1 ) Emath
- 2 ) Emath <grid>
- 3 ) Emath <x grid> x <y grid>
-
- In case of (1) Emath will allow a maximum of 33 x 33 grid resolution.
- In case of (2) Emath will allow a maximum of <grid> x <grid> grid resolution.
- In case of (3) Emath will allow a maximum of <x grid> x <y grid> grid resolution.
-
- the grid values must be in the range [1..180]
-
-
- THE CONTROL PANEL
- -----------------
-
- * All the controls are located on the pop up half screen. You can toggle the
- screen with right mouse button. Using this button the screen will pop up or
- disappear. The title line of the control panel is used as an information line.
- Information line displays messages, program mode, rendering mode and finally
- the depth of the drawing screen.
- There is a total of 4 expression specific string gadgets. The first one is
- for the rectangular mode, the other three which are initially inactive is used
- by the polar evaluation routine.
- For both polar and rectangular modes, you have two variables named 'x' and 'y'
- which are traced over a user defined rectangle.
-
- The following functions are implemented:
- EXP,LN,LOG,ABS
- SIN,COS,TAN,
- ASIN,ACOS,ATAN,
- SINH,COSH,TANH,
- ASINH,ACOSH,ATANH,
-
- pi (=ATAN(1)*4 ... ) and e (=EXP(1) .. ) are predefined constants.
-
- Standard operator precedence is used in expression evaluation.( association is
- from left to right ) The expression evaluation is not case sensitive. Once you
- have entered an expression it must be evaluated. The EVALUATION button will
- perform this task. The evaluation is grid dependent, that means altering the
- grid parameters as well as any changes to the expression itself will require
- a new evaluation. To see the graphical result of an expression you must use the
- SHOW button. It will perform an evaluation if one is necassary. The four arrows
- will perform a rotation of a number of degrees indicated in the ANGLE STEP
- gadget. The COLORS gadged brings up a color selection menu, with builtin spread
- and copy functions. The grid resolution can be defined using the GRIDX and GRIDY
- gadgets, each defining the number of grid elements in the indicated axis. There
- are four gadgets defining the starting and ending boundries, namely XSTART,
- YSTART, XEND, YEND. The variable 'x' traces x axis from XSTART to XEND while
- the variable 'y' traces y axis from YSTART to YEND.
- In the Blend rendering mode, you have opportunity to locate a light source
- its which coordinates are defined in SOURCEX, SOURCEY, SOURCEZ gadgets.
- The two program modes are toggled by using the MODE gadget. The program
- mode can be POLAR or RECTANGULAR.
-
- The DRAWMODE gadget selects one of the four drawing modes avaliable.
- The drawing modes are:
- * WIREFRAME :No line hiding is performed.
- * NORMAL :Two user selectable colors is used to differentiate the
- bottom and the top of the image drawn.
- * CHEQUERED :A chess board like painting is employed. Bottom/top
- differentiation is provided with a different texture for
- the bottom.
- * BLEND :Grid elements are colored according to their distance to a
- user locatable source. Bottom/top differentiation is as in
- CHEQUERED mode.
-
- There are three gadgets controlling the screen attributes, HIRES, INTERLACE
- and DEPTH. After the desired screen attributes are set it is necassary to
- press CHANGE SCREEN gadget to open the new screen.
-
- The AUTOSHOW gadget enables the autoshow mode where the image is displayed
- after a user manipulation that requires a screen redraw.
-
- Emath-3D will scale the image so that it can fit to the screen. ( Its aspect
- ratio will be preserved.) Emath-3D finds a scale value to scale the image,
- this value can be modified by the OVERSCALE gadget. When this feature is on
- Emath-3D will multiply the value in the OVER SCALE string gadget with the
- actual scale value to find the final scale value to be used for scaling.
- This enables user to resize the image drawn. ( if the overscale value is
- greater than 1 the image will get out of the screen boundries, where as a
- value less than 1 will cause a smaller image to be drawn)
-
- Emath-3D rescales the image, even if a rotation has been done. This can be
- sometimes disturbing. ( The actual projected image will change size as you
- change the angle under which the image is viewed ) To prevent this you can
- use the FIXSCALE gadget. As long as this feature is on the scale value won't
- be recalculated, instead the last scale value that was calculated before, will
- be used.
-
- Xcenter, Ycenter gadgets are used to change the midpoint of the drawing screen.
- A value -10 for Ycenter will shift the image 10 pixels above whereas a value
- of 20 for Xcenter will shift the image 20 pixels to the right.
-
- You can write complex expressions in the gadgets that are used to gather real
- values such as Xstart, Ystart, Xend, Yend gadgets. (Although you can't enter
- long strings) For example you can write cos(e) in the Xstart gadget.
-
- The TERMINATE gadget quits the program.
-
- LEFT ALT key is used to interrupt the rendering operation.
-
-
-
- TECHINICAL NOTES & SYSTEM REQUIREMENTS
- --------------------------------------
-
- * The program requires mathtrans.library in the system disk's libs
- directory. ( actualy in the logical device LIBS: )
-
- * The program will allow user to evaluate functions with a grid resulotion of
- 180x180. But this neends considerable amount of memory. The approximate memory
- required for AxB grid resolution can be given as:
-
- memory needed (A+1)*(B+1)*24 bytes.
- (naturally you must consider the memory required to load in the program
- itself and the chip memory needed for the drawing screen and the pop up half
- screen.
- )
- the main continous memory segments needed are given below
- (A+1)*(B+1)*12 + (A+1)*(B+1)*8 + (A+1)*(B+1)*2 + (A+1)*(B+1)*2 = (A+1)*(B+1)*24
-
- * If the program can't open a 320x256x4 screen it will try to open a
- 320x200x4 screen, this will (I hope) enable the program to run on a ntsc system.
- If the second attempt also fails, the program will not quit. You can use the
- program with that state, even if you cannot render anything on the screen.
- (You can open a screen that will require less memory than the default screen
- using CHANGE SCREEN gadget after setting the screen parameters by using DEPTH,
- HIRES, INTERLACE gadgets. Or you may wish to quit some other tasks running
- on the background to release some memory to be able to open a drawing screen
- )
- * In the rectangular mode the program arranges grid elements ( except for the
- WIREFRAME mode ) so that rendering the elements in that order removes the
- hidden lines. But for the Polar mode one cannot make such a fast arrangement to
- remove the hidden lines. Instead of employing hidden line algorithms , sorting
- is performed. This may take some time if your grid resolution is over 60x60.
- ( acually what is long depends on your system as well as your patience )
-
- * Polar mode evaluation is performed as follows:
- For each pair of x,y values the values of the variables R, teta, beta are
- calculated. Then these values are used to locate a point in the space. teta
- value is used as the meridian value and beta value is used as the parallel
- value on a sphere having radius R.
- Parallel (beta) values range from -pi/2 to pi/2 ( south pole to north pole ).
- Meridian (tata) values range from 0 to 2*pi ( from the first meridian to
- the 360th meridian )
- So if you keep R fixed (say 1)
- trace beta -pi/2 to pi/2
- trace teta 0 to 2*pi
- You'll get a sphere having radius 1. ( just as the default values in the
- gadgets R, teta, beta)
-
- * In case of mathematical error(s) during evaluation, Emath-3D will assign
- zero (0) value as the result of the expression that caused the error. The user
- is going to be warned about the occurance of the error after the evaluation is
- completed.
-
-
- * This program is mainly developed using the MAXON KICK PASCAL V2.0
-
-
-
-
-
-
- CONTACT ADDRESS & GREETINGS
- ---------------------------
-
-
- My mail address : ( valid forever )
-
- ULTRA A.S.
- Erhan OZTOP
- P.K. 567
- ANTALYA - TURKEY
-
-
- My email address: E63256@TRMETU.BITNET ( valid at least until oct.1993 )
-
-
-
-
-
-
- * All programming and design by ERHAN OZTOP .
-
- * Special thanks to
- F. KAGAN GURKAYNAK for his ideas and general assistance.
- ALP KORAY TASDEMIR for his comments and network assistance.
-
-
-
-
- WARRANTY NOTICE
- ---------------
-
- I will be in no way liable for damages, incidental, or consequential,
- arising from the use or misuse of the program, EMath-3D or for any other
- claim by any other party. No warranty ,explicit or implied, is given upon
- the completeness of the program in the sense that it does what it is supposed
- to do. Use the program at your own risk, no responsibilty is undertaken.
-