Skills: Java, Swing, Pair Programming
GitHub link: available upon request
I pair-programmed Excellence in Java (Swing) with Dan Susman for a course called Object Oriented Design. As such, the code is not public but can be made public upon request.
Features include creating, deleting, and modifying shapes as well as creating, modifying, and deleting keyframes to animate these shapes along a timeline. This animation editor can also read from a custom file format to produce a graphical animation. To the right is an example of such a file.
Something both Dan and I were proud of is our implementation of getting a single frame in the graphical animation. Our implementation of a binary search tree via a HashMap allowed us to find the properties a shape should have at the current time in logarithmic time, relative to the number of keyframes a shape went through. In other words, a shape could have millions of keyframes, and the animation player can still find the appropriate properties for that shape in time to play a smooth animation.
Some more screen recordings below if you’re interested.