This project is a keyframe animator written for my Object Oriented Design class in Java using the Java Swing UI library. This was a half-semester-long partner project to create a program that renders animations like the ones below. The animator posed difficult challenges in model design and algorithmic efficiency, evident in the thousands of shapes in the big-bang animation on the left.

The project focused on developing a model-view-controller (MVC) architecture for rendering files describing animations of simple shapes. The animator provides the user with the following features at runtime.

  • Play/pause the animation
  • Move forward/backward in time
  • Adjust the animation speed
  • Play the animation on a loop
  • Toggle the visibility of shapes
  • Change the background color
  • Export the animation with its current configurations as an SVG

The above SVGs were constructed using the animator! Below is a snapshot of the user interface.

If you would like to see the animator code, please reach out! The source is kept private due to course policy.