# Here’s my (previous) personal project

Standard

I wanted to create a simple but mesmerising mobile game, after graduated from my Master degree. But I decided to put everything in back burner, since I struggled to create art style and music myself (yes, I tried to code, draw, and compose everything on my own as part of the learning process).

# Calculating angle and direction between two vectors

Standard

Normally, if we were to find the angle between two vectors, say up-vector and dir-vector, what we would do is to do a dot product between them. Since

$a \cdot b = |a||b| \cos{\theta}$ and

$\cos{\theta} = \frac{a \cdot b}{|a||b|}$

However, since the calculated angle is the smallest / nearest angle between the two vectors, we can’t derive the (rotational) direction of one vector from the other. Thus in the following figure, it’s hard to figure out whether the direction vector is on the left or right of the up vector. The angle between two vectors calculated using dot product is always between 0° to 180°, thus we are not able to derive the direction from it.

# Object segmentation using back projection

Standard

I was frustrated while trying many ways to train my SVM and translating math equations into computer programs so that I could detect human in better ways. So I decided to do something random, like this:

# Simple head tracking

Standard

This is a very simple head-tracking using OpenCV and only Viola Jones’ face detection framework.

Basically the idea is to use face / head tracking to create an immersive 3D experience. This, is of course is still a very early prototype.

I whipped this up in less than an hour, so it’s very dirty and lack of any optimization. You can make the whole thing faster using CamShift algorithm, and some cleanup on the OpenGL codes.

Have fun !