Home
Research
Publications
Teaching
Posters
Movies
Computer Graphics
Curriculum Vitae

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

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