Drawing curves in space guided by 3-D objects

US11069099B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11069099-B2
Application numberUS-202016855328-A
CountryUS
Kind codeB2
Filing dateApr 22, 2020
Priority dateApr 12, 2017
Publication dateJul 20, 2021
Grant dateJul 20, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. In a digital medium environment to generate a three-dimensional curve in relation to a three-dimensional object in a three-dimensional environment, a method implemented by a computing device, the method comprising: receiving, by the computing device, input data describing two-dimensional points of a two-dimensional input curve drawn relative to the three-dimensional object; generating, by the computing device, candidate three-dimensional vertices that define locations in the three-dimensional environment for each of the two-dimensional points; classifying, by the computing device, the two-dimensional points as intersecting points or non-intersecting points by projecting one or more rays from a central location through each of the two-dimensional points, wherein first rays projected through the intersecting points intersect the three-dimensional object and second rays projected through the non-intersecting points do not intersect the three-dimensional object; determining, by the computing device, intersecting segments of the candidate three-dimensional vertices and non-intersecting segments of the candidate three-dimensional vertices based on the classified two-dimensional points; and generating, by the computing device, the three-dimensional curve by combining the intersecting segments and the non-intersecting segments relative to the three-dimensional object. 2. The method as described in claim 1 , further comprising using the second rays projected through the non-intersecting points to estimate distances from the candidate three-dimensional vertices of the intersecting segments to the three-dimensional object in the three-dimensional environment. 3. The method as described in claim 1 , further comprising smoothing the three-dimensional curve using a constraint equation. 4. The method as described in claim 1 , wherein the three-dimensional curve has a topology that includes portions of the three-dimensional curve in front of the three-dimensional object and behind the three-dimensional object. 5. The method as described in claim 1 , wherein the two-dimensional points are equidistant. 6. The method as described in claim 1 , wherein generating the three-dimensional curve includes constructing a smooth cubic spline. 7. The method as described in claim 1 , further comprising selecting the three-dimensional curve from a plurality of additional three-dimensional curves based on a curvature score of the three-dimensional curve. 8. The method as described in claim 7 , wherein the curvature score of the three-dimensional curve is based at least in part on scores for the intersecting segments and the non-intersecting segments. 9. The method as described in claim 1 , wherein combining the intersecting segments and the non-intersecting segments includes interpolating between the intersecting segments and the non-intersecting segments. 10. The method as described in claim 9 , further comprising scoring a curvature of the intersecting segments and a curvature of the non-intersecting segments. 11. A system comprising: one or more processors; and a memory storing computer executable instructions that are executable by the one or more processors to: receive input data describing two-dimensional points of a two-dimensional input curve drawn relative to a three-dimensional object in a three-dimensional environment; generate candidate three-dimensional vertices that define locations in the three-dimensional environment for each of the two-dimensional points; classify the two-dimensional points as intersecting points or non-intersecting points by projecting one or more rays from a central location through each of the two-dimensional points, wherein first rays projected through the intersecting points intersect the three-dimensional object and second rays projected through the non-intersecting points do not intersect the three-dimensional object; determine intersecting segments of the candidate three-dimensional vertices and non-intersecting segments of the candidate three-dimensional vertices based on the classified two-dimensional points; and generate a three-dimensional curve by combining the intersecting segments and the non-intersecting segments relative to the three-dimensional object. 12. The system as described in claim 11 , wherein the three-dimensional curve has a topology that includes portions of the three-dimensional curve in front of the three-dimensional object and behind the three-dimensional object. 13. The system as described in claim 11 , wherein the two-dimensional points are equidistant. 14. The system as described in claim 11 , wherein combining the intersecting segments and the non-intersecting segments includes interpolating between the intersecting segments and the non-intersecting segments. 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 to generate a three-dimensional curve in relation to a three-dimensional object in a three-dimensional environment, cause operations of the computing device including: receiving input data describing two-dimensional points of a two-dimensional input curve drawn relative to the three-dimensional object; generating candidate three-dimensional vertices that define locations in the three-dimensional environment for each of the two-dimensional points; classifying the two-dimensional points as intersecting points or non-intersecting points by projecting one or more rays from a central location through each of the two-dimensional points, wherein first rays projected through the intersecting points intersect the three-dimensional object and second rays projected through the non-intersecting points do not intersect the three-dimensional object; determining intersecting segments of the candidate three-dimensional vertices and non-intersecting segments of the candidate three-dimensional vertices based on the classified two-dimensional points; and generating the three-dimensional curve by combining the intersecting segments and the non-intersecting segments relative to the three-dimensional object. 16. The one or more non-transitory computer-readable storage media comprising the instructions stored thereon as described in claim 15 , responsive to the execution by the computing device, cause further operations of the computing device including smoothing the three-dimensional curve using a constraint equation. 17. The one or more non-transitory computer-readable storage media comprising the instructions stored thereon as described in claim 15 , responsive to the execution by the computing device, cause further operations of the computing device including selecting the three-dimensional curve from a plurality of additional three-dimensional curves based on a curvature score of the three-dimensional curve. 18. The one or more non-transitory computer-readable storage media as described in claim 17 , wherein the curvature score of the three-dimensional curve is based at least in part on scores for the intersecting segments and the non-intersecting segments. 19. The one or more non-transitory computer-readable storage media as described in claim 15 , wherein the three-dimensional curve has a topology that includes portions of the three-dimensional curve in front of the three-dimensional object and behind the three-dimensional object. 20. The one or more non-transitory computer-readable storage media comprising the instructions stor

Assignees

Inventors

Classifications

  • Drawing of charts or graphs · CPC title

  • G06T11/23Primary

    using straight lines or curves · CPC title

  • Digital computing or data processing equipment or methods, specially adapted for specific functions (information retrieval, database structures or file system structures therefor G06F16/00) · CPC title

  • Physics · mapped topic

  • G06T11/203Primary

    Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11069099B2 cover?
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 di…
Who is the assignee on this patent?
Adobe Inc
What technology area does this patent fall under?
Primary CPC classification G06T11/23. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 20 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).