Wireless 3D Tracking project.

I am just wondering how this program works with the device? Is there a simple way i could make a more simplified version (i'm new to c++) that prints the value, or position of my hand , on the serial monitor?

Here is the project website

here is the confusing code, confusing in the sense that I do not understand how it gets the position of your hand in the box.

//
// By Kyle McDonald
// From the instructables project at:
// http://www.instructables.com/id/DIY-3D-Controller/

#define resolution 8
#define mains 50 // 60: north america, japan; 50: most other places

#define refresh 2 * 1000000 / mains

void setup() {
  Serial.begin(115200);

  // unused pins are fairly insignificant,
  // but pulled low to reduce unknown variables
  for(int i = 2; i < 14; i++) {
    pinMode(i, OUTPUT);
    digitalWrite(i, LOW);
  }

  for(int i = 8; i < 11; i++)
    pinMode(i, INPUT);

  startTimer();
}

void loop() {  
  Serial.print(time(8, B00000001), DEC);
  Serial.print(" ");
  Serial.print(time(9, B00000010), DEC);
  Serial.print(" ");
  Serial.println(time(10, B00000100), DEC);

} 

long time(int pin, byte mask) {
  unsigned long count = 0, total = 0;
  while(checkTimer() < refresh) {
    // pinMode is about 6 times slower than assigning
    // DDRB directly, but that pause is important
    pinMode(pin, OUTPUT);
    PORTB = 0;
    pinMode(pin, INPUT);
    while((PINB & mask) == 0)
      count++;
    total++;
  }
  startTimer();
  return (count << resolution) / total;
}

extern volatile unsigned long timer0_overflow_count;

void startTimer() {
  timer0_overflow_count = 0;
  TCNT0 = 0;
}

unsigned long checkTimer() {
  return ((timer0_overflow_count << 8) + TCNT0) << 2;
}

confusing in the sense that I do not understand how it gets the position of your hand in the box.

It uses three capacitive sensors mounted orthogonally, it reads each sensor to get a value and then uses that as the three dimensional coordinates for your hand.
Basically it outputs 5V onto the plates of the capacitor to charge it up and then it times how long it takes to discharge. It discharges quicker when your hand is closer.

It is not a very good or reliable set up and is more of a demonstration than a serious application.