Force

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.