I created an Animations Interpreter to read a simple graphics domain-specific language (DSL) and create/display animations. I followed a Model View Controller architecture in order to loosely couple the animation technology with the animation instructions so that new technologies can be easily supported. The model controlled logical consistency in the Animations (eg. a shape cannot turn red and blue at the same time). The controller handled the business logic, and the views handled visual display. I created three views, each usable with the same model and controller. One view supported SVG output, another created text descriptions of the images, and another displayed the animations in a JSwing window (which also had interactive features like scrubbing, changing the background color, and manipulating which shapes are visible).
Tech: Java, JSwing
If you'd like to see the code, please feel free to email me.