YARN AND FABRIC SIMULATION SYSTEM

Abstract: A method, system, and computer program are provided for simulating yarns and fabrics based on yarn parameters and fabric parameters. The yarn parameters may be determined directly from an actual yarn. The fabric parameters may be defined by a user. An actual yarn is modelled using position and orientation vectors, and a perfect yarn fabric is modelled using position vectors based in part on the actual yarn data. The actual yarn model and the perfect yarn fabric model may be combined to create an actual yarn fabric model that can be visually displayed to simulate fabric made from the yarn.

Description: YARN AND FABRIC SIMULATION SYSTEM The present invention relates to a system for representing yarns and fabrics and, in particular, to a system for visually representing yarns and fabrics based on yarn parameters and user-defined fabric parameters . Spun yarn contains both random and periodic irregularities. These irregularities include defects such as neps (small fiber entanglements) and planned features such as slubs (irregularity created during spinning) . Irregularities in yarn may be small (in the range of a millimeter or two) or long (in the range of tens of millimeters and longer) . Yarn irregularities often have great effects, both desirable and undesirable, on the visual appearance of a finished fabric made from the yarn. Thus, different methods of evaluating yarns and their suitability for use in fabrics have been developed. Conventionally, yarn samples have been evaluated using a device called a "yarn card." Typically, yarn cards are trapezoidal, flat pieces of cardboard or metal. The yarn is wound around the card from the thinner end of the trapezoid to the thicker end. Each pair of adjacent yarn portions on a given side of the card has a slightly different length than the proceeding and following pairs of adjacent yarn portions. One skilled in analyzing yarns visually inspects the yarn on the yarn card to determine whether periodic irregularities are present in the yarn and whether they will appear in a fabric made from the yarn. The inspector may be able to detect defects such as moire (a rippled surface pattern) or barre (streaks parallel to weft yarns) . Even if a skilled inspector uses such a yarn card, it is often still difficult to accurately predict the visual appearance of a fabric made from the yarn. This is true at least in part because inspection of carded yarn is a subjective procedure. Therefore, in order to know with certainty how a finished fabric would appear, it is necessary to take samples of yarn and knit or weave a sample of the finished fabric. Making such a test fabric could take as long as a day or more. If the resulting fabric were deemed unacceptable for any reason, any yarn produced during the time it took to create the test fabric sample could be useless to the fabric maker, thereby wasting raw material, and machine and worker effort. It is possible, however, that the yarn used in an unacceptable fabric sample might be suitable for use in a different type of fabric, even though it was unsuitable for the fabric sample actually constructed. The only way to accurately test the yarn in the new fabric is to construct another test sample, incurring further cost and delay. In order to allow better yarn grading and fabric quality predicting, various devices have been developed to measure characteristics of yarns along their lengths . One example of such a system is an optical yarn scanner known as the G 580™, made by Zweigle Textilprύfmaschinen GmbH of Reutlingen, Germany. This device optically obtains information about yarn structure, yarn evenness (a comparison of diameter versus length), hairiness, strength, volume, and other parameters. The G 580™ has been extremely successful in providing a wide variety of yarn data that was not available previously and that can be used to better predict characteristics of fabrics made from the tested yarns. U.S. Patent Nos. 4,812,043, 4,887,155, 4,963,757, 5,319,578, and 5,541,734 describe other devices for determining characteristics of yarn. Although the above devices provide information about yarn structure not detectable with the human eye alone, the information provided still does not always allow precise prediction of the appearance of fabrics made from yarns. Prediction of fabric appearance is especially difficult where complicated weave or knit patterns, or combinations of different yarn types, or both, are used in a fabric. Also, it is difficult to predict fabric appearance based on theoretical yarns modelled by a computer. Further, with theoretical yarns, a yarn card cannot be used and an actual woven or knit fabric cannot be made to evaluate fabric appearance . Thus, the conventional yarn card method of inspecting yarns and the newer devices for measuring yarns do not allow accurate prediction of the visual appearance of a fabric constructed from a particular yarn without creating an actual test sample. It is the principle object of the present invention to provide an improved system for modelling yarns and fabrics that can be readily adapted to various applications. Another object of the present invention is to provide a yarn modelling system that can accept data from existing or future yarn measurement systems and create a useful yarn model. Still another object of the present invention is to provide a fabric modelling system that can model and display a representation of a fabric based on a yarn model . Yet another object of the present invention is to provide a fabric modelling system that can model fabrics including various types of yarns, and various types of weaves, knits, or any other type of fabric. Another object of the invention is to provide a yarn modelling system that can model yarn made according to the parameters of any current or future production process. A further object of the present invention is to provide a fabric modelling system that eliminates much of the subjectivity of the prior art evaluation methods . Yet another object of the present invention is to provide a yarn modelling system that can identify which yarns are suitable for use in certain types of fabrics . Still another object of the present invention is to provide a fabric and yarn modelling method and system that can be embodied in a computer program stored on a computer-readable medium. Another object of the present invention is to provide a fabric and yarn modelling method and system that can model yarns and fabrics based on theoretical yarn information. To achieve these objects and, in accordance with the purposes of the invention, as embodied and broadly described herein, a method is provided for numerically modelling a yarn comprising the steps of measuring the yarn to obtain thickness and length data; creating a three-dimensional map of the surface of the yarn based on the obtained data; identifying points on the surface; calculating position vectors for the points; and calculating orientation vectors for the points. In accordance with another aspect of the invention, a system is provided for numerically modelling a yarn comprising a measurement device for measuring the yarn to obtain thickness and length data; means for creating a three-dimensional map of the surface of the yarn based on the obtained data; means for identifying points on the surface; means for calculating position vectors for the points; and means for calculating orientation vectors for the points. In accordance with another aspect of the invention, a computer program embodied on a computer- readable medium is provided for numerically modelling a yarn comprising a first software module for obtaining thickness and length data based on measurements of the yarn; a second software module for creating a three-dimensional map of the surface of the yarn based on the obtained data; a third software module for identifying points on the surface; a fourth software module for calculating position vectors for the points; and a fifth software module for calculating orientation vectors for the points. In accordance with another aspect of the invention, a method is provided for numerically modelling a yarn comprising the steps of obtaining thickness and length data for the yarn; creating a three-dimensional map of the surface of the yarn based on the obtained data; calculating position vectors for points on the surface; and calculating orientation vectors for the points. In accordance with another aspect of the invention, a method is provided for numerically modelling an actual yarn fabric comprising the steps of measuring a yarn to obtain thickness and length data; numerically modelling the yarn based on the obtained data to create a yarn numerical model; numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; and combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model . In accordance with another aspect of the invention, a system for numerically modelling an actual yarn fabric is provided comprising a measurement device for measuring a yarn to obtain thickness and length data; means for numerically modelling the yarn based on the obtained data to create a yarn numerical model; means for numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; and means for combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model . In accordance with another aspect of the invention, a computer program embodied on a computer- readable medium is provided for numerically modelling an actual yarn fabric comprising a first software module for obtaining thickness and length data based on measurements of a yarn; a second software module for numerically modelling the yarn based on the obtained data to create a yarn numerical model; a third software module for numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; and a fourth software module for combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model . In accordance with another aspect of the invention, a method is provided for numerically modelling an actual yarn fabric comprising the steps of obtaining thickness and length data for a yarn; numerically modelling the yarn based on the obtained data to create a yarn numerical model; numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; and combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model . In accordance with another aspect of the invention, a method is provided for displaying a graphical simulation of a fabric comprising the steps of obtaining thickness and length data for a yarn; numerically modelling the yarn based on the obtained data to create a yarn numerical model; numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model; and displaying a graphical simulation of the actual yarn fabric numerical model . In accordance with another aspect of the invention, a system is provided for displaying a graphical simulation of a fabric comprising means for obtaining thickness and length data for a yarn; means for numerically modelling the yarn based on the obtained data to create a yarn numerical model; means for numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; means for combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model; and an output device for displaying a graphical simulation of the actual yarn fabric numerical model. In accordance with another aspect of the invention, a computer program embodied on a computer- readable medium is provided for displaying a graphical simulation of a fabric comprising a first software module for obtaining thickness and length data for a yarn,- a second software module for numerically modelling the yarn based on the obtained data to create a yarn numerical model; a third software module for numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; a fourth software module for combining the yarn numerical model with the perfect yarn fabric model to obtain an actual yarn fabric numerical model; and a fifth software module for providing a graphical simulation of the actual yarn fabric numerical model. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate at least one presently preferred embodiment of the invention and, together with the description, serve to explain the principles of the invention. Figure 1 is a schematic drawing showing the basic components of the present invention. Figure 2 is a flow chart showing a broad example of a fabric modelling system according to the present invention. Figure 3 is a flow chart showing a detailed example of an actual yarn modelling function of the present invention. Figure 4A is a flow chart showing a detailed example of a perfect yarn fabric modelling function for a woven fabric according to the present invention. Figure 4B is a flow chart showing a detailed example of a perfect yarn fabric modelling function for a knitted fabric according to the present invention. Figure 5 is a flow chart showing how the yarn model and perfect fabric models are combined to produce an actual yarn fabric model according to the present invention. Figure 6 is a diagram showing how a portion of the actual yarn model is created according to the present invention. Figure 7 is a diagram showing how a further portion of the actual yarn model is created according to the present invention. Figure 8 is a diagram showing how a two- dimensional perfect yarn woven fabric model is created according to the present invention. Figure 9 is a diagram, taken along line 9 of Figure 8, showing how a three-dimensional perfect yarn woven fabric model is created according to the present invention. Figure 10 is a diagram of a portion of a three- dimensional perfect yarn woven fabric model according to the present invention. Figure 11 is a diagram showing how the model of Figure 10 might be adjusted according to the present invention if yarn repeats are present. Figure 12 is a diagram showing one loop of a knitted fabric. Figure 13 is a diagram showing points used to approximate the position of the loop of Figure 12. Figure 14 is a diagram showing a portion of a three-dimensional perfect yarn knitted fabric model according to the present invention. Figure 15 is a diagram showing how the actual yarn model and the perfect yarn fabric model are combined to achieve an actual yarn fabric model according to the present invention. Figure 16 is a diagram showing how a shading is applied to the actual yarn fabric model according to the present invention. Reference will now be made in detail to the presently preferred embodiments in the invention, one or more examples of which are illustrated in the accompanying drawings . Each example is provided by way of explanation of the invention, and not limitation of the invention. In fact, it will be apparent to those skilled in the art that various modifications and variations can be made from the examples described herein without departing from the scope and spirit of the invention. For example, features illustrated or described as part of one embodiment can be used on another embodiment to yield a still further embodiment. Thus, it is intended that the present invention include such modifications and variations as come within the scope of the appended claims and their equivalents . The numbering of the components and the drawings is consistent throughout the application, with the same or like components having the same or like numbers in each of the drawings . A representation of the preferred embodiment of the modelling system according to the present invention is depicted generally in Figure 1. The modelling system 20 includes a general purpose computer 22, a user input device 24, a data input device 26, and an output device 28. General purpose computer 22 may comprise any commonly available general purpose computer including a central processing unit, controller, memory, device drivers, and input and output interfaces. Preferably, general purpose computer 22 should have at least 96 Mbytes of memory and a processor speed of 150 MHz in order to permit the numerous calculations to be performed according to the present invention to be carried out and to be done without undue delay. However, any computer suitable for obtaining the inputs, performing the calculations, and providing the outputs described below may be utilized according to the invention. User input device 24 may comprise any commonly available keyboard or mouse, or a combination of both. Output device 28 may comprise any commonly available CRT display or printer, or both. By using the user input device 24 and output device 28, the user can specify the type of fabric to be modelled according to parameters such as knit or weave pattern, density of yarns in weave pattern or courses and wales in knit pattern, yarn selection for different parts of pattern, and color and dimensions of fabric. The memory of computer 22 can store any type of fabric pattern for selection by the user, or the user can define the fabric pattern from scratch. Preferably, computer 22 prompts the user, via the CRT, to indicate, via the keyboard and/or mouse, the information needed for system 20 to create the desired fabric model . Data input device 26 is preferably a yarn evenness tester or other device for determining thickness of an actual yarn. The G 580™ device discussed above is well suited for use as data input device 26, although other devices could also be used for this purpose. Whichever device is chosen as data input device 26, it should preferably measure at least yarn thickness at various points along a strand of yarn and input the sets of corresponding thickness and position data to computer 22. As will be described below, computer 22 stores this data in an array in the memory, and later uses the data to generate a geometric model (an "actual yarn model") of the surface of the yarn or yarns measured. Alternately, data input device 26 could be a source of three-dimensional yarn information. For example, the data input device 26 could provide three- dimensional information about yarn profiles that include a surface map of various points on a yarn surface, rather than just the corresponding length and diameter data provided by an evenness tester. Alternately, the data input device 26 could be a source of a geometric model (a "theoretical yarn model") of a yarn not based on a measurement of an actual yarn such as that provided by a CAD system. Theoretical yarn models may include any combination of regularly repeating and randomly occurring features, whether desired or undesired, and can be computer- generated or user-defined. Thus, not only is the present invention suitable for providing fabric models of fabrics containing actual yarn models, but the present invention is also capable of providing fabric models of fabrics containing theoretical yarn models . Further, the present invention is capable of generating fabric models combining both actual yarn models and theoretical yarn models. Fig. 2 shows generally the basic steps utilized by system 20 to achieve a fabric model. First, system 20 numerically models 30 the yarn or yarns to be used. The numerical model of each yarn to be used is preferably based on information output from an evenness tester or other like device, although the information could represent a theoretical yarn generated by a computer or defined by a user. If multiple yarns are to be used, a separate numerical model must be created for each yarn. Second, system 20 numerically models 32 a version of the desired fabric made from perfect yarns (i.e., perfectly cylindrical yarns) . Finally, system 20 combines all of the yarn models created in step 30 with the fabric model created in step 32 to create 34 a finished 5 fabric model which is provided to the user via output device 28. Steps 30, 32, and 34, and the sub-steps shown in Figs. 4A, 4B, and 5, may be embodied n software modules of a computer program stored in computer 22. Each of the sub-steps forming the three 0 basic steps will now be described in detail. Fig. 3 shows a breakdown of the sub-steps involved in creating a numerical model of a yarn according to the present invention. Steps 30, 32, and 34, and the sub-steps shown in Figs. 4A, 4B, and 5 may 5 be embodied in software modules of a computer program stored in computer 22. First, yarn length and thickness data is obtained 36, preferably from an evenness tester. The data should be provided in sets of two, each set including a length bit measured from 20 the end of the yarn and a corresponding thickness bit. Thus, at the first end of the yarn, the length measurement would be zero. The next sampling point along the yarn would have a length measurement equal to the sampling interval . Each further succeeding 25. sampling point would have a length measurement equal to that of the previous sampling point plus the sampling interval, and so on until the end of the yarn is reached. The present invention is suitable for use with yarns having lengths in the range of several 30 kilometers or more. As stated above, the yarn length and thickness information may alternately be obtained from a theoretical yarn model, if desired. The sets of data are preferably provided in digital form. If analog data is provided by data 35 input device 26, computer 22 should include an analog to digital converter (not shown) . Once the data sets are obtained, computer 22 stores them in its memory array. After the yarn length and thickness data is obtained for each of the yarns to be used, a three- dimensional surface map of each yarn is created 38, as shown in Fig. 3. Fig. 6 is an example of such a three-dimensional surface map 40 showing a mathematically defined yarn surface 42. In creating map 40, two assumptions are made. First, it is assumed that along all points of the yarn length the axial cross-section is circular. Second, it is assumed that the change in diameter of the yarn can be effectively approximated using a mathematical spline interpolation. Thus, the actual yarn model according to the present invention is a tube of varying diameter, symmetrical about its central, longitudinal axis . As shown in Fig. 6, the yarn central axis lies along the z-axis of a world coordinate system. Point 1 0 is on the central axis of the yarn at the first end of the yarn, point 1 2 is on the central axis spaced one sampling interval away, and point 1 4 is on the central axis spaced two sampling intervals away. The diameter d 0 at point 1 0 is equal to the measured thickness at the end of the yarn, d 2 is the thickness at point 1 2 , and d 4 is the thickness at point 1 4 . If the sampling interval provided by data input device 26 is small enough, the next step 44 in Fig. 3, dividing surface 42 into patches, can be performed directly using points 1 0 , 1 2 , I 4 / etc. For example, the G 580™ evenness tester uses a 2 mm sampling interval. Although this interval is sufficient for some applications, applicants have determined that a sampling interval of approximately one-quarter of a millimeter provides more accurate fabric modelling, especially for knitted fabrics. Thus, it may be desirable to interpolate the diameters of additional points between the sampled points. As shown in Fig. 6, points l x and 1 3 are interpolated points along the yarn central axis having diameters d τ and d 3 . In Fig. 6, the diameters based on measured thicknesses (d 0 , d 2 , and d 4 ) are shown in solid lines, and the interpolated diameters (d x and d 3 ) are shown in broken lines. Although only one interpolated diameter is shown between each pair of measured diameters, it should be understood that any number of diameters may be interpolated between each adjacent pair of measured diameters within the scope of the invention. Although, interpolation of diameters will likely improve results based on currently available evenness testers, interpolation is not required according to the present invention. Any interpolated data is stored in the memory array of computer 22. As shown in Fig. 3, the next step 44 in obtaining a yarn model is dividing surface 42 into patches. Fig. 7 shows the division of surface 42 between two adjacent points, l n and l n+1 , into six patches 46a-46f . Preferably, the surface between two adjacent points is divided into at least five to seven patches to ensure the accuracy of the fabric model. As shown in Fig. 7, patches 46a-46f would be roughly trapezoidal or rectangular (depending on the relative sizes of the diameters of points l n and l n+1 ) if flattened. The next step 48, as shown in Fig. 3, in obtaining a yarn model is calculating the position of the corner points of the patches. As shown in Fig. 7, the corner points of patch 46a are points l n( i), l n(2) l n+ i(i ) , and l n+ i( 2 ) • As is apparent, each corner point is a common corner point to four patches. A two- dimensional position vector is determined to define the position of each corner point relative to the central axis of the yarn. As shown in Fig. 7, vectors n( i) P n ( 2 )/ Pnti(i) and p n+1(2) respectively, define the positions of the above four corner points relative to the z-axis. As shown in Fig. 3, the next step 50 in modelling the yarn is calculating the orientation of surface 42 at the corner points of the patches. As shown in Fig. 7, the orientation of the corner points l n(1) -l n+1(2) is indicated by three-dimensional orientation vectors ° n (i) -° n+ i( 2 ) • Tne orientation vectors are perpendicular to surface 42 of the yarn model and are not necessarily perpendicular to central axis of the yarn. All eight calculated vectors are then stored in the memory array of computer 22. At this point, based on thickness information obtained from data input device 26, at each sampling interval and any interpolated length of yarn, the locations of a plurality of points on the yarn surface have been mapped with a two-dimensional vector, and the orientation of the surface at each point has been mapped with a three-dimensional vector. .Thus, the "actual yarn model" is now complete. It should be understood, however, that the position and orientation vectors for points all along a theoretical yarn could also be obtained using the same calculations described above according to the invention. Further, if three- dimensional yarn surface data were provided by input device 26, the position and orientation vectors could readily be calculated using that data as well. Different models are made if different yarns are to be used in a single fabric, and the modelling of a multi- yarn fabric is identical to that of a single-yarn fabric, except for the selection of yarns in the model . Prior to creating actual yarn fabric model 34, the computer 22 must generate perfect yarn fabric model 32 for combination with actual yarn model 30. Perfect yarn fabric model 32 is constructed according to stored parameters or parameters input by the user through user input 24. In numerically modelling the perfect yarn fabric (but not the actual yarn fabric) , it is assumed that all yarns in the fabric are perfect yarns and all yarns have the same diameter as each other. Although these assumptions are not necessarily true for all modelled fabrics, the assumptions simplify the model without unduly adversely affecting the actual yarn fabric model ultimately constructed. Because woven fabrics and knitted fabrics are modelled in different ways, the modelling of each type of fabric will be described separately below. Fig. 4A shows the steps used to numerically model 32a a woven fabric. First, computer 22 obtains 52 data regarding the fabric to be modelled from the user via the user input device 24. For a woven fabric, this data includes the type of weave pattern, the density of the weave pattern, etc. Next, computer 22 creates 54 a two-dimensional model of the perfect yarn fabric centerlines . Fig. 8 shows such a two-dimensional yarn model 56, including crossed warp yarns 58 and weave yarns 60. The distance between the adjacent warp and weave yarns is determined in part by the weave pattern, and in part by the yarn density. Next, computer 22 reads the array of yarn thickness data obtained from data input device 26 and calculates 62 an average thickness for all of the yarns to used in the fabric. Since it is assumed that all yarns in the perfect fabric have equal diameters, the centerlines of two contacting yarns will always be spaced one yarn average diameter apart, which beneficially simplifies the fabric model. The computer then creates 64 a three-dimensional map of the centerlines of yarns 58 and 60. The three- dimensional map may be better understood with reference to Fig. 9, which shows in three dimensions a portion of two-dimensional fabric model 56. In Fig. 9, the positions of the centerlines of warp yarns 58, at their points of contact with weave yarns 60, are indicated by points 58a. Similarly, the positions of the centerlines of the weave yarns 60, at their points of contact with warp yarns 58, are indicated by points 60a. In order to create the three-dimensional map, the three-dimensional location of these points must be determined 66. Preferably, the three-dimensional map 56a of yarn centerlines includes sample points spaced apart along the yarn length the same distance as are the sample points (l n , l n+ι ) calculated along the actual yarn model shown in Fig. 7. If so, the actual yarn model and the perfect yarn fabric model may be readily combined. Thus, in order to create a suitable three- dimensional centerline map 56a of the perfect fabric, it is likely necessary to interpolate additional points between the contact points 58a, 60a of yarns 58 and 60. As shown in Figs. 8 and 9, the positions of points 58b and 60b can be interpolated between points 58a and 60a, respectively, using any suitable method of interpolation. Fig. 10 shows an example of a part of a completed (interpolated) three-dimensional map of points along the centerlines of yarns 58, 60 in a woven fabric, along with the axes of a world coordinate system 70. Position vectors 68 for each of points 58a, 58b, 60a, and 60b shown in Fig. 9 can be determined relative to world coordinate system 70, thereby providing a vector map of the positions of centerlines of yarns 58 and 60. Two such positional vectors 68 are shown in Fig. 9 by way of example. Sets of the positional vectors are stored in memory array of computer 22 according to individual strand of yarn within the fabric. Thus, each set of vectors provides the position of the centerline of a given yarn within the fabric model, and the complete group of vector sets provides a model of the centerlines of the yarns within the entire perfect yarn fabric. If the fabric parameters input by the user call for two or more adjacent warp or weave yarns that do not have a weave or warp yarn between them, the fabric model may optionally be improved slightly by calculating 72 yarn position adjustments prior to determining the positional vectors 68. As shown in Fig. 11, yarns 74 will move toward each other from the dotted line positions to the solid line positions because they are not separated by a perpendicular yarn such as yarn 76, which instead passes over them. The amount of deflection that each yarn would move toward the other can be approximated by a rigidity constant times the diameter of the yarn. The rigidity constant is roughly proportional to the diameter of the yarn and, for yarns in the range of 0.3 to 0.4 mm diameter is in the range of one-tenth. Thus, it can be roughly approximated that such a yarn would move about one tenth of its diameter in such a weave pattern. This information can be used, if relevant and if improved accuracy is desired, to adjust some of the centerline position vectors 68. In any event, adjustment step 72 is optional, and is not required within the scope of the present invention. Whether adjustment step 72 is performed or not, the set of positional vectors 68 can be combined with the position and orientation vectors calculated previously to create an actual yarn woven fabric model, as will be described in further detail below. The present invention also includes creating a perfect yarn fabric model of a knit fabric, as shown in Fig. 4B. Specifically, a single jersey knit fabric may be modelled according to the steps described below. In developing the perfect yarn knit fabric model, is presumed that each loop of the fabric is essentially symmetrical to each other loop, and that the shape of each' loop is approximately defined by a common bispline curve. It is also presumed that the yarn in a knitted fabric will self-adjust once knitted so as to, within the limits of the fabric structure, minimize the amount of curvature in points along the yarn. Minimal curvature implies maximal radius of curvature. The radius of curvature of any point along the -bispline curve is proportional to the second derivative of the curve equation at that point. Thus, it is presumed that the set of constant parameters for a common bispline equation that, for point samples at intervals along the length of the curve, maximizes the sum of the second derivatives of the equation, is the set of parameters that would provide the most likely configuration for the bispline (i.e., fabric loop). Applicants presumed that iterative testing of various values for bispline parameters until the parameter set that provided a maximum sum of second derivative values along the curve was achieved could give an accurate model of a fabric loop. The user-input course/wale density parameters can be used to alter the bispline equation somewhat prior to iterative solving. It is presumed that knits other than single jersey knits could be similarly modelled using similar equations and methods, and the present invention is not limited to the one example of a single jersey knit fabric disclosed herein. Whatever fabric model is used, the process for creating a three-dimensional perfect yarn knitted fabric model is. shown in Fig. 4B . First, as in the woven fabric model, the fabric data is obtained 78 from the user via user input device 24. Then, as in the woven model, the average diameter of all actual yarns measured is calculated 80. Finally, using the bispline equations discussed above, the fabric data, and the average yarn diameter, a three dimensional model of a yarn loop is calculated 82. As shown in Fig. 12, single loop 84 of a single jersey knit extends between points A and B. According to the invention, the positions of points 86 along the center line of single loop 84 are determined to create the perfect yarn fabric model . In order to make this determination, the positions of thirteen of such points for each loop are determined using the following assumptions. As shown in Fig. 13, the positions of thirteen points i-xiii are determined for each loop. The positions are based in part on the height and width of the loop 84, which are input by the user through user input device 24. Specifically, the user specifies the number of wales and courses per inch, and the reciprocals of these numbers are the values of height and width. The mean diameter of the yarn to be used is also determined. According to this information, the positions of the thirteen points identified on Fig. 13 are determined with respect to a coordinate system based in the center of loop 84. As set forth in the Table below, the positions of the thirteen points are assumed to have the following coordinates. Table If points in addition to those identified are desired to improve the accuracy of the simulation, the locations of these points can be calculated with a standard cubic spline interpolation after the positions of points i-xiii are determined. In determining the values used in the Table, two assumptions were made. First, every loop is symmetrical around the y-axis. Therefore, the y- coordinate of point iv and point ix are the same. Further, it was assumed that every loop within the fabric has the same shape. Therefore, the x- coordinate of points i and iv, and the y-coordinate of points i and xii, are the same. Making these assumptions reduces the number of unknown parameters to seven (a α to a 7 ) . As mentioned above, it is assumed that a loop of real fabric will obtain a position in which the curvature of the loop is minimized. To determine this position for points i to xiii, parameters a x to a 7 were varied for all possible values of these parameters and the sum of the curvature along the loop was calculated for each set of parameters by taking the second derivative of cubic spline interpolations fitted piecewise between points i to xiii, as defined by parameters a x to a 7 . The set of parameters a x to a that produces the minimum curvature for the set of height, width, and diameter values is presumed to be the set of parameters that represents the actual orientation of a loop within a real knitted fabric. Iteratively varying parameters a α to a 7 for a given set of height, width, and diameter values and determining the sum of the curvature of the loop is an extremely time consuming process, even using conventional computers. Thus, it is useful to calculate the desired values of parameters of a x to a 7 for each possible set of height, width, and diameter values that may be utilized in a model. Once determined, the parameter values can be stored in the memory array for instant access during use of the system. If enough sets of a λ to a 7 values based on height, width, and diameter values are determined in advance, a α to a 7 values for other sets of height, width, and diameter values not calculated can be readily interpolated from the memory array. Once the desired set of parameters a- to a 7 are determined, the set of thirteen points i to xiii can readily be determined from parameters a λ to a 7 . If desired, additional points between points i to xiii can be interpolated also. Points i to xiii (and any interpolated points) define the center line of a loop of knitted fabric and, by adding increments in the x and y directions, the center lines of the yarns of the entire perfect yarn fabric are then obtained. The x, y, and z coordinates for each point define position vector 88 that is stored in the memory array. Fig. 14 shows a portion of the generated perfect yarn fabric model, with points 86 lying along centerlines of loops 84 calculated as explained above. Points 86 may correspond to points i to xiii and any additional interpolated points. As broadly shown in Fig. 2, the actual yarn model 30 and the perfect yarn fabric model 32 are then combined to create the actual yarn fabric model 34. As indicated more specifically in Fig. 5, the actual yarn fabric model is created through combining the yarn-defining vectors 48,50 with the fabric-defining vectors 68 or 88. Fig. 15 shows how this combination is made . In Fig. 15, line 92 is a centerline of a yarn in a perfect yarn fabric model, such as the centerline of yarn 58 in Fig. 9, although line 92 could represent any yarn centerline. Points 94 and 96 represent both two of points 58a and b from Fig. 9 and points l n and l n+1 from Fig. 7. Perfect yarn fabric model vectors 68 in Fig. 15 locate points 94 and 96 relative to world coordinate system 70. Thus, once vectors 68 locate points 94 and 96, actual yarn position vectors p n( i ) - p n+ i( 2 ) locate surface points l n(1) -l n+α(2) , and actual yarn orientation vectors o n(1) -o n+1(2) to provide a vector model of the desired fabric made from the actual yarn measured. After generating the actual yarn fabric vector model, it can be provided to the user via output device 28. Preferably, the vector model is output to the user so that it can be visually inspected. To do so, as shown in Figs. 5 and 16, a light, source position and type, and well as an eye position and fabric orientation are chosen 98 for constructing a virtual picture of the modelled actual yarn fabric 100. These choices can be made by the user through user input 24, or can be default choices stored in the memory of computer 22. Next, a standard Gouraud shading algorithm, as is well known in the art, is applied 102 to the vector model of the fabric in order to generate pixel brightness information which can be used to construct a pictorial representation of the actual yarn fabric. If desired, a color may be applied to the representation as well, which can be measured from the actual yarn and input to the computer 22 via the data input device 26 or which can be chosen by the user. The pictorial representation of the actual yarn fabric may then be output 104 to the user via the output device 28 (CRT or printer) . The user can then evaluate the appearance of a simulated fabric made from the actual yarn measured. From the generated representation of the fabric, the user should be able to detect visual effects such as banding, streaking, cloudiness, or dullness, as described above. In order to improve the visibility of these effects, a high resolution CRT and/or color printer should be used. The user can therefore make quality control decisions, and can determine whether the measured yarns are suitable for the fabric modelled. It should be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the invention. For example, steps indicated and described as separate steps can be performed together as a single step, or vice versa. Also, it should be apparent that the specific mathematical splines, interpolations, and shading algorithms used are not limiting, and other suitable mathematical splines, interpolations, and shading algorithms may be substituted within the scope of the invention. Thus, it is intended that the present invention includes such modifications and variations.

Claims: Claims 1. A method for numerically modelling a yarn comprising the steps of: measuring the yarn to obtain thickness and length data; creating a three-dimensional map of the surface of the yarn based on the obtained data; identifying points on the surface; calculating position vectors for the points; and calculating orientation vectors for the points. 2. The method of claim 1, wherein the measuring step is performed by an evenness tester. 3. The method of claim 1, wherein any given pair of the points on the surface that are adjacent along the direction of the longitudinal axis of the yarn is spaced no more than about 2 mm apart . 4. The method of claim 3, wherein the given pair of points is spaced no more than about mm apart . 5. The method of claim 1, wherein any given set of the points on the surface that lie on a common circumference of the yarn includes at least 5 of the points . 6. The method of claim 5, wherein the given set includes at least 7 points. 7. A system for numerically modelling a yarn comprising: a measurement device for measuring the yarn to obtain thickness and length data; means for creating a three-dimensional map of the surface of the yarn based on the obtained data; means for identifying points on the surface; means for calculating position vectors for the points,- and means for calculating orientation vectors for the points . 8. The system of claim 7, wherein the measuring device includes an evenness tester. 9. The system of claim 7, wherein any given pair of the points on the surface that are adjacent along the direction of the longitudinal axis of the yarn is spaced no more than about 2 mm apart . 10. The system of claim 9, wherein the given pair of points is spaced no more than about M mm apart . 11. The system of claim 7, wherein any given set of the points on the surface that lie on a common circumference of the yarn includes at least 5 of the points . 12. The system of claim 11, wherein the given set includes at least 7 points. 13. A computer program embodied on a computer- readable medium for numerically modelling a yarn comprising: a first software module for obtaining thickness and length data based on measurements of the yarn; a second software module for creating a three- dimensional map of the surface of the yarn based on the obtained data; a third software module for identifying points on the surface; a fourth software module for calculating position vectors for the points; and a fifth software module for calculating orientation vectors for the points. 14. The computer program of claim 13 , wherein the points identified by the third software module are spaced so that any given pair of the points on the surface that are adjacent along the direction of the longitudinal axis of the yarn is spaced no more than about 2 mm apar . 15. The computer program of claim 14, wherein the given pair of points is spaced no more than about Yi mm apart . 16. The computer program of claim 13, wherein the points identified by the third software module are spaced so that any given set of the points on the surface that lie on a common circumference of the yarn includes at least 5 of the points. 17. The computer program of the claim 16, wherein the given set includes at least 7 points. 18. A method for numerically modelling a yarn comprising the steps of: obtaining thickness and length data for the yarn; creating a three-dimensional map of the surface of the yarn based on the obtained data; calculating position vectors for points on the surface; and calculating orientation vectors for the points. 19. A method for numerically modelling an actual yarn fabric comprising the steps of : measuring a yarn to obtain thickness and length data; numerically modelling the yarn based on the obtained data to create a yarn numerical model; numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; and combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model . 20. The method of claim 19, wherein the measuring step includes measuring a plurality of yarns, and the numerically modelling the yarn step includes creating a yarn numerical model for each of the yarns, and the combining step includes combining the yarn numerical models with the perfect yarn fabric model . 21. The method of claim 20, wherein an average diameter of the plurality of yarns is used as a diameter of perfect yarns in the perfect yarn fabric numerical model . 22. The method of claim 19, wherein the perfect yarn fabric is a knit fabric. 23. The method of claim 19, wherein the perfect yarn fabric is a woven fabric. 24. The method of claim 19, further including the step of obtaining fabric parameter information from a user. 25. The method of claim 24, wherein the fabric parameter information includes a yarn pattern. 26. The method of claim 24, wherein the fabric parameter information includes a yarn density. 27. A system for numerically modelling an actual yarn fabric comprising: a measurement device for measuring a yarn to obtain thickness and length data; means for numerically modelling the yarn based on the obtained data to create a yarn numerical model; means for numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; and means for combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model. 28. The system of claim 27, wherein the measuring device obtains data for a plurality of yarns, the means for numerically modelling the yarn creates a yarn numerical model for each of the yarns, and the means for combining combines the yarn numerical models with the perfect yarn fabric numerical model . 29. The system of claim 28, wherein an average diameter of the plurality of yarns is used as a diameter of perfect yarns in the perfect yarn fabric numerical model . 30. The system of claim 27, wherein the perfect yarn fabric is a knit fabric. 31. The system of claim 27, wherein the perfect yarn fabric is a woven fabric. 32. The system of claim 27, further including the step of obtaining fabric parameter information from a user. 33. The system of claim 27, wherein the fabric parameter information includes a yarn pattern. 34. The system of claim 27, wherein the fabric parameter information includes a yarn density. 35. A computer program embodied on a computer- readable medium for numerically modelling an actual yarn fabric comprising-. a first software module for obtaining thickness and length data based on measurements of a yarn; a second software module for numerically modelling the yarn based on the obtained data to create a yarn numerical model; a third software module for numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; and a fourth software module for combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model . 36. The computer program of claim 35, wherein the first software module obtains data for a plurality of yarns, the second software module creates yarn numerical models for each of the yarns, and the fourth software module combines the yarn numerical models with the perfect yarn fabric model . 37. The computer program of claim 36, wherein the third software module calculates an average diameter of the plurality of yarns to use as a diameter of perfect yarns in the perfect yarn fabric numerical model . 38. The computer program of claim 35, wherein the third software module numerically models a perfect yarn knit fabric . 39. The computer program of claim 35, wherein the third software module numerically models a perfect yarn woven fabric. 40. The computer program of claim 35, further including a fifth software model for obtaining fabric parameter information from a user. 41. The computer program of claim 40, wherein the fabric parameter information includes a yarn pattern. 42. The computer program of claim 40, wherein the fabric parameter information includes a yarn density. 43. A method for numerically modelling an actual yarn fabric comprising the steps of: obtaining thickness and length data for a yarn; numerically modelling the yarn based on the obtained data to create a yarn numerical model; numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; and combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model. 44. A method for displaying a graphical simulation of a fabric comprising the steps of: obtaining thickness and length data for a yarn; numerically modelling the yarn based on the obtained data to create a yarn numerical model; numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model; and displaying a graphical simulation of the actual yarn fabric numerical model. 45. The method of claim 44, wherein the step of displaying includes displaying via a CRT. 46. The method of claim 44, wherein the step of displaying includes displaying via a printer. 47. The method of claim 44, wherein the step of displaying includes applying a shading algorithm to the actual yarn fabric numerical model. 48. The method of claim 44, wherein the step of displaying includes displaying a color of the yarn. 49. The method of claim 44, wherein the step of obtaining includes measuring the yarn with a measurement device . 50. The method of claim 44, wherein the step of obtaining includes obtaining user input . 51. A system for displaying a graphical simulation of a fabric comprising: means for obtaining thickness and length data for a yarn; means for numerically modelling the yarn based on the obtained data to create a yarn numerical model; means for numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; means for combining the yarn numerical model with the perfect yarn fabric numerical model to obtain an actual yarn fabric numerical model; and an output device for displaying a graphical simulation of the actual yarn fabric numerical model. 52. The system of claim 51, wherein the output device is a CRT. 53. The system of claim 51, wherein the output device is a printer. 54. The system of claim 51, further including means for applying a shading algorithm to the actual yarn fabric numerical model . 55. The system of claim 51, wherein the output device displays a color of the yarn. 56. The system of claim 51, wherein the means for obtaining data includes a measurement device. 57. The system of claim 51, wherein the means for obtaining data includes a user input device. 58. A computer program embodied on a computer- readable medium for displaying a graphical simulation of a fabric comprising: a first software module for obtaining thickness and length data for a yarn; a second software module for numerically modelling the yarn based on the obtained data to create a yarn numerical model; a third software module for numerically modelling a perfect yarn fabric to create a perfect yarn fabric numerical model; a fourth software module for combining the yarn numerical model with the perfect yarn fabric model to obtain an actual yarn fabric numerical model; and a fifth software module for providing a graphical simulation of the actual yarn fabric numerical model . 59. The computer program of claim 58, wherein the fifth software module provides a graphical simulation via a CRT. 60. The computer program of claim 58, wherein the fifth software module provides a graphical simulation via a printer. 61. The computer program of claim 58, further including a sixth software module for applying a shading algorithm to the actual yarn fabric numerical model . 62. The computer program of claim 58, wherein the graphical simulation includes a color of the yarn. 63. A method for generating information about the appearance of a to-be-manufactured fabric, comprising the steps of: (a) retrieving yarn data representing yarn properties from a first memory, (b) retrieving process data representing a predetermined manufacturing process from a second memory, (c) combining said yarn data and said process data to generate fabric data representing a simulated fabric made by said process from said yarn, and (d) outputting said fabric data. 64. The method of claim 63 wherein said yarn data include yarn thickness data. 65. The method of claim 64 wherein said yarn data include yarn thickness versus yarn length data. 66. The method of one of claims 63, 64 or 65 wherein said yarn data include yarn color data. 67. The method of one of claims 63 to 66 wherein said yarn data represent measured properties of an actual yarn. 68. The method of one of claims 63 to 66 wherein said yarn data represent properties of a virtual yarn. 69. The method of one of claims 63 to 68 wherein said process data include weave bonding data. 70. The method of one of claims 63 to 68 wherein said process data include knit stitch data.

Inventors: HARDT KLAUS, UHLIG ARNFRIED, HARDT, KLAUS, UHLIG, ARNFRIED
Applicants: CIS GRAPHIK BILDVERARBEITUNG, CIS GRAPHIK UND BILDVERARBEITUNG GMBH
Application year: 1997
Main classification: G01N33
IPC codes: G01N33, G06T11