Wednesday, March 6, 2013

Update 1

Name: Sarah Spofford

Project Title: Representing Knit and Purl Stitches

Summary of work to date:  I have acheived to date a small program that reads in a knitting pattern that looks like this:

CO 12
K 12
K 12
P 12
K 12
K 12
P 12
K 12
K 12
P 12

and creates a row or knit stitches.  Actually in the case of this pattern, it creates 9 rows of stitches that don't interlock.  It then draws bezier curves between the points.




Analysis of work: I might have not made my goal specific enough in my initial proposal.  I've met it, according to what I wrote, "My goal for March 7th is to have a method for creating a row of loops."  This is technically what I accomplished, though I feel like I have not gotten much done.  The program succesfully produces a row of loops in bezier curves.  Also realized just now that while it does create several rows, the problem with knitting is that the object is worked left-right, right-left, in a zig-zag pattern.  With my program the loops are created left-right, left-right like a typewriter.  That is something that will definitely need to be addressed soon.

Plan for completion: My plan for completion remains the same, however, I am afraid that I might have spaced the goals out unevenly.  Therefore, I would like to split my april 9th goal into two.  My new goals are for March 30th and April 9th.  April's will be the same, while by March 30th I would like to have my program implemented in 3D and with interlocking loops.  I think the interlocking part will be more of a challenge than originally expected and I would like to get one done before moving onto a series of rows.  I suppose I'm on schedule, I think my schedule just wasn't planned out super well.  I think I need to spend more time on this.

Proposal


Title: Representing Knit and Purl Stitches

Name: Sarah Spofford



Knit objects in 3D have consistently been a problem to represent because of their behavioral and aesthetic differences from woven fabrics. Due to all of the internal yarn-yarn interactions that make knits stretch and fold the way they do, representing them becomes very expensive very quickly. There is also the fact that knits are made up of many interlocking loops created by one long inextensible line. On top of all the bottleneck problems from displaying and solving for motion, there is also the problem that yarn can be passed through previous loops in many different ways, creating unique stitches that have different properties.

The importance of this problem lies in the differences between woven fabrics and knit fabrics. Aesthetics aside (as most of that can be solved with texturing, up to a certain yarn size), simply making a woven fabric more elastic to account for the stretchiness of a knit fabric will not create realistic results. Elastic fabrics tend to look rubbery (as they should since increasing the elasticity is basically simulating rubber) while knits deform differently when stretched. In addition to this, seams are rarely created on knit garments and when they are, they tend to behave as if they are not there (that is, if they're done correctly). Seams on woven fabrics (in the real world at least) are necessary.

There has been little previous work on knit-based garments specifically. While much has been done for woven fabric simulation, there are only two major researches and a handful of publications regarding knit-based fabrics. The first is Kaldor et. al [2008]. They proposed a simulation that met the challenge of knits head on, by directly solving for the motion of the yarn and the collisions between the loops of yarn. The second is Yuksel et al. [2012] who created a system to convert meshes into stitch-based meshes.

For this project I plan to create a system that creates a series of rows of knit and purl stitches based on user input. The user will be able to specify the pattern of the knits and purls, the size of the yarn, and the number of rows desired. This will serve as a good base for my ongoing thesis work.

There is unfortunately not much that is new about what I'm proposing. Kaldor already created physically based knit meshes while Yuksel created a method for making them. Kaldor only tackled knit and purls, however. Yuksel, while he did define other stitches (such as cabling, increasing, and decreasing) defined these individually and did not create definitions for unknown or unused methods, much less some of the lesser used or just varied ways of doing these techniques (for example, there are at least ten ways to increase that all have different properties and looks). Another thing that neither of these researches did was create a method that defined the cast on. There are many ways to cast on the initial row of loops and all of these ways affect the end result in looks and elasticity. This is related to geometric modeling because it is all about defining loops and how they interact.

My final goal is to have a small program that will allow the user to specify a number of stitches, a pattern, and a number of rows that are then generated in 3D, possibly in Maya, definitely in a replicable format. My goal for March 7th is to have a method for creating a row of loops. My goal for April 9th is to have a program that creates interlocking knit loops. Then it will be trivial to add purl stitches (as they are just a slightly different loop) and user interaction.




References:

Cem Yuksel, Jonathan M. Kaldor, Doug L. James, and Steve Marschner. 2012. Stitch meshes for modeling knitted clothing with yarn-level detail. ACM Trans. Graph. 31, 4, Article 37 (July 2012), 12 pages. DOI=10.1145/2185520.2185533 http://doi.acm.org/10.1145/2185520.2185533

Jonathan M. Kaldor, Doug L. James, and Steve Marschner. 2008. Simulating knitted cloth at the yarn level. In ACM SIGGRAPH 2008 papers (SIGGRAPH '08). ACM, New York, NY, USA, , Article 65 , 9 pages. DOI=10.1145/1399504.1360664 http://doi.acm.org/10.1145/1399504.1360664

Howdy

Howdy!

Since I don't have CS web space I will just put my course progress up here!