Key Frame Animation

Group Members:

Adhip Agarwal
Roll No. 07005009

Saket P. Patkar
Roll No. 07026002

This assignment was broken into 4 distinct parts. Each part aimed to build on the previous sub-part by adding functionalities to the previous written code.


Part 1-Bezier Curve Designer:

Making a Bezier Curve by allowing the user to define appropriate points for making of a control polygon for the bezier curve and rendering the actual bezier curve in real time by using of the de-Casteljeu algorithm for the generation of the points on the curve.

This part of the assignment was relatively simple to do. Here we had no trouble making the desired bezier curve, but the code was later modified (after the release of the statement for the second part of the assignment) with the change of displaying one axis line to aid in the making of desired lamp-head or any other 3D figure.


Part 2--Object of rotation from the curve:

Making a lamp head by rotation of a predefined appropriate bezier curve and generating a fixed number of curves with a fixed number of sub-pieces and joining them with the help of quadrilaterals to make the surface of the lamp.


Part 3-Modelling a lamp:

Making the complete lamp ( the lamp now has a bulb attached with the head ) by means of Hierarchical modelling ( 3 cylinders for the body and a cone for the base and one cone to attach the lamphead to the top-most cylinder ) and using the lamp head implemented in the previous part and using of a wooden texture for the base of the scene (a table) on which the lamp is placed. The lamp has a total of 11 degrees of freedom and can be moved around for viewing at different angles. The lamp also emits a spot-light if there is no other light source in the scene. Here the table-top texture is aliased as clearly seen in the image.

Part 4-Keyframed Animation:

Making of an animated movie with the help of linear interpolation between keyframes defined by posing the lamp at various appropriate positions and rendering these interpolations in real time so as to complete the animation of the lamp.