Head Tracking

Blitz3D Forums/Blitz3D Programming/Head Tracking

Nigel Brown(Posted 2006) [#1]
Problem:

There are three receivers, positioned as the apexes of a triangle. A single transmitter is positioned in space at a distance above all three receivers, effectively forming a pyramid. A control system measures the distance from each receiver to the transmitter at approximately 22Hz. The output of this system is three numbers which can be assigned more or less any arbitrary range, but in the current implementation give a distance in mm. This ranges from approximately 200 to 450mm.

One side of the triangle faces 'forward'. The three receivers can be labelled left, right, and rear.

The transmitter is constrained to move in a slight arc between the left and right receivers, and in a somewhat tighter arc towards and away from all three receivers, thus giving an 'up-down' motion and a 'left-right' motion. It can move in both planes simultaneously.

The problem is to convert this set of three relative distances to a set of x,y coordinate pairs, preferably 0-255 for each value.

Has anyone got an idea how to solve this? the hardware exsists and just need this 3D issue resolving. I think!


LAB[au](Posted 2006) [#2]
The transmitter is always the apex of the pyramid? Is it centered on the base of the pyramid(triangle), thus constrained in changing orientation, and changing distance to the apex of the pyramid?

Some pictures would be good to understand! I could suggest manipulating directly the frustum but this would be not what you want...

You made me curious... I am using simple gyro/accelerometers headtracking, this works flawlessly but it doesn't have position tracking, only attitude.