IP Library Granted Patent US 9,280,449
Granted Patent B2
US 9,280,449 · App. 13/468,049 · Granted Mar 8, 2016

HIT testing of visual objects

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,280,449
App. No.
13/468,049
Granted
Mar 8, 2016
Kind
B2
Abstract

Various embodiments for hit testing of visual objects are described herein. Data of visual objects is generated in a two-dimensional clip space. The data of visual objects includes two-dimensional projections of the visual objects. Cursor coordinates are transformed into the clip space and bounding box calculations are performed using the transformed cursor coordinates and the generated data. Hit testing is performed when there is a hit on a bounding box of at least one of the visual objects in the clip space. The hit testing is performed in a three-dimensional space. A result is then presented on a user interface based on the hit testing.

Claims (60)

1. An article of manufacture including a non-transitory computer readable storage medium to tangibly store instructions, which when executed by a computer, cause the computer to:

render visual objects in three dimensions on a screen space of a user interface;

generate data for the visual objects in a two-dimensional clip space, wherein the data includes transformed two-dimensional coordinates indicating locations of the visual objects corresponding to the rendered visual objects;

obtain cursor coordinates from a user interaction with the screen space indicating a location of a cursor;

transform the cursor coordinates into the two-dimensional clip space;

perform bounding box calculations in the clip space using the transformed cursor coordinates and the generated data, wherein the bounding box calculations comprise a calculation of a minimum bounding box that encloses a visual object from the visual objects projected in the two-dimensional clip space;

determine whether there is a hit of the transformed cursor coordinates on at least one minimum bounding box of at least one of the visual objects in the two-dimensional clip space;

perform hit testing when there is a hit on at least one minimum bounding box of at least one of the visual objects in the two-dimensional clip space, wherein the hit testing is performed in a three-dimensional space and comprises:

representing a visual object with three dimensions in the three-dimensional space correspondingly to the rendering on the screen space;

converting the location of the cursor from the screen space in three dimensions in the three-dimensional space;

defining a three-dimensional bounding box in the three-dimensional space for the visual object by including a third dimension to a minimum bounding box for the visual object defined in the two-dimensional clip space;

creating a line in the three-dimensional space based on the converted location of the cursor and a view direction of the three-dimensional space; and

determining a hit on the visual object when the line intersects the three-dimensional bounding box of the visual object in the three-dimensional space; and

present a result on a user interface based on the hit testing.

2. The article of manufacture of claim 1 , further comprising instructions which when executed by the computer further causes the computer to:

reducing the number of vertices of the visual objects before generating the data.

3. The article of manufacture of claim 1 , wherein the projections of the visual objects are two-dimensional projections based on three-dimensional data of the visual objects.

4. The article of manufacture of claim 1 , wherein a central processing unit performs the bounding box calculations and the hit testing and a graphics processing unit (GPU) renders the visual objects on the user interface and generates the data of the visual objects in the two-dimensional clip space.

5. The article of manufacture of claim 1 , wherein the visual objects have same geometry.

6. The article of manufacture of claim 1 , wherein the projected visual objects include up to five vertices.

7. A computer-implemented method for hit testing, the method comprising:

rendering visual objects in three dimensions on a screen space of a user interface;

generating data for the visual objects in a two-dimensional clip space by a graphics processing unit (GPU), wherein the data includes transformed two-dimensional coordinates indicating locations of the visual objects corresponding to the rendered visual objects;

obtaining cursor coordinates from a user interaction with the screen space indicating a location of a cursor;

transforming the cursor coordinates into the two-dimensional clip space;

performing bounding box calculations in the clip space using the transformed cursor coordinates and the generated data, wherein the bounding box calculations comprise a calculation of a minimum bounding box that encloses a visual object from the visual objects projected in the two-dimensional clip space;

determining whether there is a hit of the transformed cursor coordinates on at least one minimum bounding box of at least one of the visual objects in the two-dimensional clip space;

performing hit testing when there is a hit on at least one minimum bounding box of at least one of the visual objects in the two-dimensional clip space, wherein the hit testing is performed by a central processing unit in a three-dimensional space and comprises:

representing a visual object with three dimensions in the three-dimensional space correspondingly to the rendering on the screen space;

converting the location of the cursor from the screen space in three dimensions in the three-dimensional space;

defining a three-dimensional bounding box in the three-dimensional space for the visual object by including a third dimension to a minimum bounding box for the visual object defined in the two-dimensional clip space;

creating a line in the three-dimensional space based on the converted location of the cursor and a view direction of the three-dimensional space; and

determining a hit on the visual object when the line intersects the three-dimensional bounding box of the visual object in the three-dimensional space; and

presenting a result on a user interface based on the hit testing.

8. The method of claim 7 , further comprising reducing the number of vertices of the visual objects before generating the data.

9. The method of claim 7 , wherein the projections of the visual objects are two-dimensional projections based on three-dimensional data of the visual objects.

10. The method of claim 7 , wherein the central processing unit performs the bounding box calculations and the graphics processing unit (GPU) renders the visual objects on the user interface.

11. The method of claim 7 , wherein the visual objects have same geometry.

12. The method of claim 7 , wherein the projected visual objects include up to five vertices.

13. A computer system for hit testing, comprising:

a computer memory to store program code; and

a processor to execute the program code to:

render visual objects in three dimensions on a screen space of a user interface;

generate data for the visual objects in a two-dimensional clip space, wherein the data includes transformed two-dimensional coordinates indicating locations of the visual objects corresponding to the rendered visual objects;

obtain cursor coordinates from a user interaction with the screen space indicating a location of a cursor;

transform the cursor coordinates into the two-dimensional clip space;

perform bounding box calculations in the clip space using the transformed cursor coordinates and the generated data, wherein the bounding box calculations comprise a calculation of a minimum bounding box that encloses a visual object from the visual objects projected in the two-dimensional clip space;

determine whether there is a hit of the transformed cursor coordinates on at least one minimum bounding box of at least one of the visual objects in the two-dimensional clip space;

perform hit testing when there is a hit on at least one minimum bounding box of at least one of the visual objects in the two-dimensional clip space, wherein the hit testing is performed in a three-dimensional space and comprises:

representing a visual object with three dimensions in the three-dimensional space correspondingly to the rendering on the screen space;

converting the location of the cursor from the screen space in three dimensions in the three-dimensional space;

defining a three-dimensional bounding box in the three-dimensional space for the visual object by including a third dimension to a minimum bounding box for the visual object defined in the two-dimensional clip space;

creating a line in the three-dimensional space based on the converted location of the cursor and a view direction of the three-dimensional space; and

determining a hit on the visual object when the line intersects the three-dimensional bounding box of the visual object in the three-dimensional space; and

present a result on a user interface based on the hit testing.

14. The system of claim 13 , wherein the processor further executes the program code to:

reduce the number of vertices of the visual objects before generating the data.

15. The system of claim 13 , wherein the projections of the visual objects are two-dimensional projections based on three-dimensional data of the visual objects.

16. The system of claim 13 , wherein a central processing unit performs the bounding box calculations and the hit testing and a graphics processing unit (GPU) renders the visual objects on the user interface and generates the data of the visual objects in the two-dimensional clip space.

17. The system of claim 13 , wherein the visual objects have same geometry.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2013
From: ROEGELEIN, ULRICH; GATTER, JUERGEN; GOZLINSKI, MARTINA; MUELLER, WOLFGANG; PEISL, SIEGFRIED; RATH, RALF; REIMITZ, UWE
To: SAP AG
Reel/Frame 030211/0648 →