IP Library Granted Patent US 7,580,036
Granted Patent B2
US 7,580,036 · App. 11/401,349 · Granted Aug 25, 2009

Detail-in-context terrain displacement algorithm with optimizations

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 7,580,036
App. No.
11/401,349
Granted
Aug 25, 2009
Kind
B2
Abstract

A method for generating a presentation of a region-of-interest in a terrain data representation for display on a display screen, comprising: translating each point of the representation within a lens bounds to a rotated plane being normal to a vector defined by a position for the region-of-interest with respect to a base plane for the representation and an apex above the base plane, the lens bounds defining a shoulder region at least partially surrounding a focal bounds defining a focal region in which the position is located, each point having a respective height above the base plane; displacing each translated point from the rotated plane by a function of the respective height and a magnification for the focal region, the magnification varying across the shoulder region in accordance with a drop-off function; rotating each displaced point toward a viewpoint for the region-of-interest to maintain visibility of each displaced point and each point of the data representation beyond the lens bounds when viewed from the viewpoint; and, adjusting each rotated point corresponding to the shoulder region to provide a smooth transition to the data representation beyond the lens bounds.

Claims (40)

1. A method for generating a presentation of a region-of-interest in a terrain data representation for display on a display screen of a data processing system, comprising:

translating each point of the representation, by the data processing system, within a lens bounds to a rotated plane being normal to a vector defined by a position for the region-of-interest with respect to a base plane for the representation and an apex above the base plane, the lens bounds defining a shoulder region at least partially surrounding a focal bounds defining a focal region in which the position is located, each point having a respective height above the base plane;

displacing each translated point from the rotated plane, by the data processing system, by a function of the respective height and a magnification for the focal region, the magnification varying across the shoulder region in accordance with a drop-off function;

rotating each displaced point, by the data processing system, toward a viewpoint for the region-of-interest to maintain visibility of each displaced point; and

adjusting each rotated point corresponding to the shoulder region, by the data processing system, to provide a smooth transition to the data representation beyond the lens bounds.

2. The method of claim 1 and further comprising projecting each adjusted point within the shoulder region, each rotated point within the focal region, and each point of the representation beyond the lens bounds onto a plane in a direction aligned with the viewpoint to produce the presentation.

3. The method of claim 2 and further comprising displaying the presentation on the display screen.

4. The method of claim 3 wherein the translating of each point further comprises determining a maximum translation for a point on the lens bounds and determining a translation for each point within the lens bounds by scaling the maximum translation in accordance with a distance of each point from the lens bounds.

5. The method of claim 3 wherein the function is a product of the magnification and a difference between a magnitude of a vector defined by an origin of the representation with respect to the base plane and the viewpoint and the respective height.

6. The method of claim 3 wherein the rotating of each displaced point further comprises determining an axis of rotation for the rotating from a cross product of a vector defined by an origin of the representation with respect to the base plane and the viewpoint and a vector defined by the origin and the apex.

7. The method of claim 3 wherein the adjusting of each rotated point corresponding to the shoulder region further comprises adding to each rotated point a weighted average of first and second difference vectors scaled by the drop-off function, the first and second difference vectors corresponding to a difference between first and seconds points on the lens bound and corresponding first and second displaced points, respectively, the first and second points being on a line drawn through the rotated point.

8. The method of claim 1 and further comprising approximating the representation with a mesh.

9. The method of claim 1 and further comprising approximating the respective height using height information from surrounding points.

10. A system comprising:

a processor; and

a module that is executable on the processor for translating each point of a terrain data representation within a lens bounds of a presentation of a region-of-interest, for display on a display screen, to a rotated plane being normal to a vector defined by a position for the region-of-interest with respect to a base plane for the representation and an apex above the base plane, the lens bounds defining a shoulder region at least partially surrounding a focal bounds defining a focal region in which the position is located, each point having a respective height above the base plane;

a module that is executable on the processor for displacing each translated point from the rotated plane by a function of the respective height and a magnification for the focal region, the magnification varying across the shoulder region in accordance with a drop-off function;

a module that is executable on the processor for rotating each displaced point toward a viewpoint for the region-of-interest to maintain visibility of each displaced point; and

a module that is executable on the processor for adjusting each rotated point corresponding to the shoulder region to provide a smooth transition to the data representation beyond the lens bounds.

11. The system of claim 10 and further comprising a module for projecting each adjusted point within the shoulder region, each rotated point within the focal region, and each point of the representation beyond the lens bounds onto a plane in a direction aligned with the viewpoint to produce the presentation.

12. The system of claim 11 and further comprising a module for displaying the presentation on the display screen.

13. The system of claim 12 wherein the module for translating each point further comprises a module for determining a maximum translation for a point on the lens bounds and for determining a translation for each point within the lens bounds by scaling the maximum translation in accordance with a distance of each point from the lens bounds.

14. The system of claim 12 wherein the function is a product of the magnification and a difference between a magnitude of a vector defined by an origin of the representation with respect to the base plane and the viewpoint and the respective height.

15. The system of claim 12 wherein the module for rotating each displaced point further comprises a module for determining an axis of rotation for the rotating from a cross product of a vector defined by an origin of the representation with respect to the base plane and the viewpoint and a vector defined by the origin and the apex.

16. The system of claim 12 wherein the module for adjusting each rotated point corresponding to the shoulder region further comprises a module for adding to each rotated point a weighted average of first and second difference vectors scaled by the drop-off function, the first and second difference vectors corresponding to a difference between first and seconds points on the lens bound and corresponding first and second displaced points, respectively, the first and second points being on a line drawn through the rotated point.

17. The system of claim 10 and further comprising a module for approximating the representation with a mesh.

18. The system of claim 10 and further comprising a module for approximating the respective height using height information from surrounding points.

19. One or more tangible computer-readable media having stored thereon, computer-executable instructions that, if executable by a data processing system, cause the data processing system to perform a method comprising:

translating each point of a terrain data representation within a lens bounds of a presentation of a region-of-interest, for display on a display screen, to a rotated plane being normal to a vector defined by a position for the region-of-interest with respect to a base plane for the representation and an apex above the base plane, the lens bounds defining a shoulder region at least partially surrounding a focal bounds defining a focal region in which the position is located, each point having a respective height above the base plane;

displacing each translated point from the rotated plane by a function of the respective height and a magnification for the focal region, the magnification varying across the shoulder region in accordance with a drop-off function;

rotating each displaced point toward a viewpoint for the region-of-interest to maintain visibility of each displaced point; and

adjusting each rotated point corresponding to the shoulder region to provide a smooth transition to the data representation beyond the lens bounds.

20. The tangible computer-readable media of claim 19 and further comprising projecting each adjusted point within the shoulder region, each rotated point within the focal region, and each point of the representation beyond the lens bounds onto a plane in a direction aligned with the viewpoint to produce the presentation.

21. The tangible computer-readable media of claim 20 and further comprising displaying the presentation on the display screen.

22. The tangible computer-readable media of claim 21 wherein the translating of each point further comprises determining a maximum translation for a point on the lens bounds and determining a translation for each point within the lens bounds by scaling the maximum translation in accordance with a distance of each point from the lens bounds.

23. The tangible computer-readable media of claim 21 wherein the function is a product of the magnification and a difference between a magnitude of a vector defined by an origin of the representation with respect to the base plane and the viewpoint and the respective height.

24. The tangible computer-readable media of claim 21 wherein the rotating of each displaced point further comprises determining an axis of rotation for the rotating from a cross product of a vector defined by an origin of the representation with respect to the base plane and the viewpoint and a vector defined by the origin and the apex.

25. The tangible computer-readable media of claim 21 wherein the adjusting of each rotated point corresponding to the shoulder region further comprises adding to each rotated point a weighted average of first and second difference vectors scaled by the drop-off function, the first and second difference vectors corresponding to a difference between first and seconds points on the lens bound and corresponding first and second displaced points, respectively, the first and second points being on a line drawn through the rotated point.

26. The tangible computer-readable media of claim 19 and further comprising approximating the representation with a mesh.

27. The tangible computer-readable media of claim 19 and further comprising approximating the respective height using height information from surrounding points.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2023
From: MIND FUSION, LLC
To: ACCESSIFY, LLC
Reel/Frame 064357/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2023
From: INTELLECTUAL VENTURES ASSETS 186 LLC
To: MIND FUSION, LLC
Reel/Frame 064271/0001 →
SECURITY INTEREST Recorded Mar 24, 2023
From: MIND FUSION, LLC
To: INTELLECTUAL VENTURES ASSETS 191 LLC; INTELLECTUAL VENTURES ASSETS 186 LLC
Reel/Frame 063295/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2023
From: CALLAHAN CELLULAR L.L.C.
To: INTELLECTUAL VENTURES ASSETS 186 LLC
Reel/Frame 062708/0463 →
MERGER Recorded Dec 6, 2015
From: NOREGIN ASSETS N.V., L.L.C.
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 037220/0255 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2009
From: TIGGES, MARK H.A.; MONTAGNESE, CATHERINE
To: IDELIX SOFTWARE INC.
Reel/Frame 022207/0816 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2009
From: IDELIX SOFTWARE INC.
To: NOREGIN ASSETS N.V., L.L.C.
Reel/Frame 022127/0727 →