Sewing data for embroidery designs systems and methods
11060220 · 2021-07-13
Assignee
Inventors
Cpc classification
B26D5/005
PERFORMING OPERATIONS; TRANSPORTING
International classification
D05B19/08
TEXTILES; PAPER
B26D5/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
Using an existing embroidery design that has been created for applique, data is automatically created for a cutting machine, which will cut the applique. Currently, the user currently has to cut these by hand—a labor intensive process or use a custom die that can be expensive. The process only requires that the applique steps in the sewing sequence are labeled as such. Generally, the applique steps are so labeled in order for the design creator to be able to let the sewer know what they are doing.
Claims
1. A method comprising: obtaining sewing data specifying a plurality of stitches and a plurality of needle penetrations, the sewing data configured for interpretation by an embroidery machine to produce an embroidery design; producing a drawing by drawing the embroidery design onto a bitmap; producing an outline of the drawing; simplifying the outline; producing stitch data based on the outline; adding the stitch data to the sewing data; and storing the sewing data in a non-transitory storage medium.
2. The method of claim 1 wherein the embroidery design is drawn onto the bitmap using a plurality of commands comprising a plurality LineTo commands and a plurality of MoveTo commands.
3. The method of claim 1 wherein the stitch data is added to the sewing data such that the stitch data is sequenced before the plurality of stitches.
4. The method of claim 1 further comprising refining the stitch data by filtering triads of stitch points.
5. The method of claim 4 wherein filtering the triads removes embroidery short stitching effects.
6. The method of claim 1 wherein the outline is simplified by fitting the outline to a Bezier outline.
7. The method of claim 1 further comprising inflating the outline before producing the stitch data.
8. The method of claim 7 wherein inflating the outline creates a single outline.
9. The method of claim 8 further comprising removing underlay stitch data from the sewing data wherein a tatami fill generator produces the stitch data.
10. The method of claim 1 further comprising embroidering cloth to produce embroidery as specified by the sewing data after adding the stich data to the sewing data, the cloth having a pile texture.
11. A method for adapting an embroidery design for use on pile textured cloth, the method comprising: obtaining sewing data specifying a plurality of stitches and a plurality of needle penetrations, the sewing data configured for interpretation by an embroidery machine to produce the embroidery design; producing a drawing by drawing the embroidery design onto a bitmap; producing an outline of the drawing; simplifying the outline by fitting the outline to a Bezier outline; passing the outline to a tatami fill generator that produces stitch data; and producing an embroidery data file comprising the sewing data and the stitch data, wherein the embroidery data file is stored in a non-transitory medium.
12. The method of claim 11 further comprising removing underlay stitch data from the sewing data.
13. The method of claim 12 further comprising refining the outline by filtering triads of stitch points.
14. The method of claim 13 further comprising refining the outline by filtering the triads of stitch points wherein filtering triads removes embroidery short stitching effects.
15. The method of claim 11 further comprising inflating the outline.
16. The method of claim 11 further comprising embroidering cloth to produce embroidery as specified by the embroidery data file.
17. A non-transitory processor-readable medium storing computer program code representing instructions to cause a processor to perform a process for adapting an embroidery design specified by sewing data, the computer program code comprising program instructions, the program instructions causing the processor to perform a method comprising: producing a drawing of the embroidery design on a bitmap by interpreting the sewing data, the sewing data specifying a plurality of stiches and a plurality of needle penetrations, and the sewing data configured for interpretation by an embroidery machine to produce the embroidery design; producing a set of traces around the drawing wherein the traces define an outline of the drawing; simplifying the outline; producing stitch data based on the outline; and storing the stitch data in a non-transitory storage medium.
18. The non-transitory processor-readable medium storing computer program code of claim 17, the method further comprising: inflating the outline; and combining the sewing data and the stitch data such that the sewing data is stored in the non-transitory storage medium when the stitch data is stored in the non-transitory storage medium.
19. The non-transitory processor-readable medium storing computer program code of claim 17, the method further comprising fitting the outline to a Bezier outline.
20. The non-transitory processor-readable medium storing computer program code of claim 17, the method further comprising removing underlay stitch data from the sewing data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The accompanying figures, in which like reference numerals refer to identical or functionally similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the background of the invention, brief summary of the invention, and detailed description of the invention, serve to explain the principles of the present invention.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
DETAILED DESCRIPTION OF THE INVENTION
(17) The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate embodiments and are not intended to limit the scope thereof.
(18) The embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which illustrative embodiments of the invention are shown. The embodiments disclosed herein can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
(19) The disclosed embodiments are described in part below with reference to flowchart illustrations and/or block diagrams of methods, systems, and computer program products and data structures according to embodiments of the invention. It will be understood that certain blocks of the illustrations, and combinations of blocks, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the block or blocks.
(20) These computer program instructions may also be stored in a non-transitory computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the block or blocks.
(21) The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the block or blocks.
(22)
(23)
(24) Two lists 204, 207 are created from the sewing data 106 because, in this example, the sewing data 106 contains a jump command 202. The sewing vectors 205 before the jump command can go into list 1 204 while the sewing vectors 208 after the jump command can go into list 2 207. In practice, more jump commands can result in more lists being created. Furthermore, list 1 204 and list 2 207 do not contain jump commands.
(25) The lists 204, 207 are normalized to remove sewing artifacts 206, 209. Analysis indicates that list 2 defines a closed path, meaning that the first and last points in the list of sewing vectors are closer than a predetermined threshold. Analysis indicates the list 1 204 does not define a closed path. List 1 204 is amended to produce list 1 209 containing sewing vectors 210 wherein the path is closed by adding additional sewing data to the list to thereby close the path. For example, a stitch can be added that connects the first and last points.
(26) List 1 209 and list 2 207 are analyzed and it is determined that the closed path defined by sewing vectors 208 lies inside of the closed path defined by sewing vectors 210. List 1 209 therefore defines an outline while list 2 207 defines a hole inside the outline. List 1 209 and list 2 207 are combined into object 1 211 because the hole is inside the outline. Object 1 211 can then be inflated by inflating the outline by a positive amount and inflating the hole by a negative amount. In the example, list 1 209 has been inflated by a positive amount into list 1 212 while list 2 207 has been inflated by a negative amount into list 2 213.
(27) Inflation is a common geometric term which is slightly different than scaling. It is also known as polygon offsetting and is well known in the art. Where there are ‘Holes’ the inflation uses a negative value, thus reducing the size of the hole.
(28) Object 1 can be simplified to include simplified lists such as list 1 214 and list 2 215. Simplification is the elimination of extra points in the sewing data. There are a number of well-known algorithms such as Douglas-Peucker and its derivatives that eliminate extra points. The outline and hole can also be fitted to Bezier outlines using common fitting techniques such as Newton-Raphson or least squares fitting techniques.
(29) Object 1 can then be transformed into cutting data because the object's data is forward moving, non-repetitive, and possibly spline or cubic Bezier format that is useful to a cutter.
(30)
(31) A bitmap 307 is created that is sized at least as large as the design size 306 and such that the shortest sewing vector 305 is at least two pixels long. The sewing vectors are then drawn onto the bitmap 308. The bitmap can be conditioned 309 by applying a thinning algorithm or a skeletonizing algorithm. The bitmap can then be traced to find a point on the outline and then the outline traced 310 to produce a list, as discussed above. The list is closed if analysis finds that it is open. The cutting data 107 can then be produced from the list.
(32) The embodiments can consist of the usual apparatus of a computer, a program, and an embroidery machine. The software can look for sections of the design with appropriate labels. It also allows the user to select a section for applique. The software uses the sewing data (stitches) which consist of a series of relative or absolute movements (vectors or stitch points or needle penetrations) to create an outline. That outline is then saved in a format that is useful to a cutting machine. Cutters, similar to the vinyl cutters used by sign shops everywhere, have been adapted to the purpose of cutting fabric recently. Currently, the cutters force the user to draw the outlines for the cut using a manual drawing process—using bezier or point input modes. In some cases, they can scan in a picture and auto-trace an outline. These are separate sets of steps which are prone to terrible inaccuracy when making the outline.
(33) The process for converting is not a simple matter of converting formats of the sewing vectors into cutting vectors. The stitch data for an applique position may contain a set of vectors that handle multiple outlines, including holes in outlines, as well as sewing requirements such as tie-offs which are extra stitches that ensure the thread is working and able to be cut between sections. What's required is forward-moving-only data that forms closed polygon outlines.
(34) Exemplary descriptions of steps and instructions for performing the process are now provided.
(35) The stitch data may contain both normal sewing vectors and “jump” commands. These jumps are non-sewing movement commands. When the process sees these commands in the data, it can separate the data into subsections, organized as linked lists with each subsection containing the sewing vectors between two jump commands. The end cases, obviously, are the sewing vectors from the stitch data start to the first jump command and the sewing vectors from the last jump command to the end of the stitch data. Note that here linked lists are used in the interests of a simple explanation whereas, in practice, different data structures such as arrays, trees, hash tables, key-value pairs, etc., can be used to similar effect.
(36) The lists, aka subsections, are now processed into normalized data, which removes certain sewing artifacts.
(37) For each list:
(38) Advance a few stitches into the data, looking for a Euclidean distance of travel away from the start point, (2 mm best current) until a new point is found. Once that is reached, the skipped stitch data in between can be discarded. This process is referred to as ‘skipping tie-off data’ and is used throughout. This Euclidean distance and any of the other tolerances or distance discusses below can be user specified parameters having default values or can be constant values. Note, Euclidean distance is specified here as it has proven useful although other distance measures such as Mahalanobis, Manhattan, etc., can be used in appropriate circumstances.
(39) It is entirely possible for the path to continue around its required outline and past the start point, and it frequently does. The process therefore scans the data iteratively and tracks its path. When and if the path comes back within a tolerance, the closing distance, of the start point, the shape is assumed closed at that point, and that section of data is saved for later processing. The closing distance is typically a distance from the current stitch end to the start point. If found, the stitch whose end is within the closing distance is the closing stitch for that particular shape.
(40) If the length of the design, meaning the total length of all vectors is below a threshold, or the number of useable points is too small (a line, not a polygon), then the list is discarded. The data may be double-stitched, wherein the stitches travel to an endpoint, then reverse direction of travel to come back at or near the start point. Therefore the process scans the data looking for double-stitches and removes the double-back section. The process also discards any data beyond the closing stitch.
(41) It is possible that the data at this point does not form a properly closed path and there is no closing stitch. The path is closed in the usual manner of adding a new tail point between the closing stitch and the start point which closes the outline.
(42) It is also possible that a stitch other than a single or double stitch may exist in the stitch data. This can be determined by analyzing the points in the data and seeing how many are repeated within a certain tolerance, usually 0.2 mm. If there is a plurality of these, an alternate method must be used on this data to get a set of points that run in a forward direction. This can be accomplished with an alternate process, such as:
(43) Alternate Method:
(44) Create a 2-color (e.g., black and white) bitmap that will represent the image, using a pixel ratio that is known so that the vectors will have meaningful scale when drawn such as the shortest vector having a length of two or possibly more pixels. Draw the stitches into the bitmap. Apply a thinning algorithm to the bitmap which will provide sensible single-pixel data. Scan the bitmap for a starting pixel and follow the outline, tracing the path. Thinning algorithms are suggested here because they have been used with success. Other well-known image processing algorithms can similarly skeletonize an image or bitmap.
(45) These steps are well known in all areas of computer graphics, but not used in the embroidery art for this purpose. Once a plurality of pixels has been discovered, the results are checked against the same steps as above for length and closure. If it is long enough, but open, then it is closed.
(46) Alternate method:
(47) The user might use an image of the stitch data and draw on top of it using ordinary computer drawing tools to create an outline from scratch. This is also useful if the user wants to add an applique section to a design that currently does not have one, but is a good candidate (visually) for one.
(48) Sequencing the resultant lists.
(49) Now that we have a plurality of lists containing clean forward-moving-only vector data (cutters don't like a lot of reversals), we can now sort them into outlines and holes.
(50) For each point-list, analyze the remaining point-lists to see if they wholly contain this list. This is achieved using the Winding Number rule, or any similar technique. Lists which are not wholly contained are separated into a group of ‘outline’ lists, and holes are left in the list of point-lists.
(51) Next each hole is analyzed to see which outline contains it, and they are grouped together. This group is an ‘object’. Each object has a single outline and possibly a plurality of holes. There may be several objects.
(52) Optionally:
(53) As applique cloths will need to be attached to the cloth being embroidered, there are always stitches provided to do so in the applique design. These stitches are known as the ‘Material’ stitches. These stitches are either automatically generated or hand-laid by the artist who is creating the design. Often times the automatic creation of these material stitches uses the exact same form and size as the outline of the applique. This process can work if the applique is hand cut by the sewer after the applique has been sewn. However, if the applique is cut in advance, the material stitching may not penetrate the applique cloth, as the applique cloth will be the same size as the stitching. Therefore at the direction of the user, or automatically, the outline of the applique shape may be inflated before cutting. Making this decision can be done as simply as examining the size of the applique and the size of the material stitching, and if they are within a small tolerance (1-2 mm) then the inflation needs to occur.
(54) Inflation is a common geometric term which is slightly different than scaling. It is also known as polygon offsetting and is well known in the art. Where there are ‘Holes’ the inflation uses a negative value, thus reducing the size of the hole.
(55) Optional, depending on the needs of the cutter device:
(56) Now, each point-list within each object is processed by simplification—thus eliminating extra points which can make the cut difficult. The algorithm used is one created by Douglas-Peucker or any readily available derivative. Then the outlines are fitted to Bezier outlines using a common fitting technique such as Newton-Raphson least squares fitting techniques.
(57) Finally each object's data, now in forward-moving, non-repetitive, possibly spline or cubic Bezier format is ready for output to a cutter. The cutters each have a format for their data. A typical example is the HPGL.plt format, which is widely used, although there are many proprietary formats too.
(58) Additionally:
(59) Once a cut outline (cutline) has been created, it is possible to store this cutline alongside the sewing data in the apparatus. This adds a novel benefit of being able to allow the user to select an image, or for the software to create one, simulating fabric of a given or user-chose color, which image is then used in the display to the user for visualization of the applique. The process of display uses the cutline, which is always a closed shape as described, and a pair of bitmaps which will be used to represent the image. The first image is called a bitmap mask and this image is filled with a background color of known value. Then the cutline is drawn on the mask with a different color. The cutline is always at least one pixel smaller on each edge in its representation on the bitmap than the bitmap size.
(60) A loop is run for each pixel in the bitmap and an evaluation is made—if the pixel is background colored data, a determination of that point and whether or not it is inside the actual object is made. Inside is determined true if the point is within the outline, and not within any holes. If it is determined that the point is inside the object shape, then a seeded fill operation is performed, which is a color that fills the inside area, and that color is not background. At the end of the loop the mask bitmap contains a binary image of pixels which are either background or contained in the object.
(61) The next step is to use an image, represented by another bitmap, and placed over the mask bitmap, and a display bitmap. Where the mask bitmap contains drawn pixels, the matching pixel from the image is copied into the display.
(62) In a previous step, the input image may be selected by the user, and certain transforms applied, including brightness, contrast, sepia tone, hue and saturation adjustments for the purpose of matching other colors and even editing may be performed. All of which steps are common to the computer graphics art, and included as a step in the process.
(63) It is not assumed that masked bitmaps are novel. Just the implementation of them in the place is described. There are also transforms that can be applied, too numerous to mention, but by example: rotation, morphing, and alpha channel.
(64) Another Addition:
(65) Prior art (Bailie) has disclosed a method for removing overlapping stitches from a design. This improves the design by removing density which results in damage to equipment, downtime, and even simple production time. The new cutline and masked bitmap allows the process to be extended in such a way that the applique material is now an additional component of the occlusion—causing other stitches which are previously sewn to be unnecessary. Their removal is very useful for the same reasons just mentioned.
(66) An additional item is useful: Tagging the sewing data which are Position and Material runs as NOT to be removed is useful. This stitch data which would be removed during the process normally can now be exempted from the removal. The reason is that Position and Material runs are required where applique materials will be overlapped, according to the designer of the embroidery design. In this case, the stitches that are not part of Position and Material stitches should be removed, and would be, as the subsequent applique would cover them.
(67) Aspects related to automatic global underlay for embroidery designs:
(68) It is often desired to place embroidery on towels or any other items that are composed of a cloth with a texture known as pile. This poses difficulty for the embroiderer as the process of embroidery on that kind of cloth requires a substantial number of stitches to flatten out that cloth before the design is sewn. If the underlying stitches are insufficient, the design will have the texture of the cloth protruding above the embroidery and/or making the texture of the embroidery irregular.
(69) As most designs are not created with this intended purpose, it would be beneficial if there were a way to automatically add such an underlay to any design. This can be accomplished using (the usual apparatus) plus a set of bitmaps, and stitch-creation process.
(70) First a masked bitmap is created. It is filled with no color (black). Then, using a single color, the design is drawn into it. This image when rendered usually has a very irregular edge, one not pleasing to the eye. Due to the nature of stitch data, the bitmap is rendered using LineTo and MoveTo commands, which leave “>” shaped gaps all along the edges of adjacent lines of stitching as can be seen in
(71) If a path-following process around the image is used, these “<” or “>” shaped dents are formed. Nonetheless, a set of traces around the drawn design must be the start of the process. However, additional drawing in the form of a different color, only at points of needle penetration can be performed as shown in
(72) This allows the outline to have more intelligent data and thus the resultant paths can have the pixels between the penetrated points removed. This makes the outline more regular and pleasing. Further improvement can be made by filtering triads of stitch points which are close together, often the result of embroidery short-stitching, which is commonly used as a method to turn the angle of lines of stitches.
(73) Next a simplification of the outline can be made and conversion into Bezier or other outline form thus made.
(74) As there are likely to be a plurality of outlines, it is important to create objects with outlines and holes, as described previously.
(75) Once those outlines exist, a global underlay can be achieved by first, inflating the size of the shapes to some useful value (best practice is 3 mm) as seen in
(76) Then those shapes can be passed to a tatami fill generator which is well defined in the art (best practice for Terry cloth is 3.5 mm stitch length, 1.5 mm line density). The output of the fill generator can then be sequenced as the earliest-sewn data in the design. Thus with a single user action, the process can adapt any design to the desired nappy cloth. Additionally, using the prior art, any stitch data from the original design which is interpreted as underlay may now be removed, as it has been replaced with a superior set of data.
(77) Aspects related to automatic echo quilting for embroidery designs:
(78) Using a similar process to creating a global underlay, wherein the outline and hole data is created for any embroidery design, we can achieve a different effect. The concept of echo quilting is not new to graphics, but in embroidery such items are manually created by a skilled artist.
(79) Outlining stitches with new stitches can be done by taking the objects and handing them to a run stitch generator (or any stitch generator, such as satin, bean stitch, etc.). Further, if we optionally discard any holes, we can then expand the outlines using known polygon inflation techniques to create a single or plurality of outlines which ‘echo’ around the design. This is commonly used by quilters to provide stability to a quilt, using a set of running stitches known as echo quilting. It appears as ripples would in a pond. Further, as each embroidery is constrained by the hoop which will be used to create it, we can cause the echo lines to terminate within the bounds of the hoop, and add tie-off and jump to other echo lines as needed. The user of the software could control the distance and stitch type of the echo lines. Additionally, multiple designs within a hoop could have their outlines inflated together, producing a more visually complex result as the echo patterns interfere with each other, and each echo line can have other stitch actions applied, such as decorative motifs played on the line, etc.
(80) Aspects related to automatic drop shadow embroidery:
(81) Using a similar process to creating a global underlay, wherein the ‘outline’ and ‘hole’ data is created for any embroidery design, we can achieve a different effect. The concept of drop shadow is not new to graphics, but in embroidery such items are manually created by a skilled artist.
(82) In this process, we take a complete set of outlines as proposed above and offset them in a manner described by a user, having little skill and requiring only a visual interest, and offset, inflate with rounding acute corners, monochromatize, and then use a graphical subtraction which created a resulting set of objects that can then have stitches applied. The subtraction includes steps for discovering intersections between the original and copied image, then discarding overlapped regions, however, the drop shadow is compensated such that its shape penetrates the original design by a small amount which is useful in embroidery to prevent gapping in designs, where the background shows through. The user inputs an offset of a vector, containing by definition a distance and an angle. This angle is then used as the angle for a tatami or other patterned fill, well known in the art.
(83) Aspects related to automatic stipple embroidery:
(84) Prior art exists, which has flaws that this overcomes. 1.) Using a similar process to creating a global underlay, wherein the ‘outline’ and ‘hole’ data is created for any embroidery design, we can achieve a different effect. or 2.) Using a user-defined area which typically includes an outer shape, which may be an embroidery hoop area, or some other defined polygon, and optionally an internal area of exclusion such as a design or plurality of designs placed in the hoop area, there is a need to automatically stitch down lines in a pseudo-random order known in the art as stippling. There are several variations on the pattern, but one requirement is near-uniform distance between lines of stitching. And they may not cross.
(85) Prior art has been shown with fractals (Tsonis . . . , Pulse Microsystems, Mississauga, Canada), but that approach has a failure in that the fractal shape does not match the original shape, and thus there are clipped sections causing the stitch to either jump from section to section (undesirable because of time sewing and trimmer [a mechanical device in the machine] wear) or false paths which are too close.
(86) Other prior art—Brother JP—uses a method where the pattern can be trapped and requires an exit to find its way out, which causes the lines of stitching to be closer together than optimal.
(87) These embodiments solve that using maze theory and algorithms, with adaptations for embroidery.
(88) A plurality of tessellated shapes, which may or not be identical in shape, is laid over the desired embroidery region at potentially a user-defined angle, with added spacing between the tessellations, defining graphical cells in a matrix. Each cell has data with it describing its center and the position and state of each edge, along with each edge's availability of an adjacent neighbor. Cells with fewer than two edges that are completely contained in the outline are discarded from the matrix.
(89) As there is a minimal irregularity sometimes desired in stippling, the centers may be randomly offset by some small vector.
(90) Shapes which are partially contained are flagged as such, along with the edges that are available for use in the design (those contained in the shape).
(91) An initial starting point is defined, either randomly or by the user. The software then follows an algorithm (Drunkard's Path example) for selecting and adding cells to the sequence, labeling used cells as it goes, thereby ensuring that a single path can be traced into each and every useable cell in the matrix. Due to the nature of randomization added to the algorithm, the path is always different, although the seed used can be stable or user-altered to change the path. To ensure that the accidental use of continuous forward moves does not occur, the randomizer is presented with a reduced solution set where advancing forward in the same direction as the last move occurred happens. This makes the path turn frequently.
(92) Once the path has been established, there needs to exist a return route in order to achieve the desired effect. For this reason, the actual entry and exit of each cell has its points set at evenly spaced intervals along the edge where travel exists. Thus, the path always forms a closed shape, running twice through each and every cell.
(93) Where the path enters a cell is stable, as that maintains spacing between lines of stitching. Instead of following through the cell, however, the stitches run around the edges of the cell toward the exit edge. This provides additional shape and visual interest to the pattern. This is made possible by the cell spacing, which allows the edges not to touch.
(94) Additional adjustment is made to the points discovered as the path travels through the cells. For each cell where the path enters and then exits, without going through another cell, this cell is flagged for shape adjustments.
(95) The nodes of each entry, exit, and edge travel are set into a list, each given a Bezier handle set (or spline). In the case of Bezier, the handles may be adjusted in length and rotation by small amounts to create imperfect curvature, similar to what a skilled sewer would do by hand. Additional effects can be the lack of curvature and/or the erasure of nodes based on patterns. This produces a random, yet geometrically pleasing image.
(96) Further, the resultant shape can now be taken as an outline and passed to other stitch generating apparatus. In this way motifs (or any other ornamentation) can be added.
(97) A variation of this exists and is known in the industry as “Vermicelli Stitching.” This is similar in that it is random movements of small vector length and those movements are allowed to clip against the actual outlines. In this case we take the original stipple path and allow it to enter any cells that even touch the outline. A similar operation is performed, yet with a simple rule system for internal deformation of each cells travel route. The result is very similar to a manual process that is extremely time-consuming.
(98)
(99)
(100)
(101)
(102)
(103) It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also, that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.