A method for controlling a game program comprising the steps of:
- manipulating a physical object within a field of view of a single video camera connected to a processing unit having a memory area and a display wherein said physical object comprises a cylinder having a solid color;
- supplying two-dimensional pixel information picked up by said video camera to said processing unit;
- extracting at least one pixel group from said two-dimensional pixel information which corresponds to the physical object;
- determining a set of parameters from said at least one pixel group which define a two-dimensional geometric shape wherein said geometric shape defined by said extracted pixel group is a four-sided polygon;
- executing a predetermined algorithm on said set of parameters to map the definition of said two-dimensional geometric shape to a three-dimensional definition of a geometric volume, thereby providing a description of said geometric volume in three dimensions which corresponds to the position and orientation of the said manipulated physical object wherein said predetermined algorithm comprises the steps of:
- determining a length l of said pixel group;
- determining at least two widths w1 and w2 of said pixel group at different lengths along said pixel group;
- determining an inclination θ of the object in the X-Y plane of the image between the Y axis and said length l;
- determining an inclination Φ of the object in the Y-Z plane based on a ratio w1:w2 of said two widths;
- and
- determining a depth Z of the object based on a phi-weighted length lφ of the pixel group or a phi-weighted number Nφ of the total number of pixels making up the pixel group;
- storing said three-dimensional definition in said memory;
- and
- using said description of said geometric volume to control action shown on said display.