2D

  • Seam Carving Image Resizer

    Click Here to view the source code. Click Here to view the breakdown in slides. Content-Aware Image Resizing While editing images, it is often difficult to retain the crucial content while cropping or resizing. Seam carving, a graphical application of dynamic programming, is an image-resizing algorithm that maintains important elements. The algorithm locates and…

  • Scene Graph

    This Red Jay Scene Graph was my first introduction to advanced concepts in C++, including inheritance and polymorphism, as well as graphics and UI tool-building. Leveraging linear algebra transformation sequences, I created a tree data structure wherein each node contains a transformation matrix, and child nodes inherit the transformations of their parent nodes. The result…

  • Fourier Drawing Tool

    Artist’s Horse Sketch Goal: Convey artists’ dynamic drawing process. I.e. blocking, sketching, refining. I’ve always loved drawing horses for their beautiful movement and figure. I’ve also been fascinated with the artistic drawing process, in which an artist begins by placing a rough sketch before refining and detailing. Thus, using my Fourier Drawing Tool (explained…

  • Frogger Arcade Game

    Java recreation of classic 1981 arcade game “Frogger.” I coded the game using Java in IntelliJ and painted the assets were drawn in Photoshop. Java Swing was used to build the GUI. The object of the game is to use the arrow keys to move three frogs, one at a time, from the bottom…