Patent ID: 7307617

Claim:
A computer-implemented process for selecting an object within an environment by a user pointing to the object with a pointing device, comprising using a computer to perform the following process actions: ascertaining the orientation of the pointing device in relation to a predefined coordinate system of the environment; ascertaining the location of the pointing device in terms of the predefined coordinate system; using the orientation and location of the pointing device to determine whether the pointing device is being pointed at an object in the environment that is controllable by the computer; and whenever the pointing device is being pointed at a controllable object, selecting that object for future control actions; wherein the process action of using the orientation and location of the pointing device to determine whether the pointing device is being pointed at an object in the environment that is controllable by the computer, comprises the actions of, modeling the location and extent of objects within the environment that are controllable by the computer using 3D Gaussian blobs defined by a location of the mean of the blob in terms of its environmental coordinates and a covariance, for each Gaussian blob, determining whether a ray originating at the location of the pointing device and extending in a direction defined by the orientation of the device intersects the blob, for each Gaussian blob intersected by the ray, ascertaining the value of the Gaussian blob at a point along the ray nearest the location of the mean of the blob, said value representing the probability that the pointing device is pointing at the object associated with the Gaussian blob, identifying which of the probability values associated with the Gaussian blobs is the largest, and designating the object associated with the Gaussian blob from which the largest probability value was derived as being the object that the pointing device is pointing at.