Cursor Positioning via 3D Orientation Projection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current pointing systems, such as 2D computer mice, exhibit discontinuities and unintuitive behavior when the user moves the pointing device beyond the limits of a finite screen, particularly when rotating away from the screen, leading to illogical cursor positions and offsets.
Innovation Solution
The system introduces an intermediate projection surface to map the orientation of a pointing device into a cursor position on a screen, using techniques like Euler angles, rotation matrices, or quaternions, ensuring logical and intuitive cursor behavior by projecting the pointing vector onto a surface that can be finite or infinite, planar, cylindrical, or spherical.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If absolute pointing is used to track the position of the object beyond the limits of the screen, then the position of the cursor can be displayed at the border of the screen in an intuitive manner, but discontinuities and unintuitive behavior occur when the user points far away from the screen or rotates the device 180 degrees
Solution Approach 1:
The patent transitions from 2D screen coordinates to 3D spatial orientation by introducing a reference frame tied to the display surface and using directional vectors with three components. This allows the system to handle pointing directions from all orientations in 3D space, converting them meaningfully to 2D screen positions through projection, thereby resolving the discontinuities that occur when pointing far away from or at 180 degrees from the screen
Solution Approach 2:
The patent accounts for the spherical nature of device orientation by using a reference frame and directional vectors that naturally represent 3D spatial directions. This spherical coordinate approach ensures continuous and intuitive cursor behavior as the user rotates the device through all orientations, including the problematic 180-degree position that caused discontinuities in traditional planar approaches
2Ease of operation
If the cursor position is saturated at the borders of the display in relative pointing, then objects at the edges of the screen are easy to use, but an offset occurs between the cursor position and mouse position when the user reverses direction
Solution Approach 1:
Instead of saturating the cursor at screen borders and losing position information (the traditional approach), the patent inverts the problem by allowing the cursor to be positioned anywhere on the infinite screen and only saturating when necessary for display. This reversal maintains the one-to-one correspondence between device orientation and cursor position, eliminating the offset problem when reversing direction
3Adaptability or versatility
If the same orientation of the pointing device leads to two different positions of the object on the infinite screen, then the system can handle diverse pointing directions, but illogical cursor behavior results
Solution Approach 1:
The patent resolves the ambiguity by changing the parameter representation from simple 2D screen coordinates to 3D directional vectors with three components that define orientation in space. This parameter expansion ensures that each orientation maps to a unique cursor position through consistent projection mathematics, eliminating the illogical behavior where the same device orientation produced different cursor positions
Data Source
AI summary
The invention relates to a processing logic for determining a position of a virtual object on a display configured to: receive from one or more motion sensors motion signals representative of an orientation of a first device and/or a derivative thereof; obtain a first set of data representative of the orientation of the first device based on the motion signals; obtain a second set of data representative of the orientation of the first device based on the motion signals, said second set of data being different from the first set of data; calculate a first candidate position of the virtual object on a display based on the first set of data; calculate a second candidate position of the virtual object on the display based on the second set of data; select one of the first candidate position and the second candidate position as a position of the virtual object on the display.


