IP Library Granted Patent US 10,162,471
Granted Patent B1
US 10,162,471 · App. 13/631,097 · Granted Dec 25, 2018

Technique to dynamically enhance the visualization of 3-D point clouds

Inventor: Benoit Fredericque (Bouvron, FR)
Assignee: Bentley Systems, Incorporated
G06F3/048G06F1/00
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 10,162,471
App. No.
13/631,097
Granted
Dec 25, 2018
Kind
B1
Abstract

In one embodiment, a tool dynamically highlights (e.g., re-colors) portions (e.g., points) of a 3-D representation (e.g., point cloud) based on their location relative to a cursor controlled by the user. A virtual region (e.g., virtual cylinder) is associated with the location of the cursor, and is moved in response to cursor movements. As the user moves the cursor on the display screen, the virtual region is moved in 3-D space. The virtual region may have a user-selected size and a user-selected orientation in 3-D space. Portions (e.g., points) of the 3-D representation (e.g., point cloud) that fall within the virtual region are highlighted (e.g., re-colored). Portions of the representation outside of the virtual region may remain unchanged. As the virtual region is moved in 3-D space, the highlighted portions (e.g., points) are dynamically changed.

Claims (70)

1. A method for visualizing a three-dimensional (3-D) representation, comprising:

displaying at least a part of the 3-D representation within a user interface of an application shown on a display screen of an electronic device;

determining a user-selected size based on input in the user interface of the application;

displaying a cursor within the user interface that is associated with a point within 3-D space of the 3-D representation, the cursor controlled by a pointing device of the electronic device;

imposing, by the application, a 3-D virtual region that surrounds the point associated with the cursor within 3-D space of the 3-D representation, the 3-D virtual region defined in reference to a cursor plane that extends through the point associated with the cursor and a normal vector that extends from the point associated with the cursor in a direction that determines the orientation of the 3-D virtual region, the 3-D virtual region having a forward part located to a forward side of the cursor plane in the direction of the normal vector and a backward part located to a backward side of the cursor plane away from the direction of the normal vector, the 3-D virtual region having the user-selected size;

in response to the 3-D virtual region, highlighting, by the application, portions of the 3-D representation that fall within the 3-D virtual region, while maintaining all portions of the 3-D representation outside of the 3-D virtual region unchanged; and

dynamically changing the highlighted portions of the 3-D representation as the 3-D virtual region is moved in response to changes in position of the cursor.

2. The method of claim 1 , wherein the 3-D representation is a point cloud and each portion of the 3-D representation is a point.

3. The method of claim 1 , wherein the 3-D virtual region is a virtual cylinder.

4. The method of claim 1 , wherein the highlighting comprises re-coloring.

5. The method of claim 1 , wherein the pointing device is a 2-D pointing device.

6. A method for visualizing a three-dimensional (3-D) representation, comprising:

displaying at least a part of the 3-D representation within a user interface of an application shown on a display screen of an electronic device;

determining a user-selected size based on input in the user interface of the application;

displaying a cursor within the user interface that is associated with a point within 3-D space of the 3-D representation, the cursor controlled by a pointing device of the electronic device;

imposing, by the application, a 3-D virtual region that is defined in reference to a cursor plane that extends through the point associated with the cursor and a normal vector that extends from the point associated with the cursor in a direction that determines the orientation of the 3-D virtual region, the 3-D virtual region having at least an on plane part that encompasses a threshold distance from the cursor plane, a forward part located to a forward side of the cursor plane in the direction of the normal vector and a backward part located to a backward side of the cursor plane away from the direction of the normal vector; and

highlighting, by the application, portions of the 3-D representation that fall within the 3-D virtual region, wherein the highlighting highlights portions of the 3-D representation that fall within the on plane part of the 3-D virtual region with respect to the cursor plane in a first manner, highlights portions of the 3-D representation that fall within the forward part of the 3-D virtual region with respect to the cursor plane in a second manner, the second manner different than the first manner, and highlights portions of the 3-D representation that fall within the backward part of the 3-D virtual region with respect to the cursor plane in a third manner, the third manner different than both the first manner and the second manner.

7. The method of claim 6 , wherein the first manner comprises re-coloring with a first color, the second manner comprises re-coloring with a second color that is different than the first color, and the third manner comprises re-coloring with a third color that is different than both the first color and the second color.

8. The method of claim 6 , wherein the 3-D virtual region is a virtual cylinder, and the on plane part, forward part, and backward part are each cylinder segments.

9. The method of claim 8 , when the user-selected size comprises a height and a radius.

10. The method of claim 6 , wherein the cursor plane bisects the 3-D virtual region.

11. The method of claim 10 , wherein the point associated with the cursor is located at a position of a pointer, the pointer configured to snap to the position of a portion of the 3-D representation when the cursor is within a threshold distance of a projection of the portion.

12. An apparatus to visualize a three-dimensional (3-D) representation, comprising:

a display screen configured to display a user interface;

a pointing device configured to move a cursor within the user interface;

a processor; and

a memory coupled to the processor and configured to store instructions for an application that is executable on the processor, the instructions for the application, when executed, operable to:

display at least a part of the 3-D representation within the user interface on the display screen,

display the cursor within the user interface that is associated with a point within 3-D space of the 3-D representation,

impose a 3-D virtual region that surrounds the point associated with the cursor, the 3-D virtual region defined in reference to a cursor plane that extends through the point associated with the cursor and a normal vector that extends from the point associated with the cursor in a direction that determines the orientation of the 3-D virtual region, the 3-D virtual region having a forward part located to a forward side of the cursor plane in the direction of the normal vector and a backward part located to a backward side of the cursor plane away from the direction of the normal vector,

in response to the 3-D virtual region, highlight portions of the 3-D representation that fall within the 3-D virtual region, while maintaining all portions of the 3-D representation outside of the 3-D virtual region unchanged, and

dynamically change the highlighted portions of the 3-D representation as the 3-D virtual region is moved in response to changes in position of the cursor.

13. The apparatus of claim 12 , wherein the 3-D representation is a point cloud and each portion of the 3-D representation is a point.

14. The apparatus of claim 12 , wherein the 3-D virtual region is a virtual cylinder.

15. The apparatus of claim 12 , wherein the instructions for the application that, when executed, are operable to highlight are arranged to re-color portions of the 3-D representation.

16. An apparatus to visualize a three-dimensional (3-D) representation, comprising:

a display screen configured to display a user interface;

a pointing device configured to move a cursor within the user interface;

a processor; and

a memory coupled to the processor and configured to store instructions for an application that is executable on the processor, the instructions for the application, when executed, operable to:

display at least a part of the 3-D representation within the user interface on the display screen,

display the cursor within the user interface that is associated with a point within 3-D space of the 3-D representation,

impose a 3-D virtual region that is defined in reference to a cursor plane that extends through the point associated with the cursor and a normal vector that extends from the point associated with the cursor in a direction that determines the orientation of the 3-D virtual region, the 3-D virtual region having at least an on plane part that encompasses a threshold distance from the cursor plane, a forward part located to a forward side of the cursor plane in the direction of the normal vector and a backward part located to a backward side of the cursor plane away from the direction of the normal vector,

highlight portions of the 3-D representation that fall within the on plane part of the 3-D virtual region with respect to the cursor plane in a first manner, highlight portions of the 3-D representation that fall within the forward part of the 3-D virtual region with respect to the cursor plane in a second manner, the second manner different than the first manner, and highlight portions of the 3-D representation that fall within the backward part of the 3-D virtual region with respect to the cursor plane in a third manner, the third manner different than both the first manner and the second manner, and

dynamically change the highlighted portions of the 3-D representation as the 3-D virtual region is moved in response to changes in position of the cursor.

17. The apparatus of claim 16 , wherein the first manner comprises re-coloring with a first color, the second manner comprises re-coloring with a second color that is different than the first color, and the third manner comprises re-coloring with a third color that is different than both the first color and the second color.

18. A non-transitory computer-readable medium that includes instructions executable on a processor, the instructions, when executed, operable to:

display at least a part of the 3-D representation within a user interface of an application shown on a display screen of an electronic device;

display a cursor controlled by a pointing device of the electronic device within the user interface, the cursor associated with a point within 3-D space of the 3-D representation;

impose a 3-D virtual region that surrounds the point associated with the cursor within 3-D space of the 3-D representation, the 3-D virtual region defined in reference to a cursor plane that extends through the point associated with the cursor and a normal vector that extends from the point associated with the cursor in a direction that determines the orientation of the 3-D virtual region, the 3-D virtual region having a forward part located to a forward side of the cursor plane in the direction of the normal vector and a backward part located to a backward side of the cursor plane away from the direction of the normal vector;

in response to imposing the 3-D virtual region, highlight portions of the 3-D representation that fall within the 3-D virtual region, while maintaining portions of the 3-D representation outside of the 3-D virtual region unchanged; and

dynamically change the highlighted portions of the 3-D representation as the 3-D virtual region is moved in response to changes in position of the cursor.

19. The non-transitory computer-readable medium of claim 18 , wherein the 3-D representation is a point cloud and each portion of the 3-D representation is a point.

20. A non-transitory computer-readable medium that includes instructions executable on a processor, the instructions, when executed, operable to:

display at least a part of the 3-D representation within a user interface of an application shown on a display screen of an electronic device;

display a cursor controlled by a pointing device of the electronic device within the user interface, the cursor associated with a point within 3-D space of the 3-D representation;

impose a 3-D virtual region that is defined in reference to a cursor plane that extends through the point associated with the cursor and a normal vector that extends from the point associated with the cursor in a direction that determines the orientation of the 3-D virtual region, the 3-D virtual region having at least a first part located to a first side of the cursor plane in the direction and a second part located to a second side of the cursor plane away from the direction of the normal vector;

highlight portions of the 3-D representation that fall within the first part of the 3-D virtual region in a first manner; and

highlight portions of the 3-D representation that fall within the second part of the 3-D virtual region in a second manner, the second manner different than the first manner.

21. The non-transitory computer-readable medium of claim 18 , wherein the cursor plane bisects the 3-D virtual region.

22. The non-transitory computer-readable medium of claim 20 , wherein the cursor plane bisects the 3-D virtual region.

23. The non-transitory computer-readable medium of claim 20 , wherein the instructions operable to highlight portions of the 3-D representation that fall within the 3-D virtual region are further operable to:

highlight portions of the 3-D representation that fall within a third part of the 3-D virtual region that encompasses a threshold distance from the cursor plane in a third manner, the third manner different than both the first manner and the second manner.

24. A method for visualizing a three-dimensional (3-D) representation, comprising:

displaying at least a part of the 3-D representation within a user interface of an application shown on a display screen of an electronic device;

associating a point within 3-D space of the 3-D representation with a cursor controlled by a pointing device of the electronic device;

imposing, by the application, a 3-D virtual region within 3-D space of the 3-D representation, the 3-D virtual region defined in reference to a cursor plane that extends through the point associated with the cursor and a normal vector that extends from the point associated with the cursor in a direction that determines the orientation of the 3-D virtual region, the 3-D virtual region having at least an on plane part that encompasses a threshold distance from the cursor plane, a first part located to a first side of the cursor plane in the direction of the normal vector and a second part located to a second side of the cursor plane away from the direction of the normal vector;

highlighting portions of the 3-D representation that fall within the on plane part of the 3-D virtual region in a first manner, portions of the 3-D representation that fall within the first part of the 3-D virtual region in a second manner and portions of the 3-D representation that fall within the second part of the 3-D virtual region in a third manner, the first manner, second manner, and third manner each different from one another; and

dynamically changing the highlighted portions of the 3-D representation as the 3-D virtual region is moved in response to changes in position of the cursor and different portions of the 3-D representation that fall within the on plane part of the 3-D virtual region, the first part of the 3-D virtual region and the second part of the 3-D virtual region.

25. The method of claim 24 , wherein the 3-D virtual region is a virtual cylinder, and the on plane part, first part, and second part are each cylinder segments.

Assignments (3)
SECURITY INTEREST Recorded Oct 25, 2024
From: BENTLEY SYSTEMS, INCORPORATED
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 069268/0042 →
SECURITY INTEREST Recorded Dec 21, 2017
From: BENTLEY SYSTEMS INCORPORATED
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 044938/0083 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2012
From: FREDERICQUE, BENOIT
To: BENTLEY SYSTEMS, INCORPORATED
Reel/Frame 029049/0498 →