IP Library › Granted Patent US 12,205,200
Granted Patent B2
US 12,205,200 · App. 18/114,755 · Granted Jan 21, 2025

Connecting paths based on primitives

Inventors: Tarun Gehlaut (Faridabad, IN); Sasha Makkar (New Delhi, IN); Arshdeep Singh Chugh (New Delhi, IN)
Assignee: Adobe Inc.
G06T11/203
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 12,205,200
App. No.
18/114,755
Granted
Jan 21, 2025
Kind
B2
Abstract

In implementation of techniques for connecting paths based on primitives, a computing device implements a path connection system to receive a first path and a second path displayed in a user interface. The path connection system determines an end section of the first path and a corresponding end section of the second path. Based on the on the end section of the first path, the path connection system identifies a first primitive. Based on the corresponding end section of the second path, the path connection system identifies a second primitive. The path connection system then generates a connection path for display relative to the first path and the second path in the user interface by generating a Bezier curve based on the first primitive and the second primitive.

Claims (35)

1. A method comprising:

receiving, by a processing device, a first path and a second path displayed in a user interface;

determining, by the processing device, an end section of the first path and a corresponding end section of the second path;

identifying, by the processing device, a first primitive based on a curvature of the end section of the first path and a second primitive based on a curvature of the corresponding end section of the second path; and

generating, by the processing device, a connection path for display relative to the first path and the second path in the user interface by converting the first primitive and the second primitive into a Bezier curve that is a continuous path, the Bezier curve replacing the end section of the first path and the end section of the second path and connecting the first path to the second path.

2. The method of claim 1 , wherein determining the end section of the first path and the corresponding end section of the second path includes identifying a shortest Euclidean distance between two endpoints of the first path and the second path.

3. The method of claim 1 , wherein determining the end section of the first path and the corresponding end section of the second path is based on a user input.

4. The method of claim 1 , wherein the first primitive is identified by sampling points of the end section of the first path and the second primitive is identified by sampling points of the corresponding end section of the second path.

5. The method of claim 4 , wherein the first primitive includes points from the end section of the first path and the second primitive includes points from the corresponding end section of the second path.

6. The method of claim 1 , wherein the first primitive and the second primitive include a line, an arc, or a clothoid.

7. The method of claim 1 , wherein generating the connection path further comprises optimizing parameter values of the first primitive and the second primitive by modeling a non-linear optimization function to achieve a threshold smoothness level.

8. The method of claim 1 , wherein the first primitive replaces the end section of the first path and the second primitive replaces the corresponding end section of the second path.

9. The method of claim 1 , further comprising adjusting connection points of the Bezier curve to reduce a connection angle between the Bezier curve and the first path and reducing the connection angle between the Bezier curve and the second path.

10. A system comprising:

a memory component; and

a processing device coupled to the memory component, the processing device to perform operations comprising:

receiving a first path and a second path displayed in a user interface;

identifying a first primitive corresponding to a curvature of an end section of the first path based on sampled points of the first path;

identifying a second primitive corresponding to a curvature of an end section of the second path based on sampled points of the second path;

replacing a portion of the first path and a portion of the second path with a Bezier curve by converting the first primitive and the second primitive into the Bezier curve; and

generating a connection path for display relative to the first path and the second path in the user interface based on the Bezier curve, the connection path connecting the first path to the second path.

11. The system of claim 10 , wherein the sampled points of the first path and the sampled points of the second path are identified by determining an end section of the first path and a corresponding end section of the second path.

12. The system of claim 11 , wherein determining the end section of the first path and the corresponding end section of the second path includes identifying a shortest Euclidean distance between two endpoints of the first path and the second path.

13. The system of claim 10 , wherein the first primitive and the second primitive include a line, an arc, or a clothoid.

14. The system of claim 10 , wherein generating the connection path further comprises optimizing parameter values of the first primitive and the second primitive by modeling a non-linear optimization function.

15. The system of claim 10 , wherein the Bezier curve is formed by joining different Bezier curves.

16. The system of claim 10 , further comprising adjusting connection points of the Bezier curve to reduce a connection angle between the Bezier curve and the first path and reducing the connection angle between the Bezier curve and the second path.

17. A non-transitory computer-readable storage medium storing executable instructions, which when executed by a processing device, cause the processing device to perform operations comprising:

receiving a first path and a second path displayed in a user interface;

determining an end section of the first path and a corresponding end section of the second path;

identifying a first primitive based on a curvature of the end section of the first path and a second primitive based on a curvature of the corresponding end section of the second path; and

generating a connection path for display relative to the first path and the second path in the user interface by converting the first primitive and the second primitive into a Bezier curve that is a continuous path, the Bezier curve replacing the end section of the first path and the end section of the second path and connecting the first path to the second path.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the first primitive is identified by sampling points of the end section of the first path and the second primitive is identified by sampling points of the corresponding end section of the second path.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the first primitive and the second primitive include a line, an arc, or a clothoid.

20. The non-transitory computer-readable storage medium of claim 17 , wherein generating the connection path further comprises replacing the end section of the first path and the corresponding end section of the second path with the Bezier curve.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2023
From: GEHLAUT, TARUN; MAKKAR, SASHA; CHUGH, ARSHDEEP SINGH
To: ADOBE INC.
Reel/Frame 062837/0991 →
Continuity (1)
Related Publication 20240290015A1 · Aug 29, 2024
References Cited (10)
US 7196707B2 · Davignon · 2007 [cited by examiner]
US 7609278B1 · Dash · 2009 [cited by examiner]
US 11049296B2 · Yumer · 2021 [cited by examiner]
US 20160078650A1 · Kishikawa · 2016 [cited by examiner]
US 20210357113A1 · Mangu · 2021 [cited by examiner]
US 20210390744A1 · Agrawal · 2021 [cited by examiner]
US 20220335669A1 · Stahlfeld · 2022 [cited by examiner]
Baran, Ilya , et al., “Sketching Clothoid Splines Using Shortest Paths”, Computer Graphics Forum, vol. 29, No. 2 [retrieved Dec. 19, 2022]. Retrieved from the Internet <http://citeseerx.ist.psu.edu/viewdoc/download?doi=… [cited by applicant]
Bertolazzi, Enrico , et al., “Fast and accurate G1 fitting of clothoid curves”, Cornell University arXiv, arXiv.org [retrieved Dec. 19, 2022]. Retrieved from the Internet <https://www.researchgate.net/publication/237062… [cited by applicant]
Sederberg, Thomas , “Computer Aided Geometric Design”, Computer Aided Geometric Design Course Notes [retrieved Dec. 19, 2022]. Retrieved from the Internet <https://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=100… [cited by applicant]