IP Library Granted Patent US 10,705,700
Granted Patent B2
US 10,705,700 · App. 16/245,036 · Granted Jul 7, 2020

Mirror snapping during vector drawing

Inventors: Narciso Batacan Jaramillo (Piedmont, CA); Tomas Krcha (San Francisco, CA)
Assignee: Adobe Inc.
G06F3/04845G06T11/203G06T2200/24
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,705,700
App. No.
16/245,036
Granted
Jul 7, 2020
Kind
B2
Abstract

Embodiments of the present invention are directed at providing a mirror snapping system for selecting candidate snap points as endpoints for path segments with symmetry in a created image. In one embodiment, generating candidate snap locations from a newly created path segment can be accomplished by automatically constructing an axis of symmetry for the newly created path segment and reflecting created path segment endpoints in the design across the axis of symmetry. In a further embodiment, upon selection of a candidate snap location as the anchored endpoint for an unanchored endpoint of a path segment, line parameters associated with the candidate snap location can be implemented in the path segment. Such parameters can include weight, color, and curvature of the path segment. Other embodiments may be described and/or claimed.

Claims (59)

1. A computer-implemented method, comprising:

receiving a path segment of an image, the path segment having an unanchored endpoint;

identifying a candidate snap location based on a symmetrical analysis of one or more previously created path segments in relation to the unanchored endpoint of the path segment, wherein the candidate snap location identifies a potential path segment endpoint for the unanchored endpoint; and

indicating the candidate snap location as a suggested anchored endpoint for the unanchored endpoint to cause the path segment to have symmetry with at least one of the one or more previously created path segments.

2. The computer-implemented method of claim 1 , further comprising:

receiving an indication to select the suggested anchored endpoint as an anchored endpoint for the path segment; and

upon receiving the indication to select the suggested anchored endpoint, selecting the suggested anchored endpoint as an anchored endpoint for the path segment.

3. The computer-implemented method of claim 1 , wherein the candidate snap location is stored to include at least one path segment parameter that corresponds to one or more properties of a previously created path segment endpoint from which the candidate snap location was generated.

4. The computer-implemented method of claim 1 , further comprising:

upon selection of the suggested anchored endpoint as an anchored endpoint for the path segment, applying one or more properties to the path segment, wherein the one or more properties correspond to a previously created path segment endpoint from which the candidate snap location was generated.

5. The computer-implemented method of claim 4 , wherein the one or more properties comprise weight, color, and curvature.

6. The computer-implemented method of claim 2 , further comprising:

identifying candidate control points based on a further symmetrical analysis of the one or more previously created path segments, wherein a candidate control point identifies a potential curve for the path segment; and

upon selecting the suggested anchored endpoint as the anchored endpoint for the path segment, indicating a control point related to a suggested curve for the path segment.

7. The computer-implemented method of claim 6 , wherein the further symmetrical analysis of the one or more previously created path segments comprises:

constructing an axis through at least one of the one or more previously created path segments;

reflecting at least one control point of the one or more previously created path segments across the axis;

identifying one or more reflected control points as the candidate control points; and

storing coordinate information for the identified candidate control points in a list of candidate control points.

8. The computer-implemented method of claim 2 , further comprising:

receiving a further indication of movement from the anchored endpoint to a control point, wherein the movement to the control point causes the path segment to reflect a curve associated with the candidate snap location.

9. The computer-implemented method of claim 1 , wherein the suggested anchored endpoint is indicated in response to a user interaction within a predetermined proximity to the candidate snap location.

10. The computer-implemented method of claim 1 , wherein the symmetrical analysis of the one or more previously created path segments comprises:

constructing an axis through at least one of the one or more previously created path segments;

reflecting at least one endpoint of the one or more previously created path segments across the axis;

identifying one or more reflected endpoints as candidate snap locations; and

storing coordinate information for the identified candidate snap locations in a list of candidate snap locations, the list of candidate snap locations for use in generating path segments with symmetry within the image being generated by the user.

11. One or more non-transitory computer-readable storage media having instructions stored thereon, which, when executed by one or more processors of a computing device, cause the computing device to:

receive a path segment of an image, the path segment having an unanchored endpoint;

identify a candidate snap location based on a symmetrical analysis of one or more previously created path segments in relation to the unanchored endpoint of the path segment, wherein the candidate snap location identifies a potential path segment endpoint for the unanchored endpoint; and

indicate the candidate snap location as a suggested anchored endpoint for the unanchored endpoint to cause the path segment to have symmetry with at least one of the one or more previously created path segments.

12. The one or more non-transitory computer-readable storage media of claim 11 , the instructions further cause the computing device to:

receive an indication to select the suggested anchored endpoint as an anchored endpoint for the path segment; and

upon receiving the indication to select the suggested anchored endpoint, select the suggested anchored endpoint as an anchored endpoint for the path segment.

13. The one or more non-transitory computer-readable storage media of claim 11 , the instructions further cause the computing device to:

upon selection of the suggested anchored endpoint as an anchored endpoint for the path segment, apply one or more properties to the path segment, wherein the one or more properties correspond to a previously created path segment endpoint from which the candidate snap location was generated.

14. The one or more non-transitory computer-readable storage media of claim 12 , the instructions further cause the computing device to:

identify candidate control points based on a further symmetrical analysis of the one or more previously created path segments, wherein a candidate control point identifies a potential curve for the path segment; and

upon selecting the suggested anchored endpoint as the anchored endpoint for the path segment, indicate a control point related to a suggested curve for the path segment.

15. The one or more non-transitory computer-readable storage media of claim 14 , wherein the symmetrical analysis of the one or more previously created path segments comprises:

constructing an axis through at least one of the one or more previously created path segments;

reflecting at least one control point of the one or more previously created path segments across the axis;

identifying one or more reflected control points as the candidate control points; and

storing coordinate information for the identified candidate control points in a list of candidate control points.

16. The one or more non-transitory computer-readable storage media of claim 12 , the instructions further cause the computing device to:

receive a further indication of movement from the anchored endpoint to a control point, wherein the movement to the control point causes the path segment to reflect a curve associated with the candidate snap location.

17. The one or more non-transitory computer-readable storage media of claim 11 , wherein the symmetrical analysis of the one or more previously created path segments comprises:

constructing an axis through at least one of the one or more previously created path segments;

reflecting at least one endpoint of the one or more previously created path segments across the axis;

identifying one or more reflected endpoints as candidate snap locations; and

storing coordinate information for the identified candidate snap locations in a list of candidate snap locations, the list of candidate snap locations for use in generating path segments with symmetry within the image being generated by the user.

18. A computing system comprising:

means for receiving a path segment with an unanchored endpoint;

means for identifying a candidate snap location based on a symmetrical analysis of one or more previously created path segments in relation to the unanchored endpoint of the path segment, wherein the candidate snap location identifies a potential path segment endpoint for the unanchored endpoint; and

means for indicating the candidate snap location as a suggested anchored endpoint for the unanchored endpoint to cause the path segment to have symmetry with at least one of the one or more previously created path segments.

19. The computing system of claim 18 , further comprising:

means for identifying candidate control points based on a further symmetrical analysis of the one or more previously created path segments, wherein a candidate control point identifies a potential curve for the path segment.

20. The computing system of claim 18 , further comprising:

means for applying one or more properties to the path segment, wherein the one or more properties correspond to a previously created path segment endpoint from which the candidate snap location was generated.

Assignments (2)
CHANGE OF NAME Recorded Mar 14, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 050140/0249 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2019
From: JARAMILLO, NARCISO BATACAN; KRCHA, TOMAS
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 048514/0812 →
Continuity (2)
Continuation 15256327 · Sep 2, 2016
Related Publication 20190146662A1 · May 16, 2019