Assignment 1: Creating Images in C
Assignment 2: Fractals and Lines
To implement images below we had to create a structure for storing data of an image, functions for manipulating that data and a function for writing an image out.
Julia and Mandelbrot set function iterated over formulas representing a complex plane properties until formula would get to infinity, which was when the final number of iterations was used to choose a pixel color for the output image.
Two images of Julia set here show how when we are zooming onto the image, the shape of the set stays the same.
Assignment 3: Graphics Primitives
Assignment 4: Scanline Fill
Assignment 5: Transformations and Viewing
Here you can enjoy the popular scene from the night sky: "A Falling Star". Feel free to make a wish!) The motion of the star across the image was achieved through implementing a 2-D pipeline, where matrices were manipulated to transform image objects. The top image involves just the translation of the star across the sky. In the second image 2D scaling also added to the scene.
Assignment 7: Z-buffer Rendering + Assignment 6: Hierarchical Modeling System
This orbiting installation is a formation of one big cube rotating around y-axis, while small cubes orbit it rotating around various axis, all put together using the modeling system that let us manipulate scene objects on a higher level. Also z-buffer is used in the image, which means when any of the cubes go out of your sight behind another one, they are not being drawn.
Assignment 8: Shading
Here to the previous image was added the use of Phong shading algorithm. Surface normals and surface locations were interpolated so if a light source was to be placed at some point, the light will be realistically get reflected from the cubes. In the following image the light source is right in front of the image.
Assignment 9: Z-buffer Texture Mapping
To make this Mandelbrot set be mapped onto the center cube, texture coordinates in every pixel of the image were calculated so that the colors withing that area were averaged to give resultant pixel value.