DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
1 This action is in response to the amendment filed on 06/26/2026. Claims 1-4, 6-7, 9, and 15 have been amended. Claims 1-20 remain rejected.
Response to Arguments
2 Applicant’s arguments with respect to claims 1, 9, and 15 filed on 06/26/2026, with respect to the rejection under 35 U.S.C. § 102 regarding that the prior art does not teach the following but not limited to “…by at least one processor in connection with rotating or translating an object in a vector image… the geometric parameters including a normal or a tangent of the path… one or more visual indicators of the normal or the tangent the geometric parameters of the path or the distance from the object to the path in response to a request to rotate or translate the object… a rotation or a position of the object by constraining the rotation or the position of the object according to the geometric parameters of the path or the distance from the object to the path.”. This argument has been considered, but are moot due to new grounds of rejection under 35 U.S.C. § 103, with some clarifications as well. More specifically, the dotted lines (or general but similar lines) that were taught by Phogat does contain a type of display ([0029] reciting “In the example of FIG. 1, the user device 112 is illustrated as including a display 114. The display 114 may be used to provide a graphical user interface (GUI) 115 of the application 108, and/or a browser application used to access the application 108, as just referenced.”; [0042] reciting “In this regard, the term “path” refers to, or includes, any smooth or continuous outline rendered using the display 114. A path is generally independent of the resolution of the display 114, and is therefore scalable as described herein. The term path may include a straight line, a curve, a shape, or various combinations thereof.”), as well as the path (that contains the lines as mentioned previously) specifically having visual indicators ([Abstract] reciting “A visual indicator of the at least one candidate path within the GUI, identifying the at least one candidate path as being within the similarity threshold, may be provided.”).
3 Regarding claims 2-8, 10-14, and 16-20, they directly/indirectly depend on independent claims 1, 9, and 15 respectively. Applicant does not argue anything other than independent claims 1, 9, and 15. The limitations in those claims, in conjunction with combination, were mostly previously established as explained, with various changes that are related to various amendments, some utilizing existing prior art.
Claim Rejections - 35 USC § 103
4 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
5 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
6 Claim(s) 1, 4-5, 9, 11-13, and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Phogat et al. (US 20200118313 A1) in view of Dhanuka et al. (US 20220028140 A1).
7 Regarding claim 1, Phogat teaches a computer-implemented method comprising:
determining, by at least one processor in connection with rotating or translating an object in a vector image ([Abstract] reciting “A pairwise comparison of the key path with the at least one candidate path is executed, the pairwise comparison including characterization of a translation, scaling, and rotation of the at least one candidate path with respect to the key path.”; [0017] reciting “Such systems and techniques overcome technical challenges of previous systems and techniques, and improve the process(es) to perform related automated processing. For example, from within a digital image editing software application, an image object of a vector image may be selected, and then all image objects within the vector image that are the same as, or sufficiently similar to, the image object, will be automatically identified.”), geometric parameters of a path of the vector image and a distance from the object to the path ([0047] reciting “Translation, as referenced above, refers to the distance or difference in location/position within the vector image 118. Translation may be calculated using the centroids of the key path and each corresponding candidate path, such as the translation 126 between the centroids 128, 130 in FIG. 1.”), the geometric parameters including a normal or a tangent of the path ([Abstract] reciting “A visual indicator of the at least one candidate path within the GUI, identifying the at least one candidate path as being within the similarity threshold, may be provided.”; [0036] reciting “Some of the above variations are illustrated in FIG. 1, for the sake of example and explanation. In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”; [0067] reciting “Normalization of these points around the computed center of mass may be executed to establish scale invariance, e.g., P0/=sqrt(P0.columnwise( ).squaredNorm( ).sum( ))/P0.rows( )).”);
generating, by the at least one processor and for display via a graphical user interface displaying the vector image, one or more visual indicators of the normal or a tangent of the path or the distance from the object to the path in response to a request to rotate or translate the object ([Abstract] reciting “A selection of a key path of a vector image displayed using a graphical user interface (GUI) may be received, via the GUI. At least one candidate path of the vector image is identified… A visual indicator of the at least one candidate path within the GUI, identifying the at least one candidate path as being within the similarity threshold, may be provided.”; [0036] reciting “Some of the above variations are illustrated in FIG. 1, for the sake of example and explanation. In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”; [0042] reciting “In this regard, the term “path” refers to, or includes, any smooth or continuous outline rendered using the display 114. A path is generally independent of the resolution of the display 114, and is therefore scalable as described herein. The term path may include a straight line, a curve, a shape, or various combinations thereof.”; [0067] reciting “Normalization of these points around the computed center of mass may be executed to establish scale invariance, e.g., P0/=sqrt(P0.columnwise( ).squaredNorm( ).sum( ))/P0.rows( )).”; [Claim 10] reciting “…receive an edit request with respect to the key path; apply the edit request to the key path; and apply the edit request to the at least one candidate path, using the characterization of the translation, scaling, and rotation therebetween.”); and
modifying, by the at least one processor in response to an input via the graphical user interface, a rotation or a position of the object by according to the geometric parameters of the path or the distance from the object to the path ([0008] reciting “According to one general aspect, a selection of a key path of a vector image displayed using a graphical user interface (GUI) is received, via the GUI. At least one candidate path of the vector image is identified. A pairwise comparison of the key path with the at least one candidate path is executed, the pairwise comparison including characterization of a translation, scaling, and rotation of the at least one candidate path with respect to the key path.”; [0034] reciting “In general, vector images are scalable to a desired size. For example, a vector image can be scaled by mathematically increasing each of the included geometric shapes proportionally, and then rendering the result. Vector images can also be rotated, reflected, colorized, and otherwise edited or modified in a desired manner.”).
8 Phogat does not explicitly teach a rotation or a position of the object by constraining the rotation or the position of the object…
9 Dhanuka teaches a rotation or a position of the object by constraining the rotation or the position of the object ([0120] reciting “Further, in one or more embodiments, the design guide system 112 determines the orientation of the center for each of the digital design objects 604a-604i. In some embodiments, the design guide system 112 determines the orientation of a digital design object by determining the tangent of the digital design object at the attachment point to the initial visual constraint guide 602a. Upon identifying the positions of the digital design objects 605a-604i on the transformed visual constraint guide 602b, the design guide system 112 can also rotate the digital design objects to maintain their alignment relative to the visual constraint guide.”; [0152] reciting “As shown in FIG. 9A, the design guide system 112 receives user input 904 indicating a translation of the visual constraint guide 902. The path of the visual constraint guide 902 moves through a digital design object 906.”) …
10 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat) to incorporate the teachings of Dhanuka to provide a method that includes various parameters to have a normal or a tangent for a path with constraints in regards to a certain type of rotation or positions, utilizing the rotation path methods provided by Phogat. Doing so would allow the method to update the data structures corresponding to a visual constraint guide and a digital design object accordingly as stated by Dhanuka ([0074] recited).
11 Regarding claim 4, Phogat in view of Dhanuka teaches the computer-implemented method of claim 1, wherein modifying the rotation or the position of the object further comprises (see claim 1 rejection above):
determining an initial linear offset between a portion of the object and the path based on the distance from the object to the path; and modifying the position of the object in the vector image to maintain the initial linear offset between the portion of the object and the path (Phogat; [0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path. As referenced above, such a transformation matrix may be calculated in parallel for each of the candidate paths that are the same as, or similar to, the key path.”; [0034] reciting “In general, vector images are scalable to a desired size. For example, a vector image can be scaled by mathematically increasing each of the included geometric shapes proportionally, and then rendering the result.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0059] reciting “For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”).
12 Dhanuka as previously mentioned in claim 1 can further teach the limitations, specifically constraining the rotation of the object modifying ([0120] reciting “Further, in one or more embodiments, the design guide system 112 determines the orientation of the center for each of the digital design objects 604a-604i. In some embodiments, the design guide system 112 determines the orientation of a digital design object by determining the tangent of the digital design object at the attachment point to the initial visual constraint guide 602a. Upon identifying the positions of the digital design objects 605a-604i on the transformed visual constraint guide 602b, the design guide system 112 can also rotate the digital design objects to maintain their alignment relative to the visual constraint guide.”; [0152] reciting “As shown in FIG. 9A, the design guide system 112 receives user input 904 indicating a translation of the visual constraint guide 902. The path of the visual constraint guide 902 moves through a digital design object 906… In other words, even though the visual constraint guide 902 now intersects the digital design object 906, the design guide system 112 does not add the digital design object 906 to a set of intersecting digital design objects that will be modified with the visual constraint guide 902.”) …
13 As explained in the rejection of claim 1, the obviousness for combining of the constraining the rotation of the object of Dhanuka into Phogat is provided above.
14 Regarding claim 5, Phogat in view of Dhanuka teaches the computer-implemented method of claim 4 (see claims 1 and 4 rejections above), further comprising generating, for display via the graphical user interface, a visual indication of the initial linear offset as the position of the object changes (Phogat; [0042] reciting “In this regard, the term “path” refers to, or includes, any smooth or continuous outline rendered using the display 114. A path is generally independent of the resolution of the display 114, and is therefore scalable as described herein. The term path may include a straight line, a curve, a shape, or various combinations thereof.”).
15 Regarding claim 9, Phogat teaches a system comprising:
one or more memory devices comprising a vector image ([0023] reciting “FIG. 1 is a block diagram of a system for digital image editing for identification and modification of similar objects in vector images. The system 100 includes a computing device 102 having at least one memory 104, at least one CPU (central processing unit) 106, and at least one graphics processing unit (GPU) 107. The system 100 also includes at least one digital image editing application 108.”); and
one or more processors configured to cause the system to ([0025] reciting “The at least one processor 106 may represent two or more processors on the computing device 102 executing in parallel, and utilizing corresponding instructions stored using the at least one memory 104.”):
determine, in response to a selection of an object in the vector image, one or more candidate paths of the vector image within a viewport of a graphical user interface displaying the vector image ([Abstract] reciting “A selection of a key path of a vector image displayed using a graphical user interface (GUI) may be received, via the GUI. At least one candidate path of the vector image is identified. A pairwise comparison of the key path with the at least one candidate path is executed, the pairwise comparison including characterization of a translation, scaling, and rotation of the at least one candidate path with respect to the key path.”);
determine geometric parameters of a selected path of the one or more candidate paths and a distance from the object to the selected path ([0047] reciting “Translation, as referenced above, refers to the distance or difference in location/position within the vector image 118. Translation may be calculated using the centroids of the key path and each corresponding candidate path, such as the translation 126 between the centroids 128, 130 in FIG. 1.”), the geometric parameters including a normal or a tangent of the selected path ([Abstract] reciting “A selection of a key path of a vector image displayed using a graphical user interface (GUI) may be received, via the GUI. At least one candidate path of the vector image is identified… A visual indicator of the at least one candidate path within the GUI, identifying the at least one candidate path as being within the similarity threshold, may be provided.”; [0036] reciting “Some of the above variations are illustrated in FIG. 1, for the sake of example and explanation. In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”; [0042] reciting “In this regard, the term “path” refers to, or includes, any smooth or continuous outline rendered using the display 114. A path is generally independent of the resolution of the display 114, and is therefore scalable as described herein. The term path may include a straight line, a curve, a shape, or various combinations thereof.”; [0067] reciting “Normalization of these points around the computed center of mass may be executed to establish scale invariance, e.g., P0/=sqrt(P0.columnwise( ).squaredNorm( ).sum( ))/P0.rows( )).”); and
modify, in response to an input via the graphical user interface, a rotation or a position of the object according to the geometric parameters of the selected path or the distance from the object to the selected path ([0008] reciting “According to one general aspect, a selection of a key path of a vector image displayed using a graphical user interface (GUI) is received, via the GUI. At least one candidate path of the vector image is identified. A pairwise comparison of the key path with the at least one candidate path is executed, the pairwise comparison including characterization of a translation, scaling, and rotation of the at least one candidate path with respect to the key path.”; [0034] reciting “In general, vector images are scalable to a desired size. For example, a vector image can be scaled by mathematically increasing each of the included geometric shapes proportionally, and then rendering the result. Vector images can also be rotated, reflected, colorized, and otherwise edited or modified in a desired manner.”).
16 Phogat does not explicitly teach …a rotation or a position of the object by constraining the rotation or the position of the object…
17 Dhanuka teaches a rotation or a position of the object by constraining the rotation or the position of the object ([0120] reciting “Further, in one or more embodiments, the design guide system 112 determines the orientation of the center for each of the digital design objects 604a-604i. In some embodiments, the design guide system 112 determines the orientation of a digital design object by determining the tangent of the digital design object at the attachment point to the initial visual constraint guide 602a. Upon identifying the positions of the digital design objects 605a-604i on the transformed visual constraint guide 602b, the design guide system 112 can also rotate the digital design objects to maintain their alignment relative to the visual constraint guide.”; [0152] reciting “As shown in FIG. 9A, the design guide system 112 receives user input 904 indicating a translation of the visual constraint guide 902. The path of the visual constraint guide 902 moves through a digital design object 906.”) …
18 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat) to incorporate the teachings of Dhanuka to provide a method that includes various parameters to have a normal or a tangent for a path with constraints in regards to a certain type of rotation or positions, utilizing the rotation path methods provided by Phogat. Doing so would allow the method to update the data structures corresponding to a visual constraint guide and a digital design object accordingly as stated by Dhanuka ([0074] recited).
19 Regarding claim 11, Phogat in view of Dhanuka teaches the system of claim 9, wherein the one or more processors are further configured to cause the system to determine the geometric parameters of the selected path further by (see claim 9 rejection above):
determining an initial linear offset based on the distance from a center of the object to the selected path (Phogat; [0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path. As referenced above, such a transformation matrix may be calculated in parallel for each of the candidate paths that are the same as, or similar to, the key path.”; [0034] reciting “In general, vector images are scalable to a desired size. For example, a vector image can be scaled by mathematically increasing each of the included geometric shapes proportionally, and then rendering the result.”; [0036] reciting “Some of the above variations are illustrated in FIG. 1, for the sake of example and explanation. In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0059] reciting “For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”); and
determining an initial angular offset between the object and the selected path based on the geometric parameters of the selected path and an orientation extracted from metadata of the object (Phogat; [0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path.”; [0035] reciting “Consequently, and considering that vector image objects may easily be copied, duplicated, or created within one or more vector images, it will be appreciated that a given vector image may contain hundreds or thousands of a specific type of vector image object, each of which may have different visual characteristics.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0059] reciting “Based on the pairwise comparison, it may be determined that the at least one candidate path is within a similarity threshold defined with respect to the key path (208). For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”).
20 Regarding claim 12, Phogat in view of Dhanuka teaches the system of claim 11 (see claims 9 and 11 rejections above), wherein the one or more processors are further configured to modify the rotation or the position of the object by rotating, in response to the input changing the position of the object within the vector image, the object to maintain the initial angular offset between the orientation of the object and the selected path (Phogat; [0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path.”; [0036] reciting “As may also be observed from the simplified example of FIG. 1, the cloud 122 has the same shape as the cloud 120, but is oriented at an angle of rotation relative to the cloud 120. On the other hand, the cloud 124 has a different shape than the clouds 120, 122.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0059] reciting “Based on the pairwise comparison, it may be determined that the at least one candidate path is within a similarity threshold defined with respect to the key path (208). For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”).
21 Regarding claim 13, Phogat in view of Dhanuka teaches the system of claim 11 (see claims 9 and 11 rejections above), wherein the one or more processors are further configured to modify the rotation or the position of the object by translating the object along the selected path while maintaining the initial linear offset between the center of the object and points of the selected path nearest to the center of the object (Phogat; [0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path. As referenced above, such a transformation matrix may be calculated in parallel for each of the candidate paths that are the same as, or similar to, the key path.”; [0034] reciting “In general, vector images are scalable to a desired size. For example, a vector image can be scaled by mathematically increasing each of the included geometric shapes proportionally, and then rendering the result.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0059] reciting “For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”).
22 Regarding claim 15, Phogat teaches a non-transitory computer readable medium storing instructions thereon that, when executed by at least one processor, cause the at least one processor to perform operations comprising ([0025] reciting “The at least one memory 104 represents at least one non-transitory computer-readable storage medium. Thus, similarly, the at least one memory 104 may represent one or more different types of memory utilized by the computing device 102. In addition to storing instructions, which allow the at least one processor 106 to implement the application 108 and its various components, the at least one memory 104 may be used to store data.”):
determining, for an object in a vector image, one or more candidate paths of the vector image ([Abstract] reciting “A selection of a key path of a vector image displayed using a graphical user interface (GUI) may be received, via the GUI. At least one candidate path of the vector image is identified.”; [0017] reciting “Such systems and techniques overcome technical challenges of previous systems and techniques, and improve the process(es) to perform related automated processing. For example, from within a digital image editing software application, an image object of a vector image may be selected, and then all image objects within the vector image that are the same as, or sufficiently similar to, the image object, will be automatically identified.”);
determining geometric parameters of a selected path of the one or more candidate paths and a distance from the object to the selected path ([0047] reciting “Translation, as referenced above, refers to the distance or difference in location/position within the vector image 118. Translation may be calculated using the centroids of the key path and each corresponding candidate path, such as the translation 126 between the centroids 128, 130 in FIG. 1.”), the geometric parameters including a normal or a tangent of the selected path ([Abstract] reciting “A visual indicator of the at least one candidate path within the GUI, identifying the at least one candidate path as being within the similarity threshold, may be provided.”; [0036] reciting “Some of the above variations are illustrated in FIG. 1, for the sake of example and explanation. In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”; [0067] reciting “Normalization of these points around the computed center of mass may be executed to establish scale invariance, e.g., P0/=sqrt(P0.columnwise( ).squaredNorm( ).sum( ))/P0.rows( )).”);
generating, for display via a graphical user interface displaying the vector image, one or more visual indicators of the normal or the tangent of the selected path or the distance from the object to the selected path in response to a request to rotate or translate the object ([Abstract] reciting “A selection of a key path of a vector image displayed using a graphical user interface (GUI) may be received, via the GUI. At least one candidate path of the vector image is identified… A visual indicator of the at least one candidate path within the GUI, identifying the at least one candidate path as being within the similarity threshold, may be provided.”; [0036] reciting “Some of the above variations are illustrated in FIG. 1, for the sake of example and explanation. In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”; [0042] reciting “In this regard, the term “path” refers to, or includes, any smooth or continuous outline rendered using the display 114. A path is generally independent of the resolution of the display 114, and is therefore scalable as described herein. The term path may include a straight line, a curve, a shape, or various combinations thereof.”; [0067] reciting “Normalization of these points around the computed center of mass may be executed to establish scale invariance, e.g., P0/=sqrt(P0.columnwise( ).squaredNorm( ).sum( ))/P0.rows( )).”; [Claim 10] reciting “…receive an edit request with respect to the key path; apply the edit request to the key path; and apply the edit request to the at least one candidate path, using the characterization of the translation, scaling, and rotation therebetween.”); and
modifying, in response to an input via the graphical user interface, a rotation or a position of the object according to the geometric parameters of the selected path or the distance from the object to the selected path ([0008] reciting “According to one general aspect, a selection of a key path of a vector image displayed using a graphical user interface (GUI) is received, via the GUI. At least one candidate path of the vector image is identified. A pairwise comparison of the key path with the at least one candidate path is executed, the pairwise comparison including characterization of a translation, scaling, and rotation of the at least one candidate path with respect to the key path.”; [0034] reciting “In general, vector images are scalable to a desired size. For example, a vector image can be scaled by mathematically increasing each of the included geometric shapes proportionally, and then rendering the result. Vector images can also be rotated, reflected, colorized, and otherwise edited or modified in a desired manner.”).
23 Phogat does not explicitly teach a rotation or a position of the object by constraining the rotation or the position of the object…
24 Dhanuka teaches a rotation or a position of the object by constraining the rotation or the position of the object ([0120] reciting “Further, in one or more embodiments, the design guide system 112 determines the orientation of the center for each of the digital design objects 604a-604i. In some embodiments, the design guide system 112 determines the orientation of a digital design object by determining the tangent of the digital design object at the attachment point to the initial visual constraint guide 602a. Upon identifying the positions of the digital design objects 605a-604i on the transformed visual constraint guide 602b, the design guide system 112 can also rotate the digital design objects to maintain their alignment relative to the visual constraint guide.”; [0152] reciting “As shown in FIG. 9A, the design guide system 112 receives user input 904 indicating a translation of the visual constraint guide 902. The path of the visual constraint guide 902 moves through a digital design object 906.”) …
25 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat) to incorporate the teachings of Dhanuka to provide a method that includes various parameters to have a normal or a tangent for a path with constraints in regards to a certain type of rotation or positions, utilizing the rotation path methods provided by Phogat. Doing so would allow the method to update the data structures corresponding to a visual constraint guide and a digital design object accordingly as stated by Dhanuka ([0074] recited).
26 Claim(s) 2-3 and 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Phogat et al. (US 20200118313 A1) in view of Dhanuka et al. (US 20220028140 A1) as of claim 1 and 9, further in view of Lee et al. (US 20200183575 A1) and Le Geyt et al. (US 20160379406 A1).
27 Regarding claim 2, Phogat in view of Dhanuka teaches the computer-implemented method of claim 1 (see claim 1 rejection above), wherein generating the one or more visual indicators of the normal or the tangent of the path comprises generating an indication of a tangent or a normal of a point (Phogat; [Abstract] reciting “A visual indicator of the at least one candidate path within the GUI, identifying the at least one candidate path as being within the similarity threshold, may be provided.”; [0036] reciting “Some of the above variations are illustrated in FIG. 1, for the sake of example and explanation. In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”; [0067] reciting “Normalization of these points around the computed center of mass may be executed to establish scale invariance, e.g., P0/=sqrt(P0.columnwise( ).squaredNorm( ).sum( ))/P0.rows( )).”) .
28 Phogat in view of Dhanuka does not explicitly teach …generating an indication of a tangent or a normal of a point on the path closest to the object.
29 Lee teaches an indication of a a point on the path closest to the object ([Abstract] reciting “Method for providing content search interface in electronic device including executing content on screen; displaying first graphic user interface (GUI) including a first object indicating starting point of content, second object indicating ending point of content, and third object indicating point of playback of content, wherein first object and second object are near each other and third object is displayed on curved path connecting first object and second object; in response to receiving first user input on first GUI, moving third object on curved path”).
30 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Lee to provide a method that can determine if a type of path is close to an object(s) using the plurality of candidate paths provided by Phogat in view of Dhanuka. Doing so would provide for example a method and an electronic device for providing a content search interface as stated by Lee ([0007] recited).
31 Phogat in view of Dhanuka and Lee does not explicitly teach an indication of a tangent or a normal of a point on the path closest to the object
32 Le Geyt teaches an indication of a tangent or a normal of a point on the closest to the object ([0090] reciting “The surface normal vector is a vector that is perpendicular to a plane that is tangent to the geometry of the identified surface. In alternative embodiments, rays may be cast in multiple directions from the tangent plane rather than just in the direction of the surface normal vector. At block 1303, processing logic identifies the first intersection point of the ray with the second component (or with the main mesh) that is closest in distance to the start of the ray.”).
33 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka and Lee) to incorporate the teachings of Le Geyt to provide both a tangent and normal of a point that is closest to an object, utilizing the normal-like points and the methods of if something is close to an object, utilizing the tangent/normal and the path closest to an object methods of Phogat in view of Dhanuka and Lee. Doing so would allow a simplified mesh system as stated by Le Geyt ([Abstract] recited).
34 Regarding claim 3, Phogat in view of Dhanuka, Lee, and Le Geyt teaches the computer-implemented method of claim 2, wherein modifying the rotation or the position of the object further comprises (see claims 1-2 rejections above):
determining an initial angular offset between a portion of the object and the tangent or the normal of the point of the path; and rotating, in response to the input via the graphical user interface, the object to maintain the initial angular offset between the portion of the object and the tangent or the normal of the path as the position of the object changes in the vector image ([0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0059] reciting “Based on the pairwise comparison, it may be determined that the at least one candidate path is within a similarity threshold defined with respect to the key path (208). For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”).
35 Dhanuka as previously mentioned in claim 1 can further teach the limitations, specifically constraining the rotation of the object by rotating ([0120] reciting “Further, in one or more embodiments, the design guide system 112 determines the orientation of the center for each of the digital design objects 604a-604i. In some embodiments, the design guide system 112 determines the orientation of a digital design object by determining the tangent of the digital design object at the attachment point to the initial visual constraint guide 602a. Upon identifying the positions of the digital design objects 605a-604i on the transformed visual constraint guide 602b, the design guide system 112 can also rotate the digital design objects to maintain their alignment relative to the visual constraint guide.”; [0152] reciting “As shown in FIG. 9A, the design guide system 112 receives user input 904 indicating a translation of the visual constraint guide 902. The path of the visual constraint guide 902 moves through a digital design object 906.”) …
36 As explained in the rejection of claim 1, the obviousness for combining of the constraining the rotation of the object of Dhanuka into Phogat (and by extension Lee and Le Geyt) is provided above.
37 Regarding claim 14, Phogat in view of Dhanuka teaches the system of claim 9, wherein the one or more processors are further configured to determine the geometric parameters of the selected path by (see claim 9 rejection above): but does not explicitly teach determining, from the selected path, a point closest to the object; and determining a tangent and a normal of the point closest to the object.
38 Lee teaches determining, from the selected path, a point closest to the object ([Abstract] reciting “Method for providing content search interface in electronic device including executing content on screen; displaying first graphic user interface (GUI) including a first object indicating starting point of content, second object indicating ending point of content, and third object indicating point of playback of content, wherein first object and second object are near each other and third object is displayed on curved path connecting first object and second object; in response to receiving first user input on first GUI, moving third object on curved path”)…
39 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Lee to provide a method that can determine if a type of path is close to an object(s) using the plurality of candidate paths provided by Phogat in view of Dhanuka. Doing so would provide for example a method and an electronic device for providing a content search interface as stated by Lee ([0007] recited).
40 Phogat in view of Dhanuka and Lee does not explicitly teach determining a tangent and a normal of the point closest to the object.
41 Le Geyt teaches determining a tangent and a normal of the point closest to the object ([0090] reciting “The surface normal vector is a vector that is perpendicular to a plane that is tangent to the geometry of the identified surface. In alternative embodiments, rays may be cast in multiple directions from the tangent plane rather than just in the direction of the surface normal vector. At block 1303, processing logic identifies the first intersection point of the ray with the second component (or with the main mesh) that is closest in distance to the start of the ray.”).
42 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka and Lee) to incorporate the teachings of Le Geyt to provide both a tangent and normal of a point that is closest to an object, utilizing the normal-like points and the methods of if something is close to an object, utilizing the tangent/normal and the path closest to an object methods of Phogat in view of Dhanuka and Lee. Doing so would allow a simplified mesh system as stated by Le Geyt ([Abstract] recited).
43 Claim(s) 6 is/are rejected under 35 U.S.C. 103 as being unpatentable over Phogat et al. (US 20200118313 A1) in view of Dhanuka et al. (US 20220028140 A1) as of claim 1, further in view of Jain et al. (US 11372529 B1).
44 Regarding claim 6, Phogat in view of Dhanuka teaches the computer-implemented method of claim 1, wherein modifying the rotation or the position of the object comprises (see claim 1 rejection above): but does not explicitly teach determining that the input via the graphical user interface comprises an input modifier; and constraining the rotation or the position by modifying, in response to the input modifier, the rotation or the position of the object according to the geometric parameters of the path or the distance from the object to the path.
45 Jain teaches determining that the input via the graphical user interface comprises an input modifier ([Page 12; Column 4, Lines 28-33] reciting “Such processing includes creation of the digital image 106, modification of the digital image 106, and rendering of the digital image 106 in a user interface 110 for output, e.g., by a display device 112. Digital images 106 including any form of visual presentation that is capable of being rendered for display in the user interface 110.”); and
constraining the rotation or the position of the object by modifying, in response to the input modifier, the rotation or the position of the object according to the geometric parameters of the path or the distance from the object to the path ([Page 12; Column 3, Lines 39-40] reciting “For any location operation, a variety of anchor points may satisfy constraints of the operation.”; [Page 14; Column 7, Lines 14-20 and 27-34] reciting “Minimum area rotated rectangles are then generated as the first and second bounding boxes 410, 412 based on the respective first and second directional flows 406, 408. Intersection with theses bounding boxes therefore also defines geometric extremes which are rotation invariant and are included as candidate anchor points 204… First and second points of maximum curvature 510, 512 for the respective first and second curvatures 506, 508 define respective first and second candidate anchor points 514, 516 for the respective first and second input geometries 502, 504.”; [Page 15; Column 98, Lines 32-41] reciting “The location management module 232 determines, automatically and without further user intervention, that constraints of a snapping operation 238 are met. The constraints indicate that a first anchor point 806 (based on a priority) of the first object 806 is to be “snapped” to a second anchor point 810 of the second object 808. In response, the first object 806 selected via a user input is repositioned by the module such that the first anchor point 806 is positioned at a location of the second anchor point 810 in the user interface.”).
46 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Jain to provide a type of input modifier for modifying the position and distance of an object(s) with various constraints utilizing the graphical user interface methods taught by Phogat in view of Dhanuka. Doing so would increase user efficiency in interacting with a user interface to create digital images as stated by Jain ([Abstract] recited).
47 Claim(s) 7 is/are rejected under 35 U.S.C. 103 as being unpatentable over Phogat et al. (US 20200118313 A1) in view of Dhanuka et al. (US 20220028140 A1) as of claim 1, further in view of Faulkner et al. (US 20220092862 A1).
48 Regarding claim 7, Phogat in view of Dhanuka teaches the computer-implemented method of claim 1 (see claim 1 rejection above), but does not explicitly teach further comprising: providing, for display via the graphical user interface, a slider element that controls a translation of the object along the path; and constraining the rotation or the position of the object by modifying the position of the object along the path in response to the input via the graphical user interface modifying the slider element.
49 Faulkner teaches providing, for display via the graphical user interface, a slider element that controls a translation of the object along the path; and constraining the rotation or the position of the object by modifying the position of the object along the path in response to the input via the graphical user interface modifying the slider element ([0043] reciting “As another example, a representation of a physical environment may be transformed by graphically modifying (e.g., enlarging) portions thereof, such that the modified portion may be representative but not photorealistic versions of the originally captured images.”; [0204] reciting “In some embodiments, the first user interface object is a control panel, and the second location on the first physical surface corresponds to the position of a second control object (e.g., a button, a slider, a switch, a check box, etc.) in the first user interface object, and the second operation associated with the first user interface object is an operation associated with the second control object, such as turning on/off a device or function, adjusting a value of a control function, selecting a parameter of a function or setting, etc…movement distance (e.g., less than a threshold amount of movement within a threshold amount of time, more than a threshold amount of movement within a threshold amount of time, more than a threshold amount of translation, more than a threshold amount of rotation, etc.), movement path (e.g., linear path, curved path, zigzag path, crossing a threshold position/angle, not crossing a threshold position/angle, etc.)”; [0179] reciting “With the depth data at more points on the top surface as the constraints for the scan, the scan may be performed with more accuracy and speed than from a single point of touch, in accordance with some embodiments.”; [0202] reciting “…movement distance (e.g., less than a threshold amount of movement within a threshold amount of time, more than a threshold amount of movement within a threshold amount of time, more than a threshold amount of translation, more than a threshold amount of rotation, etc.)…”).
50 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Faulkner to provide a method that includes a type of slider for the control of the movement and modifications of an object(s) utilizing the graphical user interface and modification methods provided by the teachings of Phogat in view of Dhanuka. Doing so would allow the detection of movement from the user’s hand in the physical environment as stated by Faulkner ([0204] recited).
51 Claim(s) 8 is/are rejected under 35 U.S.C. 103 as being unpatentable over Phogat et al. (US 20200118313 A1) in view of Dhanuka et al. (US 20220028140 A1) as of claim 1, further in view of Lee et al. (US 20200183575 A1).
52 Regarding claim 8, Phogat in view of Dhanuka teaches the computer-implemented method of claim 1, further comprising (see claim 1 rejection above):
determining a plurality of candidate paths of the vector image within a viewport of the graphical user interface ([Abstract] reciting “A selection of a key path of a vector image displayed using a graphical user interface (GUI) may be received, via the GUI. At least one candidate path of the vector image is identified. A pairwise comparison of the key path with the at least one candidate path is executed, the pairwise comparison including characterization of a translation, scaling, and rotation of the at least one candidate path with respect to the key path.”); and
53 Phogat in view of Dhanuka does not explicitly teach selecting the path from the plurality of candidate paths in response to determining that the path is closest to the object.
54 Lee teaches selecting the path from the plurality of candidate paths in response to determining that the path is closest to the object ([Abstract] reciting “Method for providing content search interface in electronic device including executing content on screen; displaying first graphic user interface (GUI) including a first object indicating starting point of content, second object indicating ending point of content, and third object indicating point of playback of content, wherein first object and second object are near each other and third object is displayed on curved path connecting first object and second object; in response to receiving first user input on first GUI, moving third object on curved path”).
55 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Lee to provide a method that can determine if a type of path is close to an object(s) using the plurality of candidate paths provided by Phogat in view of Dhanuka. Doing so would provide for example a method and an electronic device for providing a content search interface as stated by Lee ([0007] recited).
56 Claim(s) 10 and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Phogat et al. (US 20200118313 A1) in view of Dhanuka et al. (US 20220028140 A1) as of claim 1 and 15, in view of Sharifi et al. (US 20220155946 A1).
57 Regarding claim 10, Phogat in view of Dhanuka teaches the system of claim 9, wherein the one or more processors are further configured to cause the system to (see claim 9 rejection above): but does not explicitly teach to determine the one or more candidate paths further by generating a ranked list including the one or more candidate paths in order based on a distance of the one or more candidate paths to the object; and determine the selected path by selecting a path with a highest ranking from the ranked list.
58 Sharifi teaches determine the one or more candidate paths further by generating a ranked list including the one or more candidate paths in order based on a distance of the one or more candidate paths to the object; and determine the selected path by selecting a path with a highest ranking from the ranked list ([0038] reciting “In some examples, the assistant application 106 generates the ranked list 310 of candidate assistant-enabled devices 210 by selecting the assistant-enabled devices 210 having the N-highest proximity scores 260 among the plurality of proximity scores 260 determined for the plurality of assistant-enabled devices 210 within the environment 32 of the user device 200…In this way, an assistant-enabled device 210 separated from the user device 200 by more than the maximum distance threshold can be effectively filtered out of the ranked list 310 of candidate assistant-enabled devices 210. For example, when the user device 200 is on a first floor, one or more assistant-enabled devices 210 located on a second floor may be excluded from the ranked list 310 of candidate assistant-enabled devices 210. Additionally or alternatively, the ranked list 310 of candidate assistant-enabled devices 210 may exclude any assistant-enabled devices 210 having proximity scores 260 indicating proximity estimations that satisfy a minimum distance threshold.”).
59 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Sharifi to provide a method that can obtain a ranked list, and can select a type of path based on the highest ranking, where the ranked list can include the candidate paths provided by the teachings of Phogat in view of Dhanuka. Doing so would obtain proximity information as well as stated by Sharifi.
60 Regarding claim 16, Phogat in view of Dhanuka teaches the non-transitory computer readable medium of claim 15, wherein determining the one or more candidate paths further comprises (see claim 15 rejection above):
determining, in response to the input comprising a rotation of the object, the one or more candidate paths of the vector image within a viewport of the graphical user interface ([Abstract] reciting “A selection of a key path of a vector image displayed using a graphical user interface (GUI) may be received, via the GUI. At least one candidate path of the vector image is identified. A pairwise comparison of the key path with the at least one candidate path is executed, the pairwise comparison including characterization of a translation, scaling, and rotation of the at least one candidate path with respect to the key path.”);
61 Phogat in view of Dhanuka does not explicitly teach generating a ranked list of the one or more candidate paths based on distances between a center of the object and nearest points of the one or more candidate paths; and determining that the selected path is closest to the center of the object from the ranked list of the one or more candidate paths.
62 Sharifi teaches generating a ranked list of the one or more candidate paths based on distances between a center of the object and nearest points of the one or more candidate paths; and determining that the selected path is closest to the center of the object from the ranked list of the one or more candidate paths ([0038] reciting “In some examples, the assistant application 106 generates the ranked list 310 of candidate assistant-enabled devices 210 by selecting the assistant-enabled devices 210 having the N-highest proximity scores 260 among the plurality of proximity scores 260 determined for the plurality of assistant-enabled devices 210 within the environment 32 of the user device 200. In additional examples, the ranked list 310 of candidate assistant-enabled devices 210 includes only assistant-enabled devices 210 having proximity scores 260 that satisfy a maximum distance threshold. Here, the maximum distance threshold may be configurable and be associated with a far distance between an assistant-enabled device 210 and the user device 200 to indicate that it is unlikely that the user 30 would intend to control that assistant-enabled device 210.”; [0049] reciting “The GUI 400a is non-limiting, and in other examples, the user device 200 may render the graphical element 402 representing the smart speaker 210a associated with the highest proximity score 260 in other locations of the GUI 400a such as the middle, and/or display the graphical element 402 differently than the graphical elements 402 representing the other assistant-enabled devices 210b-d. This display formatting makes it easier for the user 30 to quickly find the respective set of controls 220 for performing the respective set of actions 120 associated with the smart speaker 210a.”).
63 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Sharifi to provide a method that can obtain a ranked list, be able to get a closest point based on the center/middle, and can select a type of path based on the highest ranking, where the ranked list can include the candidate paths provided by the teachings of Phogat in view of Dhanuka. Doing so would obtain proximity information as well as stated by Sharifi.
64 Claim(s) 17-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Phogat et al. (US 20200118313 A1) as of claim 15, in view of Le Geyt et al. (US 20160379406 A1).
65 Regarding claim 17, Phogat in view of Dhanuka teaches the non-transitory computer readable medium of claim 15, wherein determining the geometric parameters of the selected path further comprises (see claim 15 rejection above):
determining an initial angular offset between a portion of the object and the tangent or the normal of the point of the selected path (Phogat; [0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0059] reciting “Based on the pairwise comparison, it may be determined that the at least one candidate path is within a similarity threshold defined with respect to the key path (208). For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”); and
determining an initial linear offset between a center of the object and the selected path, the initial linear offset corresponding to the distance from the object to the selected path (Phogat; [0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path. As referenced above, such a transformation matrix may be calculated in parallel for each of the candidate paths that are the same as, or similar to, the key path.”; [0034] reciting “In general, vector images are scalable to a desired size. For example, a vector image can be scaled by mathematically increasing each of the included geometric shapes proportionally, and then rendering the result.”; [0036] reciting “Some of the above variations are illustrated in FIG. 1, for the sake of example and explanation. In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0059] reciting “For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”).
66 Phogat in view of Dhanuka does not explicitly teach determining a tangent and a normal of a point of the selected path…
67 Le Geyt determining a tangent and a normal of a point of the selected path ([0040] reciting “The mesh simplification system may first identify a back surface of the component using ray casting. Ray casting is a 3D rendering technique where a geometric ray is cast out from a point on a surface of a mesh in the direction of the eye of the observer to determine the closest object blocking the path of that ray.”; [0090] reciting “The surface normal vector is a vector that is perpendicular to a plane that is tangent to the geometry of the identified surface. In alternative embodiments, rays may be cast in multiple directions from the tangent plane rather than just in the direction of the surface normal vector. At block 1303, processing logic identifies the first intersection point of the ray with the second component (or with the main mesh) that is closest in distance to the start of the ray.”)…
68 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Le Geyt to provide both a tangent and normal of a point for a specific path, utilizing the candidate paths and other normal like points taught by the teachings of Phogat in view of Dhanuka. Doing so would allow a simplified mesh system as stated by Le Geyt ([Abstract] recited).
69 Regarding claim 18, Phogat in view of Dhanuka and Le Geyt teaches the non-transitory computer readable medium of claim 17 (see claims 15 and 17 rejections above), wherein modifying the rotation or the position of the object further comprises:
determining that the input comprises a translation of the object (Phogat; [Abstract] reciting “A pairwise comparison of the key path with the at least one candidate path is executed, the pairwise comparison including characterization of a translation, scaling, and rotation of the at least one candidate path with respect to the key path.”);
determining a nearest point of the selected path based on the center of the object (Phogat; [0036] reciting “In particular, as shown, the cloud 120 is separated from the cloud 122 by a translation distance represented by dotted line 126. More particularly, the dotted line 126 illustrates a distance between a center of mass, or centroid, of the cloud 120, shown as point 128, and the centroid of the cloud 122, shown as point 130.”) (Le Geyt; [0040] reciting “The mesh simplification system may first identify a back surface of the component using ray casting. Ray casting is a 3D rendering technique where a geometric ray is cast out from a point on a surface of a mesh in the direction of the eye of the observer to determine the closest object blocking the path of that ray… Alternatively, a single ray may be cast from a particular point on the surface (e.g., from the center of the surface).”); and
modifying the rotation of the object to maintain the initial angular offset for the object relative to an additional tangent or an additional normal of the nearest point of the selected path utilizing a translation matrix (Phogat; [0020] reciting “Moreover, the described techniques provide a mathematical relationship between a key (e.g., selected) path, and each candidate path that is selected as being the same as, or similar to, the key path. For example, the mathematical relationship may be expressed as a transformation matrix, which provides a translation (distance/location), scale factor, and rotation angle between the key path and each candidate path.”; [0045] reciting “That is, such a transformation matrix is constructed between the key path and the first candidate path, between the key path and the second candidate path, and so on for each of the identified candidate paths.”; [0051] reciting “Once a translation matrix is calculated for each pair of key path and candidate path(s), a similarity filter 140 may be configured to select a subset of candidate paths (and corresponding transformation matrices) that are similar to the key path.”; [0059] reciting “Based on the pairwise comparison, it may be determined that the at least one candidate path is within a similarity threshold defined with respect to the key path (208). For example, the similarity filter 140 may be configured to calculate a degree of similarity between each pair of key path and candidate path. Then, the similarity filter 140 may retain only those candidate paths with corresponding degrees of similarity that are within a pre-defined threshold.”).
70 Regarding claim 19, Phogat in view of Dhanuka and Le Geyt teaches the non-transitory computer readable medium of claim 18 (see claims 15 and 17-18 rejections above), wherein modifying the rotation or the position of the object further comprises modifying, in response to the translation of the object, the position of the object to maintain the initial linear offset for the object relative to the nearest point of the selected path (Phogat; [0047] reciting “Translation, as referenced above, refers to the distance or difference in location/position within the vector image 118. Translation may be calculated using the centroids of the key path and each corresponding candidate path, such as the translation 126 between the centroids 128, 130 in FIG. 1. For example, the vector image 118 may be represented using x,y coordinates, and the translation may be expressed using the difference between the respective x,y coordinates of the pair of centroids 128, 130.”) (See claim 18 regarding “nearest point” above).
71 Regarding claim 20, Phogat in view of Dhanuka teaches the non-transitory computer readable medium of claim 15, wherein modifying the rotation or the position of the object further comprises (see claim 15 rejection above):
; and
snapping an orientation of the object to the tangent or the normal of the point of the selected path in response to the input via the graphical user interface ([0067] reciting “In more detail, each centroid may be calculated by aligning all the points of each Bezier spline around their average, e.g., P0=P0.rowwise( )−P0.columnwise( ).mean( ).”).
72 Phogat in view of Dhanuka does not explicitly teach determining a tangent and a normal of a point of the selected path…
73 Le Geyt determining a tangent and a normal of a point of the selected path ([0040] reciting “The mesh simplification system may first identify a back surface of the component using ray casting. Ray casting is a 3D rendering technique where a geometric ray is cast out from a point on a surface of a mesh in the direction of the eye of the observer to determine the closest object blocking the path of that ray.”; [0090] reciting “The surface normal vector is a vector that is perpendicular to a plane that is tangent to the geometry of the identified surface. In alternative embodiments, rays may be cast in multiple directions from the tangent plane rather than just in the direction of the surface normal vector. At block 1303, processing logic identifies the first intersection point of the ray with the second component (or with the main mesh) that is closest in distance to the start of the ray.”)…
74 It would have been obvious to one with ordinary skill before the effective filing date of the claimed invention, to have modified the method (taught by Phogat in view of Dhanuka) to incorporate the teachings of Le Geyt to provide both a tangent and normal of a point for a specific path, utilizing the candidate paths and other normal like points taught by the teachings of Phogat in view of Dhanuka. Doing so would allow a simplified mesh system as stated by Le Geyt ([Abstract] recited).
Conclusion
75 The prior art made of record and not relied upon is considered pertinent to applicant's disclosure:
Rodgers et al. (US 20200320763 A1) teaches when a tangent/normal point in a path to be close to a starting point.
76 Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
77 Any inquiry concerning this communication or earlier communications from the examiner should be directed to JOHNNY TRAN LE whose telephone number is (571)272-5680. The examiner can normally be reached Mon-Thu: 7:30am-5pm; First Fridays Off; Second Fridays: 7:30am-4pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Kent Chang can be reached at (571) 272-7667. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/JOHNNY T LE/ Examiner, Art Unit 2614
/KENT W CHANG/ Supervisory Patent Examiner, Art Unit 2614