IP Library Granted Patent US 10,540,741
Granted Patent B2
US 10,540,741 · App. 15/996,657 · Granted Jan 21, 2020

Angular snapping of graphical objects in digital artboards

Inventors: Praveen Kumar Dhanuka (West Bengal, IN); Arushi Jain (Delhi, IN)
Assignee: Adobe Inc.
G06T3/0081G06T7/13G06T7/70G06T11/60G06T2210/12
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,540,741
App. No.
15/996,657
Granted
Jan 21, 2020
Kind
B2
Abstract

Certain embodiments involve angular snapping of a target graphical object to a position in a digital artboard. For instance, a computing system determines a reference angle identifying an orientation of a target graphical object to be placed within an input graphic. The computing system also defines a tolerance region that overlaps the target graphical object and extends along an axis parallel to the reference angle. The computing system determines that at least two graphical objects are within the tolerance region. The computing system computes, for the target graphical object, a placement position on the axis. The placement position is computed based on a distance between the reference graphical objects. The computing system updates the graphical interface by placing the target graphical object within the input graphic at the placement position.

Claims (55)

1. A method in which one or more processing devices performs operations comprising:

providing a graphical interface that displays an input graphic comprising a first reference graphical object and a second reference graphical object;

computing a reference angle identifying an orientation of a target graphical object to be placed within the input graphic;

defining a tolerance region that overlaps the target graphical object and extends along an axis parallel to the reference angle;

determining that the first reference graphical object and the second reference graphical object are within the tolerance region;

computing, for the target graphical object, a placement position on the axis, wherein the placement position is computed based on a distance between the first reference graphical object and the second reference graphical object; and

updating the graphical interface by placing the target graphical object within the input graphic at the placement position.

2. The method of claim 1 , wherein computing the placement position comprises:

defining a first bounding box around the first reference graphical object, wherein the first bounding box has at least one edge with the orientation identified by the reference angle;

defining a second bounding box around the second reference graphical object, wherein the second bounding box has at least one edge with the orientation identified by the reference angle;

identifying a first edge from the first bounding box based on the first edge being closer to the second bounding box than other edges of the first bounding box; and

identifying a second edge from the second bounding box based on the second edge being closer to the first bounding box than other edges of the second bounding box;

wherein the distance between the first reference graphical object and the second reference graphical object is the distance between the first edge and the second edge.

3. The method of claim 2 , wherein the placement position is a mid-point position that is along the axis and equidistant from the first reference graphical object and the second reference graphical object.

4. The method of claim 2 , wherein the placement position is a position that is at an additional distance from the first reference graphical object or the second reference graphical object that corresponds to the distance between the first reference graphical object and the second reference graphical object.

5. The method of claim 1 , wherein the reference angle identifies the orientation as having a horizontal component unaligned with a horizontal axis with respect to the graphical interface and a vertical component unaligned with a vertical axis with respect to the graphical interface.

6. The method of claim 1 , wherein the placement position is a mid-point position that is along the axis and equidistant from the first reference graphical object and the second reference graphical object.

7. The method of claim 1 , wherein the placement position is a position that is at an additional distance from the first reference graphical object or the second reference graphical object that corresponds to the distance between the first reference graphical object and the second reference graphical object.

8. A system comprising:

a processing device; and

a non-transitory computer-readable medium communicatively coupled to the processing device, wherein the processing device is configured to execute program code stored in the non-transitory computer-readable medium and thereby perform operations comprising:

providing a graphical interface that displays an input graphic comprising a first reference graphical object and a second reference graphical object,

computing a reference angle identifying an orientation of a target graphical object to be placed within the input graphic,

defining a tolerance region that overlaps the target graphical object and extends along an axis parallel to the reference angle,

determining that the first reference graphical object and the second reference graphical object are within the tolerance region,

computing, for the target graphical object, a placement position on the axis, wherein the placement position is computed based on a distance between the first reference graphical object and the second reference graphical object, and

updating the graphical interface by placing the target graphical object within the input graphic at the placement position.

9. The system of claim 8 , wherein computing the placement position comprises:

defining a first bounding box around the first reference graphical object, wherein the first bounding box has at least one edge with the orientation identified by the reference angle;

defining a second bounding box around the second reference graphical object, wherein the second bounding box has at least one edge with the orientation identified by the reference angle;

identifying a first edge from the first bounding box based on the first edge being closer to the second bounding box than other edges of the first bounding box; and

identifying a second edge from the second bounding box based on the second edge being closer to the first bounding box than other edges of the second bounding box;

wherein the distance between the first reference graphical object and the second reference graphical object is the distance between the first edge and the second edge.

10. The system of claim 9 , wherein the placement position is a mid-point position that is along the axis and equidistant from the first reference graphical object and the second reference graphical object.

11. The system of claim 9 , wherein the placement position is a position that is at an additional distance from the first reference graphical object or the second reference graphical object that corresponds to the distance between the first reference graphical object and the second reference graphical object.

12. The system of claim 8 , wherein the reference angle identifies the orientation as having a horizontal component unaligned with a horizontal axis with respect to the graphical interface and a vertical component unaligned with a vertical axis with respect to the graphical interface.

13. The system of claim 8 , wherein the placement position is a mid-point position that is along the axis and equidistant from the first reference graphical object and the second reference graphical object.

14. The system of claim 8 , wherein the placement position is a position that is at an additional distance from the first reference graphical object or the second reference graphical object that corresponds to the distance between the first reference graphical object and the second reference graphical object.

15. A non-transitory computer-readable medium having program code that is stored thereon, the program code executable by one or more processing devices for performing operations comprising:

providing a graphical interface that displays an input graphic comprising a first reference graphical object and a second reference graphical object;

computing a reference angle identifying an orientation of a target graphical object to be placed within the input graphic;

defining a tolerance region that overlaps the target graphical object and extends along an axis parallel to the reference angle;

determining that the first reference graphical object and the second reference graphical object are within the tolerance region;

computing, for the target graphical object, a placement position on the axis, wherein the placement position is computed based on a distance between the first reference graphical object and the second reference graphical object; and

updating the graphical interface by placing the target graphical object within the input graphic at the placement position.

16. The non-transitory computer-readable medium of claim 15 , wherein computing the placement position comprises:

defining a first bounding box around the first reference graphical object, wherein the first bounding box has at least one edge with the orientation identified by the reference angle;

defining a second bounding box around the second reference graphical object, wherein the second bounding box has at least one edge with the orientation identified by the reference angle;

identifying a first edge from the first bounding box based on the first edge being closer to the second bounding box than other edges of the first bounding box; and

identifying a second edge from the second bounding box based on the second edge being closer to the first bounding box than other edges of the second bounding box;

wherein the distance between the first reference graphical object and the second reference graphical object is the distance between the first edge and the second edge.

17. The non-transitory computer-readable medium of claim 16 , wherein the placement position is a mid-point position that is along the axis and equidistant from the first reference graphical object and the second reference graphical object.

18. The non-transitory computer-readable medium of claim 16 , wherein the placement position is a position that is at an additional distance from the first reference graphical object or the second reference graphical object that corresponds to the distance between the first reference graphical object and the second reference graphical object.

19. The non-transitory computer-readable medium of claim 15 , wherein the reference angle identifies the orientation as having a horizontal component unaligned with a horizontal axis with respect to the graphical interface and a vertical component unaligned with a vertical axis with respect to the graphical interface.

20. The non-transitory computer-readable medium of claim 15 , wherein the placement position is a mid-point position that is along the axis and equidistant from the first reference graphical object and the second reference graphical object.

Assignments (2)
CHANGE OF NAME Recorded Mar 6, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048525/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2018
From: DHANUKA, PRAVEEN KUMAR; JAIN, ARUSHI
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 045972/0902 →
Continuity (1)
Related Publication 20190370931A1 · Dec 5, 2019