Monday, June 13, 2011

Geographix: A Slate Toolkit




Geographix is a tangible toolkit designed to teach children geography. The pieces are made out of colored acrylic. We chose the South Africa region because the pieces are fairly regular in size, which is necessary when using the Slate backings. This region also works well for puzzle solving because the country borders are not straight lines (unlike in the US). This provides a scaffolding for learning what each country looks like on a map, because each country has a clearly unique shape. It also helps children learn where countries are positioned in relation to each other. We added the name of each country in each vinyl to the acrylic piece, which provides more scaffolding because this way they can realize which way is up, and can also connect the country name with the shape.
We prototyped our design in cardboard, which made us realize that our pieces were too small; Zimbabwe was not wide enough to encompass of the backing. We then enlarged our design by 150% and cut the pieces using the laser cutter.
Our toolkit is suited to Slate’s vertical surface because it mimics real maps, which are traditionally displayed on walls instead of desks, and they are drawn so up and down correspond to north and south. In addition, it is easier to collaborate on puzzle solving when the pieces are mounted vertically. Finally, it’s easier to track your progress because you can stand back from the surface and still see the whole thing.
When people feel puzzle pieces, they will gain an appreciation for each country’s distinctive shape. For example, Namibia has a distinctive “dongle” on its northeastern border.
There were a few resources missing from Slate. There were no easily programmable objects, nor were we able to make relationships between objects. For example, we originally wanted to make a simulation of a plant growing, where the tangible parts of the toolkit included a watering can, clouds, fertilizer, etc. We soon realized there was no way to make a virtual plant grow, nor was there a way to make that virtual plant react to the watering can. We also felt limited by the criterion of vertical affordance: apart from physics simulations that require gravity, there is very little that is distinctive about a vertical surface. The vertical surface worked well for Mechanix, but limited our create options when designing a toolkit meant to work with Slate.
If we had more time, we would like to add extensions to Geographix. Our challenge mode would be a timed mode, to see how fast you can put together the puzzle pieces. Another challenge possibility is to add additional, fake country pieces to the set. Children would have to sift out the fake pieces from the real pieces to put together the puzzle. For our free play mode, we would like to create a custom background that has the outline of the African continent, as well as blue for the Atlantic and Indian Oceans, as further educational scaffolding. Lastly, we’d like to add support for a 2-player mode. This mode would include pieces for 2 continents, and each player would receive a random assortment of country pieces, some from each continent. The two players would have to work together to fit their pieces in with their partner’s.






Snowflakes: Creating a Netlogo Model for Emergent Properties in Aesthetics

 Original at http://beyondbitsandatomsblog.stanford.edu/spring2011/2011/04/28/netlogo-model-sam-and-rachel/


Video


WHAT IS IT?

This lets you generate regular geometric shapes. The inspiration is a snowflake, with the idea of a snowflake being generated regularly and recursively.

HOW IT WORKS

At each tick, all particles in the snowflake will create num-branches children around it. Each child is at a distance of branch-distance, which will get smaller with each tick. Each child is spaced regularly around its parent with a random number of degrees specified by the upper and lower bounds that the user chooses. It continues until max-order ticks have happened.

HOW TO USE IT

setup creates a particle in the center go runs everything max-order is the number of times children will spawn num-branches is the number of children that will spawn around each parent initial-branch-distance is the distance between the initial particle and its children.
lines? if true, will draw lines between children and their parents colors-change? if true, each child is darker than its parent. If order is high enough, the colors can wrap around to white again. if false, everything is white.
random-min-degrees, random-max-degrees: if both of these are 0, then children will be regularly spaced around the parent. When they are not 0, then they are used as a lower and upper bound on a random number of degrees added to the regular spacing for each child. When the lower bound is 0 and the upper bound is 360, the spacing will be completely random. branch-distance-drop-factor: if the initial branch distance is 100 and the drop factor is 2, then the initial particle and its children will will be 100 apart. The next generation will be 50 apart. The fourth generation will be 25 apart, etc.

Getting a Beautiful Snowflake

After setting up, the snowflake starts with one particle at the center:

The above setup doesn’t look too interesting because it’s a completely random snowflake:


However, with the variables at reasonable values, it begins to resemble a snowflake (or at least an interesting geometric shape):

One quick realization was that we were exponential. The number of particles in the last iteration of snowflake with order O and B branches was B^O. Thus, even when the variables were pretty small, the computation grew slow and the snowflake became solid ice. Order 4 could only really take 7 or 8 branches, and order 5 could only really take 3 branches before the shape seemed cluttered. Here is what we get with order 4 and 10 branches:



Here is one with more reasonable variables:


This one shows how cluttered it can get with high orders:


With order 4, everything looks too regular, so it gets pretty cheesy:



However, by changing the distance drop factor, we can make it spread out a little more, and it looks very nice:


Changing the initial distance doesn’t change the shape at all (since the shape is all regularly generated), but it makes everything more compact, so it’s harder to see the spaces in between the particles of ice, and it’s harder to appreciate the space as a whole.
If we make the image all white instead of having each successive generation be bluer, then the image also seems worse. Even though the earlier images practically seem all teal, the little spots of white really do matter. Having a monochromatic image makes it much harder to see the complexity within each generation:


Also, it appears as though much of the complexity comes with the regularity. Even 10 degrees of randomness at in each child can make the image as a whole seem very scattered:


30 degrees makes the snowflake devolve into a discordant vortex:


50 degrees makes it unclear even how many branches there are:


With a sufficiently small drop factor and a sufficiently large branch distance, it was possible to appreciate the maze-like repetitions within even high-order, high-branch combinations:


But again, it seems as though the snowflake-ness of a shape depends on the empty space:


There was also a big odd/even divide. With an odd number of branches, the images seemed less like snowflakes and more like circularish blobs:


However, lowering the drop-factor even more proved fruitful, even for an odd number of branches:


When the drop factor is eliminated, it looks even cooler: every child is as far from its parent, which means that the density of the snowflake decreases exponentially the farther it gets from the center, and because of a slight offset , there are a bunch of very fine and intricate lines:


Last, if we eliminate the lines connecting particles, the snowflake becomes different; neither better nor worse. It loses intricacies in some ways and gains them in others.


As may be evident by this point, the emergence that we were studying was the aesthetic value that came from the regular reproduction of similar agents. Most of the time we spent was trying to get pretty particles and make things that looked more like snowflakes. We made several changes to our model to help with this. For instance, we started with the distance between a parent and child particle set at a particular interval of the initial branch distance. That proved very ugly, so we changed it to a factor such that the distance would decay geometrically. This proved much nicer, especially with high orders. Another big change was to make it so that every child turned 45 degrees. This made it so that its children didn’t wind up on top of the link with its parent.
The best part was that, by programming a relatively simple model, most of the experimentation didn’t even have to do with the programming. We just needed to play around with the variables. Even though the variables might not have much of a correspondence to physical properties of snowflakes in the natural world, it still allowed an exploration of aesthetics and the discovery of the importance of variations, their regularity, variations of color, and variations of space.

Exploring Netlogo Models


Wolf Sheep Predation: We discovered that when there is infinite grass, the population is unstable.  Either the wolves die out, or, usually, the sheep have a population explosion, then the wolves have a population explosion, then the sheep die out, then the wolves die out.  Regardless of how we changed the variables, we couldn’t make it sustainable.  When there was finite grass, as long as the variables weren’t too extreme, everything would be stable and periodic.


Frogger: We explored getting the frog to the lily pads. It was hard at the very end. We also didn’t realize that when you got a frog to a lily pad, another one would spawn at the bottom. It took us a while to realize that to win the level you had to get 5 frogs to the lily pads, and each to a different lily pad. Luckily, the timer restarted with each new frog spawn, but we still couldn’t finish the level.

For Rebellion, we tried dropping the legitimacy immediately versus over time. Dropping it immediately by a small amount causes a bigger rebellion because fewer people are in jail. We also removed movement, but we didn’t see the effects described. We found overall that the rebellions were fairly regular and periodic, unless there were very few cops, in which case the rebellions would be constant. We also found that cop density of 5% seemed to be the magic point between wide scale rebellion and no rebellion (kind of like the tree simulation where 60% tree density suddenly let the fire spread a lot). Anything above 5% cop density led to only a couple isolated individuals rebelling, who were quickly jailed.
Climate Change: We decided to extend the global warming simulation. In the original simulation, sunlight waves come in from the atmosphere (the yellow shapes), and either are reflected back to the atmosphere or become trapped in the ground as the red heat dots. The heat bounces around in the Earth for a while, raising the temperature. Heat can leave from the Earth’s surface as IR waves on the right side of the screen, and if it does, it lowers the Earth’s temperature. The simulation lets you add clouds, which reflect incoming sunlight waves, and CO2, which reflect outgoing IR waves.
Before:
We decided to add trees to the Earth’s surface that would absorb any CO2 that got close to it. We made a new breed of turtles called trees (surprise!), added a tree density slider, and added code so the green triangles that appear in the green band of the surface are dependent on the density entered. In the extended model, when any of the CO2 molecules that are randomly floating around the atmosphere gets too close to the green triangle trees, it is “eaten” by the trees.
After:


Moogle Nametag

Originally posted at
http://stanfordmakersclub.ning.com/profiles/blogs/moogle-name-tag

I have always played video games, and in the past few years, I have realized that they are an art form like any other.

I started out with a Chocobo, a bird that is ridden like a horse from Final Fantasy, but realized that it would be too complicated to do 3d feathers. Then, I moved on to a Moogle, a cute humanoid creature with wings and a weird ball over their head from Final Fantasy.

To start out, I used a picture of a moogle online:http://1.bp.blogspot.com/_iFRPl9EX3Gs/S9ZTdN0oGgI/AAAAAAAAAAM/Q8F5I....

Because I was still getting the hang of the laser cutter, I tried just etching / cutting it out on cardboard, using vinyl for the acrylic glued nose and for the name on its forehead. It looked pretty good.I realized that I would need to make a few touchups to the image for it to work. Since the cord connecting its head to the ball was too thin and fell off, I made that bigger. I also made some of the outlines thicker. To facilitate the snap-fit into the base, I also made its feet more like hooves.The process of cutting acrylic after having the good cardboard version was fairly straightforward. I needed to experiment with different pieces of acrylic because I wanted to use the spare room in a scrap piece rather than having to start a whole new piece. I ended up with some 6mm acrylics, which is thick enough for it to stand on its own even without a base. It also looked very cool to put the cardboard inside of the cut-out vinyl piece. Gluing on the nose with acrylic glue was also fairly straightforward. I tried some dummy pieces, but it was still very surprising how fast it dried.


The last step was to get the base done. My original calculations for the hooves were 3mm tall, so that meant that I needed to use a 3mm piece of acrylic. In order to account for the thickness of the laser, I did a fairly precise subtraction of .011 inches from the height and width of the squares, but because of that, I managed to get the fit tight enough that, with some forcing, it fit perfectly in without having to use any glue.


Design for Kids - Snack Hat


Rachel Lopatin and Sam King made a snack hat.


Our child wanted a hat with three features:

1. It would be green, his favorite color

2. He could keep it stocked with raisins so that he would always have a snack on hand

3. There would be an umbrella attached to it.

We initially worked on getting the snack part working. We made a cardboard box and experimented with ways of keep it closed tight enough that snacks wouldn't be able to escape.


Our initial attempts involved some form of flap that would go over the box, held down by gravity and tape. Unfortunately, in our tests, none of them were resilient enough to withstand an energetic kid.


Our next design used powerful magnets to keep everything together, and that proved much better. No matter how much dancing around, leaning over, or even shaking the box while the flap was facing down, the magnets were enough to keep it closed. We used foam board, green felt, tape, and magnets for the box and hat.


Finally, we added the umbrella. After doing this, we discovered that the umbrella weighed enough that it unbalanced the whole thing regardless of how we positioned it. In the above picture, it was standing on its own, but it is difficult to walk around without supporting it. Since we bought the lightest umbrella that we could find and it was still too heavy, we decided that an umbrella hat wasn't the most realistic thing, so we made the umbrella detachable. That way, it has the novelty of an umbrella hat while still retaining the utility of a snack hat.

Note

This blog has Sam King's posts for Beyond Bits and Atoms, Spring 2011. They were originally posted at http://stanfordmakersclub.ning.com/ and http://beyondbitsandatomsblog.stanford.edu/spring2011/, but I wanted them to be in a central place that would stay up even if those class sites get replaced by a later class.