                        TRIG-IT Version 2.5 HISTORY
                        ___________________________

Version 1.0:

        TRIG-IT began as my FIRST attempt at ANY sort of programming.  The
first release (version 1.0) only performed calculations on right triangles.
I used it at work for TRIGing tooling designs and finding points in space
on bent tubing designs.  It worked quite well, however something was lacking.
It was then that version 2.0 was born.

Version 2.0:

        I added OBLIQUE Triangle calculations to the program.  This was
quite a task, as there are 19 combinations of sides and angles as "KNOWNS"
with an oblique triangle (as compared to 9 with a right triangle).  I also
had to re-write the code for the first screen so that it showed an oblique
triangle AND a Right triangle and provided the user with the option of 
selecting which type of triangle (s)he wanted to perform calculations on.
This generated the need for an additional screen showing an OBLIQUE triangle
at the top and a MENU of available calculations (based upon the KNOWNS).
I then had to write 19 more sub-routines to perform each of the 19 new
scenarios available.  I also changed the exit screen so that it showed  
the authors name as well as thanking the user for using TRIG-IT.

        There was a GLITCH in this version though...If the user was working
with an oblique triangle, and input values that generated an angle greater 
than 90 degrees, the resulting angle would show up as a negative angle.  The
corrections were made, thus version 2.1 was born.

Version 2.1:

        Version 2.1 not only corrected the aforementioned bug, but there
were some changes made to the screens as well.  The borders were changed
from colors of low intensity to colors of high intensity.  I added the
(c)1993 to the exit screen as well.  

        I was quite happy with the way the program performed until I was 
playing with it one day and found that in the calculations where two sides 
and the angle between them were known (menu selections 7, 9 and 14 from the 
Oblique Triangle screen) another bug existed!  I found that if I input two 
sides, one of them being EXACTLY twice the value of the other, and at the 
same time, the value of the angle I input was 60 degrees, the program would 
attempt to divide by zero.  It was a mathematical problem resulting from the 
attempt to find the tangent of the angle opposite the first side I input.

        As a result, I had to write more code to deal with this situation, 
should it arise, as well as create another error message.  This brought into
existence version 2.2!

Version 2.2:

        Version 2.2 not only corrected the problem mentioned above, I also
included code that allows the user to [Q]uit the program from the first screen,
the Right Angle Menu screen and Oblique Angle Menu Screen.  This involved
changing the variables from integer variables to string variables (yep...
re-writing the code). 



                                   Page 1








Version 2.3:

        Found a BUG in version 2.2 (existed in all previous versions as well).
The "BUG" is simply my forgetting to take into consideration the results
of the user entering an angle GREATER than or EQUAL to 90 degrees (for RIGHT
triangles) or GREATER than or EQUAL to 180 degrees (for Oblique Triangles).
I corrected it and modified one of the error messages to address it.  In order
to do it though, I had to REMOVE the code that caused the message "This is a
RIGHT Triangle!!!" to appear on screen when the user entered values yielding
a 90 degree angle as one of the resulting angles (in the OBLIQUE triangle
sub-routines).  This gave me the LESS THAN 64Kb limit in the compiled version.


Version 2.4

        I separated the program into 4 modules. The INTRO Module (TRIG-IT.EXE) 
exists primarily to execute the INTRODUCTION screen which will be present in 
ALL future releases (unless popular demand dictates otherwise).  From here, the
MAIN Module (TRIG-IT.TRG) is executed.  This way, the user only sees the INTRO
screen upon initial execution of the program and not every time (s)he repeats
the command to try again.  The two NAG screens will come up every time though.
The MAIN module (TRIG-IT.TRG) executes either of 2 executable files 
(POBLIQUE.TRG or PRIGHT.TRG).  These two executable files each run individual 
"Sub-Programs" for TRIG-IT (PRIGHT.TRG runs the program for Plane Right 
Triangles and POBLIQUE.TRG runs the program for Plane Oblique Triangles).  
Selecting [Q]uit form either of these programs brings you back to the MAIN 
module (TRIG-IT.EXE) and you must then exit the program (to DOS) from there.  
Unfortunately, this causes the two "INTRODUCTION" screens to appear each time 
the user switches from Right to Oblique (or vice versa).  All the more reason 
to register the program and eliminate the "NAG" Screens. Version 2.4 now runs
with one (1) key inputs (no need to hit the [ENTER] key after menu selections).

        My reason for doing this is to prepare the program for running NEW
calculations on Spherical Triangles, and/or Compound Angles.  As it stood, 
the compiled version of TRIG-IT version 2.3 was at the 64 Kb limit so I couldn't 
add any more code to it.  This allows me to add as many "Sub-Programs" as I 
wish.  

        The next release will be version 2.5, and will handle Spherical Triangle 
calculations as well.  Following the release of version 2.5, I will be working on 
adding COMPOUND angle calculations as well.  That release will most likely be 
version 3.0 (have to leave a little room for possible "BUGS-FIXED" versions of 
3.0...hopefully NOT!).

Version 2.5

        Well, this isn't the version that will run spherical triangles.  I found
that, after making the program accept 1 key inputs at the menus, if the user wanted
to select a menu option (from the OBLIQUE Triangle menu) with 2 didgits, that the
program would fire menu selection 1 every time.  This is because there are 19
different menu options and the user has to hit the number 1 first for selections
10 thru 19.  I fixed it by changing the INKEY$ command to INPUT$(2). The program
now waits for the user to hit two keys.  For the selections 1 thru 9, the menu
has been changed to reflect selections 01 thru 09. The user can access any of these
9 selections by pressing, for example, 05 (zero then 5) or 5 followed by enter.
For selections 10 thru 11, just press the 2 didgits that make up the selection
number and that selection will fire.  I also found a problem with menu selection
number 05 in the Oblique Triangle program. If the user input Side a as being
greater than Side b, and Angle a as being, say 30 degrees, the program would
yield a NEGATIVE value for Side c and Angle C.  The problem was a missing multiplier
in the formula code.  It has been rectified!  That's about it.  I'm currently
working on Plane (2-D) and Solid (3-D) Geometric formulas and screens for
version 3.0.  After speaking with about 150 different users of TRIG-IT, the concensus
is that there's a GREATER need for GEOMETRIC computations than for Spherical
Triangle computation.  I'm considering changing the name of TRIG-IT Version 3.0
to GEO-TRIG Version 1.0 (due to it's ability to perform Geometry and Trigonometry
calculations).  There are 19 different Plane Geometric figures for which I have
to write coded formulas for all the various configuratins (according to the
number of KNOWNS the user has...or CAN have for each). I'm currently working on
figure #8 (Polygons).  Once completed, I'll have to write code for SOLID figures
(3-D) which will require a great deal more code.  I will make EVERY attempt to
ensure that the release of GEO-TRIG v1.0 (of TRIG-IT v3.0) will be BUG FREE!









                          
                                  HISTORY.TXT       
                                  
                                    Page 2


