Showing posts with label Graphics. Show all posts
Showing posts with label Graphics. Show all posts

Monday, March 29, 2010

Augmented Reality

Recently I had a computer vision assignment that was loads of fun. The assignment was on calibrating a camera based on images of a calibration grid (checkered board shown below) from different angles.



Once the calibration was done using linear algebra we were able to project clipart images onto the calibration grid. This is the same as the projected advertisements you see on football fields on TV.



Then we augmented images with 3D structures. The first was a 3D cube which looks like its sitting on the calibration grid. Its a bit hard to see the outline of the cube in the image below, so you may want to click on it to view it enlarged. The second is a 3D mesh object which is projected onto the grid.





zoomed in...

Wednesday, February 03, 2010

Indie Games

This semester I'm taking a seminar in video game design and programming. The seminar meets for 3 hours every week and we discuss everything to do with games: from its "fun" appeal (gets psychological sometimes) to game mechanics and dynamics. It's very interesting stuff.

Via this seminar I was introduced to the Indie Game scene. Indie games are the games that are independently developed without the financial support of a video game publisher. Our instructor is an indie gamer himself and was on the team that developed Osmos (link) which won an award at the Independent Games Festival (IGF 2009). Its a really interesting world where pure personal commitment, determination and innovation are displayed in the games. This is due to the fact that most of the developers are part-time and are not being supported financially.

As part of this seminar I'll be designing and creating video game prototypes every single week. I will be uploading them to a website and linking you to them. Please leave your comments.

I'll leave you with snapshots of my first two game prototypes. The first was a game built under the constraint of only using squares and circles. The second had no limitations besides the week to do it in. I even added music and sound effects to the second game. I used opengl and Glut to develop the first game and opengl and SDL (Simple DirectMedia Layer) for the second. Click on each of the snapshots below for an enlarged view.






Sunday, April 20, 2008

Vector Graphics Vs. Raster Graphics

Curiosity killed the Cat! Not in my case - I'm looking into something called Vector Graphics.

Vector graphics...AKA geometric modeling or object-oriented graphics. OOG...hehe.
Vector graphics is the use of geometric primitives like points, lines, curves and polygons which are modeled by mathematical equations to represent images.

Vector graphics is the opposite of Raster Graphics. Raster Graphics is representing an image by an array of pixels (also the technique used for rendering photographic images). This mechanism makes images pixelate as you zoom in, as you can see in the picture below.



This pixelation does not happen with vector graphics. Vector graphics files store the lines, shapes and colors that make up an image as mathematical formulas. A vector graphics program uses the mathematical formulas to construct the screen image by building the best quality image possible, given the screen resolution, from the mathematical data. This is why you see the difference between both techniques in the picture above. Vector graphics render themselves using math equations according to the resolution of the image.

So this is an exceedingly brief look at the two techniques. For a complete and detailed description of the PROs and CONs of each see Wikipedia - Vector Graphics

Stay tuned for more posts...

Saturday, December 01, 2007

Particle Systems

This graphics course has been one of the most enjoyable course I've ever taken. It is something else when you can see what your creating and fiddling around with.

My final project is going to deal with particle systems. Particle systems are what are used to render what are called "fuzzy phenomena". Examples of fuzzy phenomena are: fire, smoke, liquid...etc. These are all quite difficult to render using the conventional rendering methods. The simplest and most basic particle systems is where you represent each particle by a pixel. More complex particle systems represent the particles by 3D meshes or metaballs.

Here are examples of particle systems:



I hope to create scenes like these...

Sunday, November 25, 2007

Tracy

Tonight I submitted Tracy (the final version). I'm satisfied with the outcome of this project. The images Tracy produces is far better than the OpenGL graphics.

In case your wondering, Tracy (Beta version) is my ray tracer. Here's a starter pic:



There she is rendering shading, illumination, reflections, shadows and the whole package. Beautiful isn't it? I hope you agree. Here's another image for those of you who are doubting Tracy.



Take that you paranoid readers out there. It took me quite some time to render these images. Of course I wasn't working full time on it, so maybe thats why.

Now I have my fingers crossed for a proper grade in this and the previous assignment. I still have a neural networks project to do for this coming Sunday (thats in 6 days). Since I'm taking tomorrow off as a rest between the hurricanes, that leaves me with five days. Lets hope for the best.

I'm going to create artificial life. I plan on developing a neural network that controls the actions of small creatures in an artificial environment. I've decided to call these tiny creatures ... I don't know what I'm gonna call them. Have to think of something. The C# neural network library I plan on using was created by a guy called Franck Fleurey and can be found at . I've just taken an initial look at it and downloaded the source code.

This is the time when the hurricanes collide. The time just before the end of the semester, when everything just starts to fall and fall and your left clambering behind. This semester is the last semester I will take courses in. The next semester and the one after will be left for my thesis. Im getting frantic about the thought of thesis. I still havent made up my mind on what field im gonna go for. The ones im surely interested in is AI, graphics and pervasive systems. I believe that anything I do, I will have to apply some AI to.

Lets leave this for further posts where I set out to discover which field to do my thesis in.