During college I became addicted to my HP 42S RPN calculator. After a while, I was unable to use non-RPN calculators. The calculator that came with Windows in addition to not being RPN; was awful.
One of the things that I hated about it, was that it either required use of the mouse or else required one to remember lots of unlogical hot key combinations. In order to fix this, I arranged the buttons of the calculator in the same position as the keys of the right side of the keyboard. In this way, simply by looking at the screen, a person would know which keys went with which functions.
I also wanted the calculator to be always handy. So, I placed it on the system tray and gave it the option of being always on top. In this way it could be easily popped up at any time and/or made to hover above other applications.
The application has been extremely useful for me personally. I actually thought it would meet with some success, however, aside from one day when a government agency bought 21 copies, it did not.
During Calculus class back in '89-'90, I was struggling to understand the various functions we were working with, so created a program in line number basic that enabled me to plot the functions visually. At first the program could create only 2D cartesian plots, but before the end of the year I had added basic 3D plotting ability also; although the plots were very slow.
I took up my graphing application again in '95 and redeveloped it as a C++ Windows program. I added polar, cylindrical, spherical and time dependent plots, while greatly improving their performance and accuracy. I also created a screen saver that would allow people to use plots they had created in AepGraph as their screen saver
In '98, I published the application to the Internet, attempting to sell it, however, this didn't go very well.
AepGraph is a fairly odd program. Very quickly, the focus of the program for me was about the visualization and aesthetics of the plots as opposed to utility. I have never added the ability to plot axies or label units or other such analytical features. The purpose of the application was to give a user an intuitive feel or understanding of a function. I would spend hours using the program to explore functions and sculpt images.
There are two ways that I use the program to sculpt images. The first way was to imagine some shape and then think about what the function would be to create that shape. This is quite a good exercising in getting oneself comfortable with working with functions. The other way, is to randomly type functions into AepGraph and see what pops up and then adjust it from there.
My first year at the U of C in 1991, I was struggling with the analytical aspects of Physics. I am an intuitionist; I think in terms of pictures and geometry not in terms of numbers and algebra. In a similar situation, during my calculus class earlier, I wrote a progam in line number basic that allowed me to view functions visually (eventually becoming AepGraph).
I decided to see if I could create a program that would allow me to visualize physics. I had recently started playing with C++ and decided to write Force in C++ in order to make sure it was as fast as possible. I worked on the program off and on from 1991 to 1994, leaving the project in its current state.
Force allows a user to define a set of particles; giving them each a mass, charge and radius. The system will then, using the law of gravitation, Coulomb's law and collisions, animate the system showing how the particles will move. Additionally, for static charges, it will plot electric field lines in 2D and electric potential in 2D or 3D.
Initially, I developed a method for handling the animations myself, which I later learned was known as the Modified Euler method. After a suggestion from the TA of my Chaos class, I got a copy of Numerical Recipies and added Euler, Runge-Kutta 2 and Runge-Kutta 4 numerical solvers to the application.
Force is a DOS based application. My understanding of graphics at the time was very poor and the application suffers because of it. The biggest problem is the lack of double buffering which makes the animations of the various systems flicker intensely. The code itself is comical. I had spent my entire programming life at this point working with line number basic and the application is for the most part a single C method.
Initially, the interface was very painful to use. The summer after I graduated in 1994, I spent some time developing a GUI library for DOS applications, which I started to use in Force. However, I abandoned the library and Force itself when Windows95 came out. I then spent my time learning to program in Windows and developing AepCalc and AepGraph.
Since, that time I have been meaning to rewrite Force for windows, but have never been able to get around to it. One of the reasons is that I have long wanted to expand the application to be much broader in scope. I want to create a universal modeling application that would allow non-developers to model various physical systems. I also want the application to handle proofs. To some degree, I think Shazaam is the embryo of this project. But, obviously, it is ambitious and will take some time.
|© 2015 Aepryus Software, Inc.|