IP Library Granted Patent US 10,296,663
Granted Patent B2
US 10,296,663 · App. 14/710,561 · Granted May 21, 2019

Method for moving and aligning 3D objects in a plane within the 2D environment

Inventor: Milos Jovanovic (Portland, OR)
Assignee: Atheer, Inc.
G06F17/50G06F3/0486G06F3/0488G06F3/04815G06F3/04845G06F17/5004G06T13/205G06T15/10G06T15/20G06T19/006G06T19/20G06F2203/04802G06T2215/12G06T2215/16G06T2219/004G06T2219/008G06T2219/012G06T2219/2004G06T2219/2008G06T2219/2012G06T2219/2016G06T2219/2024
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,296,663
App. No.
14/710,561
Granted
May 21, 2019
Kind
B2
Abstract

Example systems and methods for virtual visualization of a three-dimensional model of an object in a two-dimensional environment. The method may include moving and aligning the three-dimensional model of the object along a plane in the two-dimensional environment.

Claims (68)

1. A method for visualizing a three-dimensional model of an object in a two-dimensional environment, the method comprising:

receiving, with a processor, from a user, an import request to import the two-dimensional environment to be used as a background for the three-dimensional model;

importing, with the processor, based on the import request, the two-dimensional environment;

receiving, with the processor, from the user, a superimposing request to superimpose the three-dimensional model of the object onto the two-dimensional environment;

superimposing, with the processor, the three-dimensional model of the object onto the two-dimensional environment based on the superimposing request, wherein the three-dimensional model includes a first parameter including one or more size dimensions of the object, a second parameter including one or more constraints to superimposing the three-dimensional model onto one or more planes of the two-dimensional environment, the one or more constraints corresponding to one or more behavior characteristics of the object, and a third parameter including metadata defining the object as one of a wall object, a ceiling object, a floor object, or a combination thereof;

displaying, with the processor, a visual indication for guiding a positioning of the three-dimensional model of the object within the two-dimensional environment, wherein the visual indication is a plane indicator superimposed onto the one or more planes of the two-dimensional environment in accordance with both the first parameter that includes the one or more size dimensions of the object and the second parameter of the three-dimensional model of the object that includes the one or more constraints to superimposing the three-dimensional model onto the one or more planes of the two-dimensional environment;

moving and aligning, with the processor, the three-dimensional model of the object along a plane in the two-dimensional environment based on the one or more of the first parameter, the second parameter, and the third parameter of the three-dimensional model, wherein moving and aligning the three-dimensional model of the object is constrained by the one or more constraints; and

updating, with the processor, the visual indication during the moving and aligning of the three-dimensional model of the object,

wherein the three-dimensional model of the object is prevented from being moved to locations of the two-dimensional environment that are not in accordance with both the first parameter and the second parameter of the three-dimensional model of the object.

2. The method of claim 1 , wherein the plane is one of a wall plane, a ceiling plane, and a floor plane; and

wherein the plane includes one or more properties including a total area property, an occupied area, and an unoccupied area.

3. The method of claim 2 , wherein the three-dimensional model of the object is one of a wall object, a ceiling object, and a floor object.

4. The method of claim 1 , further comprising receiving a request to change a position of the three-dimensional model from a first plane of the two-dimensional environment to a second plane of the two-dimensional environment, wherein the first plane and the second plane border a threshold boundary.

5. The method of claim 4 , further comprising positioning the three-dimensional model on the second plane when the threshold boundary is crossed.

6. The method of claim 5 , wherein positioning the three-dimensional model on the second plane includes changing the three-dimensional model from a first perspective defined by the first plane to a second perspective defined by the second plane.

7. The method of claim 1 , further comprising blocking positioning of the object at a threshold boundary.

8. The method of claim 2 , further comprising:

receiving a request to change a position of the three-dimensional model from a first plane of the two-dimensional environment to a second plane of the two-dimensional environment;

receiving one or more of the first parameter, the second parameter, and the third parameter of the three-dimensional model;

receiving one or more properties of the second plane;

comparing the one or more of the first parameter, the second parameter, and the third parameter of the three-dimensional model to the one or more properties of the second plane; and

if one of the one or more of the first parameter, the second parameter, and the third parameter of the three-dimensional model does not match a corresponding property of the one or more properties of the second plane, then blocking positioning of the object at a threshold boundary.

9. The method of claim 2 , further comprising:

receiving a request to change a position of the three-dimensional model from a first plane of the two-dimensional environment to a second plane of the two-dimensional environment;

receiving one or more of the first parameter, the second parameter, and the third parameter of the three-dimensional model, the one or more parameters including at least the one or more constraints to superimposing the three-dimensional model onto the one or more planes of the two-dimensional environment;

receiving one or more properties of each plane defined by the one or more constraints; and

for each plane defined by the one or more constraints:

comparing the one or more of the first parameter, the second parameter, and the third parameter of the three-dimensional model to the one or more properties of the plane; and

if each of the one or more of the first parameter, the second parameter, and the third parameter of the three-dimensional model matches a corresponding property of the one or more properties of the plane, displaying the visual indication on the plane, the visual indication indicating an allowable position for the three-dimensional model.

10. The method of claim 1 , wherein the one or more behavior characteristics of the object include one or more of a minimum clearance space around the object, mounting requirements for the object, and a length of a power cord of the object.

11. A system for visualization of a three-dimensional model of an object in a two-dimensional environment, the system comprising:

a processor; and

a storage device, the storage device containing instructions executable by the processor, comprising:

a receiving module configured to receive one or more requests from a user, the requests including one or more of an import request, a scale data request, a superimposing request, and a moving request;

an importing module configured to import, based on the import request of the user, the two-dimensional environment;

a superimposing module configured to superimpose, based on the superimposing request, the three-dimensional model of the object onto the two-dimensional environment, wherein the three-dimensional model includes one or more parameters, the one or more parameters including one or more size dimensions of the object and one or more constraints to superimposing the three-dimensional model onto one or more planes of the two-dimensional environment;

a visualization module configured to visualize an animated visual indication of the one or more constraints superimposed onto the one or more planes of the two-dimensional environment for guiding a positioning of the three-dimensional model within the two-dimensional environment, where the animated visual indication is a plane indicator of one or more planes upon which the object is allowed to be positioned, and wherein the three-dimensional model of the object is prevented from being moved to locations of the two-dimensional environment that are not in accordance with each of the one or more parameters of the three-dimensional model; and

a moving module configured to move the three-dimensional model of the object along a plane in the two-dimensional environment, based on the moving request, wherein moving the three-dimensional model of the object along the plane is constrained by the one or more constraints.

12. The system of claim 11 , wherein the plane is one of a wall plane, a ceiling plane, and a floor plane; and

wherein the plane includes one or more properties including a total area property, an occupied area, and an unoccupied area.

13. The system of claim 12 , wherein the three-dimensional model of the object is one of a wall object, a ceiling object, and a floor object.

14. The system of claim 11 , wherein the receiving module is configured to receive a request to change a position of the three-dimensional model from a first plane of the two-dimensional environment to a second plane of the two-dimensional environment, wherein the first plane and the second plane border a threshold boundary.

15. The system of claim 14 , wherein the moving module is configured to position the three-dimensional model on the second plane when the threshold boundary is crossed.

16. The system of claim 15 , wherein positioning the three-dimensional model on the second plane includes changing the three-dimensional model from a first perspective defined by the first plane to a second perspective defined by the second plane.

17. The system of claim 12 , wherein the visualization module is further configured to, upon receiving a request to change a position of the three-dimensional model from a first plane of the two-dimensional environment to a second plane of the two-dimensional environment:

receive the one or more parameters of the three-dimensional model;

receive one or more properties of the second plane;

compare the one or more parameters of the three-dimensional model to the one or more properties of the second plane; and

if one of the one or more parameters of the three-dimensional model does not match a corresponding property of the one or more properties of the second plane, then block positioning of the object at a threshold boundary.

18. The system of claim 12 , wherein the visualization module is further configured to, upon receiving a request to change a position of the three-dimensional model from a first plane of the two-dimensional environment to a second plane of the two-dimensional environment:

receive the one or more parameters of the three-dimensional model, the one or more parameters including at least the one or more constraints to superimposing the three-dimensional model onto the one or more planes of the two-dimensional environment;

receive one or more properties of each plane defined by the one or more constraints; and

for each plane defined by the one or more constraints:

compare the one or more parameters of the three-dimensional model to the one or more properties of the plane; and

if each of the one or more parameters of the three-dimensional model matches a corresponding property of the one or more properties of the plane, display the animated visual indication on the plane, the animated visual indication indicating an allowable position for the three-dimensional model.

19. A system for visualization of a three-dimensional model of an object in a two-dimensional environment, the system comprising:

a processor; and

a storage device, the storage device containing instructions executable by the processor, comprising:

a receiving module configured to receive one or more requests from a user, the requests including one or more of an import request, a scale data request, a superimposing request, and a moving request;

an importing module configured to import, based on the import request of the user, the two-dimensional environment, wherein the two-dimensional environment includes one or more planes, each of the one or more planes including one or more properties including a total area property, an occupied area, and an unoccupied area;

a superimposing module configured to superimpose, based on the superimposing request, the three-dimensional model of the object onto the two-dimensional environment, wherein the three-dimensional model includes one or more parameters including one or more size dimensions of the object and one or more constraints to superimposing the three-dimensional model onto the one or more planes of the two-dimensional environment; and

a visualization module configured to:

receive the one or more parameters of the three-dimensional model;

receive the one or more properties of the one or more planes of the two-dimensional environment;

compare the one or more parameters of the three-dimensional model to the one or more properties of each of the one or more planes;

if each of the one or more parameters of the three-dimensional model matches a corresponding property of the one or more properties of allowable planes, display a visual indication superimposed onto the allowable planes for guiding a positioning of the three-dimensional model within the two-dimensional environment, the allowable planes including a current plane upon which the three-dimensional model is positioned and one or more other allowable planes, the visual indication being a plane indicator of the current plane upon which the three-dimensional model is positioned and the one or more other allowable planes for the three-dimensional model of the object;

the moving module configured to move the three-dimensional model of the object along a plane of the one or more planes in the two-dimensional environment, based on the moving request, wherein moving the three-dimensional model of the object along the plane is constrained by the one or more constraints, wherein the three-dimensional model of the object is prevented from being moved to locations in the two-dimensional environment that are not indicated by the plane indicator, and wherein the visualization module updates the display of the visual indication on the plane as the moving module moves the three-dimensional model of the object along the plane.

20. The method of claim 19 , wherein the visual indication that is the plane indicator of the current plane is a first indicator, and wherein the visual indication that is the plane indicator of the one or more other allowable planes is a second indicator, the first indicator and the second indicator being different from one another.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2022
From: ATHEER, INC.
To: WEST TEXAS TECHNOLOGY PARTNERS, LLC
Reel/Frame 058962/0067 →
SECURITY INTEREST Recorded Nov 20, 2018
From: ATHEER, INC.
To: COTA CAPITAL MASTER FUND, L.P., AS COLLATERAL AGENT
Reel/Frame 048154/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2017
From: SPACEVIEW, INC.
To: ATHEER, INC.
Reel/Frame 042774/0485 →
RELEASE OF SECURITY INTEREST Recorded Jun 7, 2017
From: SPACEVIEW INC.
To: PORTLAND SEED FUND, LP
Reel/Frame 042634/0761 →
SECURITY INTEREST Recorded Oct 12, 2016
From: SPACEVIEW, INC.
To: PORTLAND SEED FUND, LP
Reel/Frame 039996/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2015
From: JOVANOVIC, MILOS
To: SPACEVIEW INC.
Reel/Frame 035825/0470 →
Continuity (7)
Provisional Application 61992629 · May 13, 2014
Provisional Application 61992759 · May 13, 2014
Provisional Application 61992719 · May 13, 2014
Provisional Application 61992774 · May 13, 2014
Provisional Application 61992746 · May 13, 2014
Provisional Application 61992665 · May 13, 2014
Related Publication 20150332509A1 · Nov 19, 2015
Cited By (1)
US 12,524,016