Home
Research
Publications
Teaching
Posters
Movies
Links
Computer Graphics
Curriculum Vitae
Contact Information

COMPUTER GRAPHICS

Ray Tracing

 

I wrote my own ray tracer that handles multiple lights and 3D objects in C++.  Here are some pictures rendered with my ray tracer.

The left and right pictures below depict a scene with one and two light sources, respectively.

 

  One light Two Lights  
   

horizontal rule

Animations

I am using C++ and OpenGL to create animations.  With the animation below, I won the contest in my Computer Graphics class.
In order to play my animations, please put glut32.dll in your \Windows\System32 folder or have it in the same folder with the executable. 

Movie Scene

  Download .zip

Here are models of a running tiger and a walking person.  Since these are 3D objects, you may rotate the objects with a mouse during the animation.  After running the file, press 'a' to toggle animation.

  Running tiger   Walking person  
     

horizontal rule

Computer Vision

Error Diffusion

Image processing methods that are not based on partial differential equations are not as powerful as the PDE-based methods, and therefore, their use is limited.  However, due to their speed, they are effective when it is critical to get a result almost instantly (i.e. camera processing of an image, monitor picture conversion.)  Here, I'm using one of such methods, namely error diffusion, which overcomes the lack of intrinsic colors by diffusing the error around the neighboring pixels and making the human eye believe that more colors are present than are really available.  A 24-bit color image (16 million colors) is represented as a 3-bit color image (8 colors) by using pure thresholding and by error diffusion.  Grayscale images can be represented in a similar way.  Error diffusion significantly improves the quality of the picture, making it a better visual approximation of the original image. 

24 bit (16 million colors) 3 bit (8 colors) - Pure Thresholding 3 bit (8 colors) - Error Diffusion
     
8 bit (256 colors) 1 bit (2 colors) - Pure Thresholding 1 bit (2 colors) - Error Diffusion

horizontal rule

Igor Yanovsky