' Author: Simon Dexter, M.A. 
' Project: Kinematics2D 
' Name: Report
' Description: this file contains detailed project history
' Date started: 08/18/08
' Date modified: 
' 08/18/08 11:25 pm 
' 09/15/08 09:50 pm 

08/18/08 11:25 pm
The project started on 07/29/08 as an attempt to simulate physics of 2D shaped objects utilizing DirectDraw capabilities. 
The idea is a direct result of deepening interest in computational mathematics and vector calculus. A similar application 
existed for iPhone at the time this project was started. 

First phase (until 08/18/08) involved encapsulating critical DirectDraw facilities and designing major controlling pumps. 
At the end of first phase, the project consisted of two flows: one is the collision simulation where user can 
manipulate point masses (represented by circles) and the other is simulation of Universal Law of Gravitation where two point masses exert a prototype 
of gravitational force thereby influencing each other's trajectories according to the Kepler/Newton laws. 

The second phase consists of refining the class hierarchy and designing static (shared) methods in PhysicalBody class 
allowing to efficiently handle collisions between various objects. This capability is unthinkable w/o heavy utilization of 
OOP methodology. 

09/15/08 09:50 pm 
New Beam class is a descendant of Edge class representing a line segment. In the future, this segment will be made 
capable of advancing its own position and handling collisions with other objects using torque. 

New Ellipse class is a descendant of Vertex class representing an elliptical shape 	which is treated effectively as a sphere for now. In the future it
will be possible to specify the center of mass and add torque. 

Several very important developments took place. 

For one, the advancePosition subroutine of the vertex now takes care of invoking collision handling
methods of all non-phantom objects within the global objects registry. This allows to exlude the numerous lines of code 
specifying explicit collision handling between every object in the controller loops. 

An important paper describing basic algorithms for physical modeling is "Introduction to Physically Based Modelling.pdf" by
David Baraff. 




Simon Dexter, M.A.
