IP Library Granted Patent US 10,657,682
Granted Patent B2
US 10,657,682 · App. 15/485,980 · Granted May 19, 2020

Drawing curves in space guided by 3-D objects

Inventors: Vojtech Krs (Lafayette, IN); Radomir Mech (Mountain View, CA); Nathan Aaron Carr (San Jose, CA); Mehmet Ersin Yumer (San Jose, CA)
Assignee: Adobe Inc.
G06T11/203G06F17/00G06T11/206
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,657,682
App. No.
15/485,980
Granted
May 19, 2020
Kind
B2
Abstract

Various embodiments enable curves to be drawn around 3-D objects by intelligently determining or inferring how the curve flows in the space around the outside of the 3-D object. The various embodiments enable such curves to be drawn without having to constantly rotate the 3-D object. In at least some embodiments, curve flow is inferred by employing a vertex position discovery process, a path discovery process, and a final curve construction process.

Claims (49)

1. In a digital medium environment including a computing device executing a 3-D drawing module to perform an improved method for drawing a 3-D curve relative to a 3-D object, the method comprising:

receiving, by the computing device, an input defining a 2-D curve that has been drawn relative to the 3-D object;

converting, by the computing device, the 2-D curve into a plurality of 2-D points;

discovering, by the computing device, candidate 3-D vertices for each of the plurality of 2-D points, the candidate 3-D vertices defining a potential location in a 3-D space for each of the plurality of 2-D points;

building, by the computing device, a point-to-point graph having the candidate 3-D vertices;

estimating, by the computing device, distances of the candidate 3-D vertices from the 3-D object;

processing, by the computing device, the point-to-point graph to define a plurality of vertex segments, each vertex segment of the plurality of vertex segments including a set of the candidate 3-D vertices;

constructing, by the computing device, from the estimated distances of the candidate 3-D vertices from the 3-D object and the plurality of vertex segments, a segment-to-segment graph;

processing, by the computing device, the segment-to-segment graph to define multiple different 3-D curves relative to the 3-D object; and

selecting, by the computing device, from the multiple different 3-D curves, a final 3-D curve having a topology that includes curve portions that flow behind and in front of the 3-D object.

2. The method as described in claim 1 , wherein the discovering candidate 3-D vertices further comprises determining depth jumps which define intersecting intervals of the 2-D curve at different depths relative to the 3-D object.

3. The method as described in claim 1 , wherein the discovering candidate 3-D vertices further comprises defining, for at least some of the candidate 3-D vertices, multiple distance options to account for different location possibilities for the at least some of the candidate 3-D vertices relative to the 3-D object.

4. The method as described in claim 1 , wherein the selecting further comprises employing a shortest path approach that determines the shortest path through the segment-to-segment graph.

5. The method as described in claim 1 , further comprising, after the selecting, smoothing the final 3-D curve using a constraint equation.

6. The method as described in claim 1 , wherein the estimating the distances of candidate 3-D vertices from the 3-D object further comprises projecting rays through the plurality of 2-D points.

7. The method as described in claim 1 , further comprising rendering the final 3-D curve relative to the 3-D object.

8. A system implemented in a digital medium environment including a computing device configured to draw a 3-D curve relative to a 3-D object, the system comprising:

a processing system; and

at least one computer readable medium storing instructions executable via the processing system to implement a 3-D drawing module configured to perform operations, comprising:

receiving an input defining a 2-D curve that has been drawn relative to the 3-D object;

converting the 2-D curve into a plurality of 2-D points;

discovering candidate 3-D vertices for each of the plurality of 2-D points, the candidate 3-D vertices defining a potential location in a 3-D space for each of the plurality of 2-D points;

building a point-to-point graph having the candidate 3-D vertices;

estimating distances of the candidate 3-D vertices from the 3-D object;

processing the point-to-point graph to define a plurality of vertex segments, each vertex segment of the plurality of vertex segments including a set of the candidate 3-D vertices;

constructing, from the estimated distances of the candidate 3-D vertices from the 3-D object and the plurality of vertex segments, a segment-to-segment graph;

processing the segment-to-segment graph to define multiple different 3-D curves relative to the 3-D object; and

selecting, from the multiple different 3-D curves, a final 3-D curve having a topology that includes curve portions that flow behind and in front of the 3-D object.

9. The system as described in claim 8 , wherein the discovering candidate 3-D vertices further comprises determining depth jumps which define intersecting intervals of the 2-D curve at different depths relative to the 3-D object.

10. The system as described in claim 8 , wherein the discovering candidate 3-D vertices further comprises defining, for at least some of the candidate 3-D vertices, multiple distance options to account for different location possibilities for the at least some of the candidate 3-D vertices relative to the 3-D object.

11. The system as described in claim 8 , wherein the selecting further comprises employing a shortest path approach that determines the shortest path through the segment-to-segment graph.

12. The system as described in claim 8 , further comprising, after the selecting, smoothing the final 3-D curve using a constraint equation.

13. The system as described in claim 8 , wherein the 3-D drawing module is further configured to project rays through the plurality of 2-D points.

14. The system as described in claim 8 , wherein the 3-D drawing module is further configured to render the final 3-D curve relative to the 3-D object.

15. One or more non-transitory computer-readable storage media comprising instructions stored thereon that, responsive to execution by a computing device in a digital medium environment for drawing a 3-D curve relative to a 3-D object, cause operations of the computing device comprising:

receiving an input defining a 2-D curve that has been drawn relative to the 3-D object;

converting the 2-D curve into a plurality of 2-D points;

discovering candidate 3-D vertices for each of the plurality of 2-D points, the candidate 3-D vertices defining a potential location in a 3-D space for each of the plurality of 2-D points;

building a point-to-point graph having the candidate 3-D vertices;

estimating distances of the candidate 3-D vertices from the 3-D object;

processing the point-to-point graph to define a plurality of vertex segments, each vertex segment of the plurality of vertex segments including a set of the candidate 3-D vertices;

constructing, from the estimated distances of the candidate 3-D vertices from the 3-D object and the plurality of vertex segments, a segment-to-segment graph;

processing the segment-to-segment graph to define multiple different 3-D curves relative to the 3-D object; and

selecting, from the multiple different 3-D curves, a final 3-D curve having a topology that includes curve portions that flow behind and in front of the 3-D object.

16. The one or more non-transitory computer-readable storage media as described in claim 15 , the operations of the computing device further comprising determining depth jumps which define intersecting intervals of the 2-D curve at different depths relative to the 3-D object.

17. The one or more non-transitory computer-readable storage media as described in claim 15 , the operations of the computing device further comprising smoothing the final 3-D curve.

18. The one or more non-transitory computer-readable storage media as described in claim 15 , wherein the estimating the distances of the candidate 3-D vertices from the 3-D object further comprises projecting rays through the plurality of 2-D points.

19. The one or more non-transitory computer-readable storage media as described in claim 15 , wherein the discovering the candidate 3-D vertices further comprises defining, for at least some of the candidate 3-D vertices, multiple distance options to account for different location possibilities for the at least some of the candidate 3-D vertices relative to the 3-D object.

20. The one or more non-transitory computer-readable storage media as described in claim 15 , the operations of the computing device further comprising rendering the final 3-D curve relative to the 3-D object.

Assignments (2)
CHANGE OF NAME Recorded Jan 21, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048103/0226 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2017
From: KRS, VOJTECH; MECH, RADOMIR; CARR, NATHAN AARON; YUMER, MEHMET ERSIN
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 042142/0106 →
Continuity (1)
Related Publication 20180300912A1 · Oct 18, 2018