Monday, March 29, 2010

Hyperbolic crochet book


Hey folks, I just got sent a link to this book. I only know what I've read from the description there, but it seems pretty cool. The aim is to explain mathematical and geometrical concepts through crochet, to give a new hands-on perspective on what are usually quite abstract ideas. So yeah, I'm very happy to see crochet being used as a way to promote maths and make it more accessible to a wider audience!
I also think it's awesome that it's reviewed by Dr. Hinke Osinga :o)

Happy knitting, and/or reading!
Hugh.

Wednesday, March 24, 2010

Ada Lovelace Day!


Hey folks, it's Ada Lovelace Day again! (Their website seems to be down at the moment, Google has a cached version).
Ada Lovelace Day is a day to celebrate and promote the achievements of women in science and technology, by writing a blog post about a woman working in a scientific or techie field you find inspirational.

So, I'd like to talk about Kate Ho. Kate is originally a computer scientist, and is currently a PhD student working in the sociology of computer systems, in between starting up companies and enterprises.

Specifically, Kate studies "requirements engineering", the process of figuring out what an organisation really *wants* from their computer systems, and how to build the system to provide this. This matches Kate's vision for computer science pretty well -- not just technology for technology's sake, but technology fitted to people's needs, making a real difference to how they get things done.

Kate's other main passion is entrepreneuring. She is constantly looking for new business opportunities, and while I've known her has usually been involved in at least 3 start-ups at any given moment. Now that her thesis is submitted, she has had the chance to move into entrepreneuring full-time and has started Interface3, a company specialising in developing multi-touch surface systems.
Again, her aim in this is to find new applications for technology, to find new ways in which it can improve people's lives, and to make them a reality. I think this is what she is really passionate about -- trying to work out ways in which technology can change the world.

She does lots of other awesome stuff too -- she set up Edinburgh University's Hoppers group, and helps organise Edinburgh's Girl Geek dinners, not to mention running Scottish Women's Rugby. She also knits!

So, Kate -- social entrepreneur, innovator, geek, knitter!

Happy Ada Lovelace day, everyone!
Hugh.

Monday, March 15, 2010

More on Cellular Automata

Hi again!
So, ages ago I talked about the possibility of using cellular automata to generate lace patterns. A key step in this is to interpret the cellular automaton as a collection of rules for interactions between chains of digits, travelling left or right, or remaining stationary.
On closer inspection it turns out this is rather more complicated than I'd expected. The problem is that these interpretations can be influenced by neighbouring digits, so:
001
-1-

looks like it should to be a left-travelling chain, but if the neighbouring digits are:
0010
0110

then we need to see this as a chain bifurcating into left-travelling and stationary chains. Worse, if it was
00110
01100

we would probably want to see this as two left-travelling chains running alongside each other.
Because of these problems, I think it is impossible to interpret general cellular automata as chains in this way -- what's needed is a non-local approach. What can be done is to come up with a procedure to read through the pattern and divide each of the `1' digits into chains travelling left, right, or remaining stationary (and some `orphan' digits left by themselves). This is then fairly straightforward to convert into a lace pattern.
I feel this is cheating a bit, it's not really in the spirit of cellular automata and there are a lot of arbitrary decisions to be made. There are further complexities I haven't dealt with -- how do you deal with chains bifurcating? Or colliding? So far my chains are just left hanging.

Still, it generates some very nice patterns with some interesting features. Mostly though I'm just enjoying the idea of computer-generated lace, there's something magical about putting in a set of logical rules and generating a pattern.
So, applying this to rule 30, generating the pattern starting from a single `1', I get something like this:


(not sure how that'll turn out, but it's just to give an impression)

So, this turns out to be rather more complicated than I'd expected, and very much less canonical than I'd hoped. It does produce viable patterns though, and makes me rather keen to try to elaborate this method.

Pictures of the finished shawl soon!
Hugh.

Thursday, February 25, 2010

Settlers of CTAN


Hey folks!

Back in November I mentioned a a LaTeX package I was working on for typesetting knitting patterns. I left this out for checking for a while, and finally got around to tidying it up and submitting it to CTAN. It's all up and running now, and you can download it here:

Knitting Pattern class

It works by providing a collection of useful commands which should automate all of the layout features you're likely to need in writing a knitting pattern, so that you can just write the pattern rather than desktop publishing. I won't say too much about that here, since it's all explained in detail in the documentation (and I've spent way too long reading that today).
Copyright-wise, I put it under the LaTeX project license, which seems to mean you can use it, distribute it, and modify it to your heart's content. You're also explicitly allowed to sell patterns produced using it. So if you've been thinking about writing up some patterns, give it a try! You'll need some familiarity with LaTeX, but it's very easy to pick up, and hopefully the sample template I included will make it all pretty self-explanatory.

While I was at it, I came across this other package, which produces knitting charts in LaTeX. I haven't tried it yet myself, but it looks pretty interesting.

(pictured is the CTAN lion, drawn by Duane Bibby)
Enjoy!
Hugh.

Saturday, February 20, 2010

Universal cover scarf


Hi folks!

Continuing the mathematical theme, my next plan is to knit the universal cover of a punctured disc, arranged to make a ruffly scarf.

So, what is a universal cover? The idea is to take a space, and form a new space which is locally the same, but in which any loop can be shrunk down to a point. This is useful because when we try to extend local properties of spaces to global ones, it's usually these kind of loops which cause problems.
As an example, consider a disc with it's centre missing, the `punctured disc'. A loop in this space can be shrunk down to nothing provided it doesn't wrap around the hole. To remove these loops, imagine we take an infinite number of these discs, and declare that a path which crosses the x-axis in a clockwise direction moves one disc up the chain, and if it crosses anti-clockwise, one to the right. Now if we take a loop in this space, if it wraps round the centre point we've moved up or down the chain, so the loop is no longer closed. Then any loop in this new space corresponds to a loop on the punctured disc which doesn't wrap around the hole, and can be shrunk to a point. This space is called the universal cover of the punctured disc.
Another way to see the same space is this -- take an infinite sequence of discs, each slit along the x-axis. Glue the top edge of each slit to the bottom edge of the slit on the preceding disc. You can then stretch this out to make a sort of spirally chain, which I think would make a neat scarf.

So, how to knit this? If you imagine following a circle around the origin in this spirally chain, it will form a helix (assuming you've `stretched' the same way I have, this isn't entirely fixed) in space. My plan is for these helices to form the rows, working from the outside in. Of course, since I don't want my rows to be infinitely long I'll only have a finite number of discs in my chain.
One of the cool properties of helices is that it's quite easy to calculate their lengths (which is really quite rare among curves). Since the space is symmetric under shifting along the axis of the helices (after a suitable rotation), it's then just a matter of working out how many stitches to decrease in each row and spacing these evenly along the length. This is the same problem as knitting surfaces of revolution (see also), and it will be easy to adapt the solutions from there.
The actual maths I'll carry out using Ruby, this seems like the kind of problem it's very good at.

I should say too that I'm fairly sure this kind of scarf already exists, though without the mathematical intent. Must make sure to look around and see if I can find some links to compare with. I'm hoping that not being flat will make it nice and warm, but will have to see how it stands up to Edinburgh's winds.

Happy knitting, and/or calculating!
Hugh.

Wednesday, February 3, 2010

Dennou Coil


Right, the first attempt at the Seifert surface is done, and is now languishing while I try to work my camera. In the meanwhile, here's another quick project:

Dennou Coil is an anime series we've been watching at our animation society. It's based around a group of children playing with augmented reality glasses. The glasses have lots of useful functions, they act as phones and maps, as well data functions and virtual pets. It's a lovely, well thought-out series with great characters and a nice level of quirkiness.
One of the quirks is a piece of anti-virus software which crops up a lot, named "Satchi" (short for "Searchmaton"). This is embodied as a large pink blob with a happy smiling face, which tries to reformat everything suspicious it comes across. In the context of the series Satchi is supposed to be quite scary, since he's quite indiscriminate in his formatting, and the children spend most of their time playing with bugs in the game so they're usually in the firing line.

So, I'm planning to knit a Satchi. The structure is fairly simple -- he has a pink blobby body, with a smiley face design at the top. He has two large, spindly grey `hands', and four spheres embedded in his front. I'm hoping to make the spheres removable (in the series they can detach and move autonomously), but I'm not sure how the fastening for that will work, so they may have to be fixed.

Boku Satchi!
Hugh.

Saturday, January 30, 2010

Seifert surfaces


Hi folks! My next mathematical project comes from a suggestion from local knot-theorist Julia. The idea is to knit the Seifert surface of a trefoil knot. This will be very similar to a project (http://www.math.uchicago.edu/~mrwright/crochet/) of Matthew Wright's.

So, what is a Seifert surface? There's a theorem in knot theory that given any ('tame') knot, there is an orientable surface whose boundary is this knot. I think there's a good constructive proof of this, which also allows you to find out what this surface is. This surface is the Seifert surface of the knot.
If you want to play with them, there's a very cool program, "Seifert View", which will draw them for you (it's free, but sadly only runs on windows).

So, how to knit this? I think this should be pretty straightforward -- I'll start from the middle of one side, increase outwards to form a disc, then split into three to form the 'struts', before rejoining and decreasing to form the top disc. The magic is that before rejoining the 'struts' at the top, I'll flip them over to give the twist. When I'm done, I'll crochet around the edges to highlight the boundary knot. This way has the advantage of being seamless, though possibly at the expense of making the joins less neat.
I'm also considering threading some wire through this boundary, as Matthew Wright suggests, to give the shape rigidity, and then see if I can hang it as a decoration.

I'm planning to write up a pattern for this one, partly because it should be good and quick and partly because I need to get more practice with the LaTeX pattern formatting package I wrote. Since it's so similar to Matthew Wright's work, though, I'll have to ask him before I go publishing it.
I'm not sure how well this approach would generalise to other knots, I may have to ask Julia about that.

So, let's see how it goes -- should be good and quick, since it will be quite small.
Hugh.