I've written the program in Python, one of my favorite programming languages. Although I am a bit of a hack with it, and my code is... messy and hard to follow. So it doesn't really live up to my coding standards in general. But the program works. And even though it is riddled with print statements to debug the logic, the end result is that it prints out the pattern.
Each scarf/chart pattern is constructed from a library of knitting stitches, which I pulled from a knitting stitch dictionary online. They had the stitches consistently arranged with a page about how many stitches were involved in repeating the stitch, and over how many rows. They range from simple to complex.
My approach was to catalog each of these stitches, their number of stitches in repeat and their number of rows. I also went thru each and every stitch to determine some basic shapes that appear in the pattern once it is knit. This was made easier by this stitch dictionary because it also included a picture of each of the patterns done on a little swatch.
I then determined a heuristic to map the aspects planets in the given chart made, and what shapes those corresponded to. An easy example, was I mapped the astrology aspect of "square", which is a 90 degree angle, to the knitted shape "square". The astrology aspect "trine", which is a 120 degree angle, I mapped to the knitted shape of a triangle. Some patterns contained multiple shapes, and some aspects also came to represent multiple shapes.
The hard word was making the program figure out how to pick which pattern. Some of that determining was also based on how many rows it took to produce a pattern, and how wide of a span an aspect had influence over the chart. This "range of influence" as I call it, is basically an area of the chart where, if a planet or object were to occupy that place in the chart, it would be making a particular aspect (such as a trine or square) to a planet in the chart.
I originally started with the basic aspects in astrology, such as square, conjunction, trine, sextile, opposition, but I think I ended up adding a few minor ones as well such as quincunx and semi-sextile for a little more fine tuning.
Ultimately, I had to make some decisions in the program that are somewhat arbitrary. I tried to use what elements the signs and planets represented to help drive some of the decisions as well. I think when I got to refactor my code a bit to clean it up, maybe it will be more straightforward to explain.
But the next phase is the fun part? Where I need to actually knit the thing! I copied the pattern output, which details the written pattern for all 360 rows, each 35 stitches long, for my chart, into a word document. It is 18 pages long!!
My original intention for this program was to produce a pattern with a chart - think, the pattern represented on graph paper. But that will take a bit more work, since I'd need to come up with a decent symbolic representation of all of the stitches involved, and then write those out to excel. Unfortunately I am not sure if the python writing to excel capability is going to make that easy or more difficult. I have written python that writes to excel before, so this may become a later phase that I try to embark on!
But I think I want to see the scarf in the yarn first. And that's where the next challenge lies as well. Originally, I was going to change color of yarn (or maybe even type of fiber) for every sign in the chart. Or maybe every house. I was going to map the energy of that sign/house to a fiber and weight of fiber and color of fiber! So if you had libra in the first house, which is an air sign, but the house that is traditionally ruled by Mars, what fiber in what weight in what color would you choose?
My mom, however, put the kibosh on this idea, saying it was far too complicated. (I'm Virgo rising with moon in Capricorn, I might over complicate things). I agreed that doing all these different stitches in different fibers may end up making the scarf a complete mess in the end so sticking with just one color, and a consistent weight- I.e. One type of yarn - isn't such a bad idea.
But alas, now I am at the crossroads where I still have to CHOOSE some yarn to use. And I'm going to pick something I like, something that ultimately I will want to wear in a scarf. Since it may end up just being a prototype in the end, but hopefully functional.
Oh, and did I mention the cool planet buttons I bought that I'm going to place along the scarf that represent where those planets are in the chart? Yeah, the program has a little instruction for that too.
Btw, I totally forgot to mention the whole goal of this project. Which is to create an alchemical healing process, where you knit your natal chart, and the process of doing so creates healing and helps you to integrate all the parts of yourself, no matter how challenging or disparate. Some of the more complex areas of your chart will likely produce more complex patterns to knit. But the act of knitting those will help you to integrate these energies.
So what do you think? Thoughts, ideas? Or do you just want to see this prototype?