Reality and Illusion
This was a project for the 'Visual Communication' course under Prof. Paul Messsaris.
A group of three:Rohith Ravindranath, Preet Bajwa and myself conducted a research to determine if Graphics in entertainment has reached a point where a naive viewer cannot distinguish between a Real and a Graphically generated image/video. The results showed that more than 70% of the time, viewers could not tell the difference. Even for people in the industry, this figure stood at around 60%
__________________________________________________________________________________________
Maya Plugin - Authoring Tool
In this project I created a fluid (smoke) animation tool titled CASPER - Controlled Animation of Smoke for Producing deformation on suRfaces' and then wrote a Maya plugin for this tool. Using this plugin, a user can create target driven smoke animations which means that if the user specifies a series of desirable shapes (states) for a smoke cloud using images, then the tool will simulate the animation of smoke so that it follows these states. The tool would be useful to create controlled effects for clouds, fog, smoke etc. I and my project partner, Harpreet Bajwa, based our work on two SIGGRAPH papers :
* 'Target Driven Smoke Animation', Raanan Fattal, Dani Lischinski (SIGGRAPH 2004)
* 'Coupling Water and Smoke to Thin Deformable and Rigid Shells', Eran Guendelman, Andrew Selle, Frank Losasso, Ronald Fedkiw (SIGGRAPH 2005)
We initially set out to implement both the papers, hence the title of the tool. However, due to the limited time, we were able to touch upon the second paper only to a limited extent. See design document
Ruhi Sinha ____ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _____ ruhis@seas.upenn.edu
IK/FK Animation Tool
The goal of this project was to get the character to move using forward kinematics as well as Inverse kinrmatics with both quaternion and Euler angle representations of transformation. The skeleton's body joints and motion data were read in from a .bvh file created through Motion Capture. An interpolation function was provided for blending two separate motions of the character stored in separate .bvh files. It essentially gave me hands on experience about developing a real-time animation system.
Particle Systems
This project familiarized me with physically based modeling and particle system dynamics. It helped me understand ordinary differential equations (ODE) and the state space representation as well as how to use them to simulate the dynamics of particles. The partcles were generated dynamically by the user and they behaved like fireworks. Forces such as wind, drag and gravity were applied and the simulation used a simple Eulerian approach.
BSpline Curve Editor
Worked on creating a framework to create curves such as BSlines, Hermite Splines and Bezier Curves. The user can draw Control Points and the program would generate the shape of the resulting cubic curve at every step. The control points can be edited to change the shape. (The tool works much like the cv curve tool available in Maya)
Motion Capture Data
Worked on Motion Capturing at the 'Live Actor System' at the Human Modeling and Simulation(HMS) Lab. I had to wear the MoCap suit and fix sensors on various key joints of my body with the help of a partner. The capture data was then transferred onto an available 3D character model and the motion was then applied onto it. Motion Builder was used for this transfer.
Agent Behaviour Modeling
This project helped in modeling behavioral animation of vehicle-like walking agents. Human behavior such as Seek, Flee, Arrival, Departure, Wander and Obstacle Avoidance were implemented.Group Behaviors such as Seperation, Cohesion, Flocking, Leader-following and Alignment were implemented too.
Geographical Information System
As part of my Final Project during my Undergraduation, I along with a project partner implemeted a realtime mapping system for the city of Jaipur in India. We selected about 300 odd destinations in the city including placesof tourist interest, government offices, educational centers, hotels and restaurants, railway stations, airport, hospitals, temples and other placesof importance and represented the city as a weighted graph. The user could select a single source with one or more destinations to obtain the shortest route/tour. Features included dynamic generation of routes, zooming, panning and depiction of additional information such as contact details or historical importance of certain destinations. We used Dijkstra's Algorithm for calculating shortest paths.
Teaching Assistantship
In the fall of 2006, during my first semester at Upenn, I worked as a Teaching Assistant for Dr. John Pourdehnad for the course - ‘Project Management’. My duties included solving student queries both in and outside class, taking hands on sessions in the computer labs, grading of quizzes, assignments and exams. The course covered both theoretical and practical knowledge about industrial project management practices with assignments such as writing a full-fledged Request for Proposal, a Project Plan and final Project Report.
Infosys Technologies Limited
Worked on a CMMI level 5, J2EE based System Integration project for 2 years at Infosys Technologies Ltd. I was a member of the 'Telenet' team which builds business solutions for the Belgian telecommunications company 'Telenet'. The areas that I worked on included Work Force management, Order Intake, Revenues, CRM, Web Registrations, Networks and others.
I was also the ‘Knowledge Management’ (KM) Anchor for the project wherein I was responsible for knowledge transfers bewteen the team members, documentation of work for reference and meeting KM targets for every quarter. Some interesting work included sending out a technical tip to the team every morning and conducting domain specific quizzes.
Research Assistantship
Currently working as a Research Assistant under Prof. Barry Silverman. Our team is presently working on a Serious Game funded by the U.S. Military. The gameplay aims at familiarizing the military with the Customs, Social, Political and Economic conditions of a foreign country before they are deployed there. The game would essentially qualify as an RPG because the players and the interacting agents have distinct roles.
I am mainly engaged in the development of the User-interface. In the last semester, I was also involved in the design of intelligent game characters.
The game and all the tools are implemented using Python scripting.
I am a Graduate student at the University of Pennsylvania majoring in Computer Graphics and Game Technology (CGGT) and I hold a Bachelor's degree in Computer Engineering from the National Institute of Technology, Jaipur (India).
This webpage is a compilation of my various projects over the graduate course and a brief description of my work experience. You can find my Resume here.

Animation in Maya
This was my first attempt at animation and it turned out to be quite a bummer. I spent more time rigging the 'droppy' character than animating the scene. The character seen at the start of the scene was a downloaded rig from www.highend3d.com .
You can see how I got carried away with the camera animation. The entire 500 frame animation was done in one night and it shows!
3D Game Project
As a part of my independent study, I am working with two other team members on the development of an original 3D games using the Gamebryo engine with PhysX. Our game is called 'BeeSeige' and the goal of the game is to control a swarm of bees and help them to migrate safely across the forest to a new hive. We are using behvioral animation techniques to obtain swarm behavior. The obstacles in the game include 'other' insect clans that are out to kill the bees along their way.
As a primer to this project, I worked on the implementation of the 3D version of the classic Atari game 'Frogger'. It was a fun exercise that introduced me to Gamebryo and its integration with Maya.

Electronic Arts
I had an amzing summer in 2007 when I interned as an engineer for Electronic Arts, Redwood City - in the charming neighborhood of San Fransisco.
From taking on Roadrash challenges as a kid and getting my mom hooked to Need to Speed to working with the hugely talented team at EA - the journey has been unexpected and beyond my imagination.
I worked on EA's recently announced title 'Dead Space' - a third person Sci-fi Horror game (!) where I added new capabilities to the artist tool and got to play with the character animation techniques. This was also my first experience with console development.