IP Library Granted Patent US 11,087,528
Granted Patent B1
US 11,087,528 · App. 16/814,677 · Granted Aug 10, 2021

3D object generation

Inventor: Jérôme Couture-Gagnon (Mont-Saint-Hilaire, CA)
Assignee: APPLE INC.
G06T15/205G06F30/13G06T15/04G06T19/003
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 11,087,528
App. No.
16/814,677
Granted
Aug 10, 2021
Kind
B1
Abstract

In one implementation, a method of generating a three-dimensional object is performed by a device including one or more processors, non-transitory memory, one or more input devices, and a display. The method includes detecting a first set of one or more user inputs indicative of a two-dimensional profile and detecting a second set of one or more user inputs indicative of a two-dimensional floor plan. The method includes generating, based on the two-dimensional profile and the two-dimensional floor plan, a three-dimensional object and displaying the three-dimensional object.

Claims (42)

1. A method comprising:

detecting a first set of one or more user inputs that specify a first segment of a two-dimensional profile and a second segment of the two-dimensional profile;

detecting a second set of one or more user inputs indicative of a shape of a two-dimensional floor plan;

generating, based on the two-dimensional profile and the two-dimensional floor plan, a three-dimensional object, wherein the three-dimensional object includes:

a first portion corresponding to the first segment of the two-dimensional profile, and

a second portion corresponding to the second segment of the two-dimensional profile and the shape of the two-dimensional floor plan; and

displaying the three-dimensional object.

2. The method of claim 1 , wherein the first set of one or more user inputs includes a user input modifying at least one of the first segment or the second segment of the two-dimensional profile.

3. The method of claim 1 , wherein the first set of one or more user inputs includes a user input loading a stored two-dimensional profile.

4. The method of claim 1 , wherein the first set of one or more user inputs includes a user input assigning a texture to at least one of the first segment or the second segment of the two-dimensional profile.

5. The method of claim 4 , wherein the first set of one or more inputs includes a user input modifying the texture assigned to the at least one of the first segment or the second segment of the two-dimensional profile.

6. The method of claim 5 , wherein user input modifying the texture assigned to the at least one of the first segment or the second segment of the two-dimensional profile includes at least one of a user input scaling the texture, a user input offsetting the texture, or a user input rotating the texture.

7. The method of claim 1 , wherein the second set of one or more user inputs includes a user input defining the shape of the two-dimensional floor plan.

8. The method of claim 7 , wherein the user input defining the shape of the two-dimensional floor plan includes a user input generally defining a path and the shape of the two-dimensional floor plan that is selected from a set of predefined shapes based on the path.

9. The method of claim 1 , wherein the second set of one or more user inputs includes a user input moving the shape of the two-dimensional floor plan.

10. The method of claim 1 , wherein the second set of one or more user inputs includes a user input modifying the shape of the two-dimensional floor plan.

11. The method of claim 1 , wherein the second set of one or more user inputs includes a user input inverting the shape of the two-dimensional floor plan.

12. The method of claim 1 , wherein detecting the first set of one or more user inputs and/or detecting the second set of one or more user inputs includes detecting, via one or more input devices, one or more of a mouse click, a mouse motion, a contact on a touch-sensitive surface, or a hand gesture.

13. The method of claim 1 , wherein generating the three-dimensional object includes generating a polygon for a particular segment of the two-dimensional profile and a particular segment of the two-dimensional floor plan.

14. The method of claim 13 , wherein generating the three-dimensional object includes generating a polygon for each pairing of a segment of the two-dimensional profile and a segment of the two-dimensional floor plan.

15. The method of claim 13 , wherein generating the polygon includes determining four vertices of the polygon respectively based on a first end of the particular segment of the two-dimensional profile and a first end of the particular segment of the two-dimensional floor plan, a second end of the particular segment of the two-dimensional profile and the first end of the particular segment of the two-dimensional floor plan, the first end of the particular segment of the two-dimensional profile and a second end of the particular segment of the two-dimensional floor plan, and the second end of the particular segment of the two-dimensional profile and the second end of the particular segment of the two-dimensional floor plan.

16. The method of claim 15 , wherein determining the four vertices is based on a straight skeleton of the two-dimensional floor plan.

17. The method of claim 1 , wherein generating the three-dimensional object includes generating three-dimensional sub-objects arranged at spaced locations of the two-dimensional floor plan.

18. The method of claim 1 , wherein displaying the three-dimensional object includes displaying a computer-generated reality (CGR) environment and displaying the three-dimensional object in the CGR environment.

19. A non-transitory memory storing one or more programs, which, when executed by one or more processors of a device with one or more input devices and a display, cause the device to:

detect, via the one or more input devices, a first set of one or more user inputs that specify a first segment of a two-dimensional profile and a second segment of the two-dimensional profile;

detect, via the one or more input devices, a second set of one or more user inputs indicative of a shape of a two-dimensional floor plan;

generate, based on the two-dimensional profile and the two-dimensional floor plan, a three-dimensional object, wherein the three-dimensional object includes:

a first portion corresponding to the first segment of the two-dimensional profile, and

a second portion corresponding to the second segment of the two-dimensional profile and the shape of the two-dimensional floor plan; and

display, on the display, the three-dimensional object.

20. A device comprising:

one or more input devices;

a display;

a non-transitory memory; and

one or more processors to:

detect, via the one or more input devices, a first set of one or more user inputs that specify a first segment of a two-dimensional profile and a second segment of the two-dimensional profile;

detect, via the one or more input devices, a second set of one or more user inputs indicative of a shape of a two-dimensional floor plan;

generate, based on the two-dimensional profile and the two-dimensional floor plan, a three-dimensional object, wherein the three-dimensional object includes:

a first portion corresponding to the first segment of the two-dimensional profile, and

a second portion corresponding to the second segment of the two-dimensional profile and the shape of the two-dimensional floor plan; and

display, on the display, the three-dimensional object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2020
From: COUTURE-GAGNON, JÉRÔME
To: APPLE INC.
Reel/Frame 052073/0378 →
Continuity (1)
Provisional Application 62818835 · Mar 15, 2019
Cited By (2)
US 12,272,143 US 12,646,431