Academic Portfolio

Handheld Augmented Reality | CS8803

TEMPLAR is an Augmented Realiy Video Game for the Android Platform. It was developed for the Handheld Augmented Reality class using the Game Engine Unity with C# scripting and the Qualcomm AR SDK as the main tools. The game make used of only one tangible object which is a tracking board, and all the game is projected through that game board.

Game AI | CS4731

The ultimate goal for Robot Arena is to achieve a fine balance between AI components and equipment power, as well as between the difference equipment components themselves, so as to create a deep strategic game in which it is not immediately obvious what the optimal designs are.

Game AI | CS4731

The main objective was the implementation of an AI agent for Ms. Pac-Man and the Ghosts, that can behave in an acceptable manner; that is that these agents can make some logical decisions when playing.The AI was implemented in Java, and use the A* algorithm as the main AI component.

Game AI | CS4731

The objective was to implement the Learning Track for Mario bros, that is, to implement a Machine Learning technique for Mario Bros. For this project I chose Decision Tree Learning (ID3). A Decision Tree is a series of decisions that generate an action based on a set of observations.

Advanced Image Synthesis | CS 7490

This project for the Advanced Image Synthesis class had the objective to simulate lens flare effect in an image automatically. The brightest spot would be found using histograms and then used as a source for the effect. This project was implemented in Java. Lens flares are generated in real life by reflection, scattering and refraction of the light through different lenses.

Computer Animation | CS7496

In this project we formulate the problem of Inverse Kinematics as an unconstrained optimization. For each frame, a pose "q" is solved to be minimized; thus, we solved for a sequence of optimizations to obtain a motion. The input is a C3D file with 3D coordinates for each marker.

Principles of UI Software | CS6456

Development of a pie menu widget, created in Java Swing, which incorporates hierarchy, animation, and mouse-wheel based rotation, in an attempt to extend the usability of the standard pie menu paradigm. This component was implemented from scratch following the MVC model.

Principles of UI Software | CS6456

This Digital Notebook project was implemented using the Java Swing library. The main objective was to create MVC (Model-View-Controller) components from scratch. This small app has different functions such as Pen mode and real time thumbnail visor of the main canvas.

Computer Animation | CS7496

This is a basic implementation of a Unconstrained Rigid Body Simulation (implemented in C++). This project is based on the paper "An Introduction to Physically Based Modeling: Rigid Body Simulations I - Unconstrained Rigid Body Dynamics" by David Baraff.

Computer Graphics | CS3451

This is an introductory project to GSLS (GL Shading Language). Isosurfaces are like the contours on a map except for they are 3D surfaces rather than lines. Contours consist of points on the same height in a terrain. Isosurfaces consist of points that have the same density (intensity) in a 3D image. Here, by a 3D image we mean a 3D array of '3D pixels' (called voxels).

Computer Graphics | CS3451

This is a simple implementation of a Ray Tracing algorithm in C++. It only renders geometric figues suchas triangles, spheres and cubes with a single white light source point and shadows. The program has as an input a text file with a descriptio of the scene.

Computer Graphics | CS3451

This is an introductory project on OpenGL and familiarize with its pipeline concepts. The main function in this project is to read a text file containing triangle information of a 3D model, and display it with a virtual trackball interface. It also features Gouraud shading and line/pint/face rendering.

Computational Photography | CS4475

The main idea was to superimpose CG elements into a real photograph that might be interesting at sight. So I came up with the idea to have some well-known monuments into an Atlanta scenography. By using IBL, I could be able to achieve good rendering quality without spending too much time tweaking lights.

Advanced Image Synthesis | CS 7490

This project for the Advanced Image Synthesis was the analysis and review of a Render Engine. I chose Maxwell Render because its realism. Maxwell render is a rendering engine based on the mathematical equations of light transport, meaning that lights, cameras, materials and emitters are derived from physically accurate models.