In general, for the first project “Nature vs. Machine” I took a very literal approach to creating the forces of nature in each of my three sketches. The first one, titled snowflake, is sketch that features a snowy day with uniquely behaving snowflakes. Each snow flake was created by a separate sketch that is modified from one of the spiral examples shown in class. The images created are then loaded into the main sketch which features falling snowflakes on a snowy background. When the snowflakes fall, they check collisions with all of the other snowflakes around them. If two flakes collide, one of them will be deleted and the remaining snowflake will absorb the size of the disappearing snowflake. The remaining snowflake also changes hue, until it reaches the bottom of the screen. As the sketch is played, the flakes become larger and larger due to the settings of the sketch. The viewer will notice that eventually the screen will be covered in large snowflakes that simulate a growing snow storm. Although for some strange reason the version, when posted on the website, does not change the colors of the snowflakes.
Category Archives: Uncategorized
Nature vs Machine
Making something seem natural can be a difficult thing. What does it mean for something to be natural. I think that naturally occurring things can also have seemingly unnatural properties. Take crystals for instance. If one had never seen a crystal before in their life and had made it a while in a mechanized society I suspect they would find it hard to believe that the crystal was natural. Another instance is of things on a micro scale. Again the objects would seem unreal and man made.
The first thought that I had in making something natural was to make something like an ant farm with connecting and wandering tunnels. The following is a result of my pursuit of an ant farm.
As you can see it looks nothing like an ant farm. Essentially what is going on in this is a point is initialized then has a probability of duplicating. The point and potentially its duplicate then move a random distance in a random direction. To ensure that the animation always runs smoothly, first, points off the screen are deleted, and second, if there are more than N points then we delete the oldest points till there are only N. N is a configurable number here.
The next script I wrote tried again to realign with the ant farm idea. I definatly was closer but I think I may have gotten it upside down.
We now have some sort of growth maybe like a tree. When you click (hopefully) the animation will start over with a new color. I think you can get some pretty cool colors all things said and done with this.
I also wanted to have something chase the mouse around the screen. I though it might be interesting to have waves following the mouse that varied orthogonal to the vector pointing to the mouse location from the current draw location. My first attempt did not work out as well as I hoped.
As you can see the lines move radially to the mouses location rather than having the variation orthogonal to the vector mouse location. It still is a pretty interesting effect and I rather liked the way you could make the lines compress and grow depending on how you used the mouse.
Finally I actually got the lines to move in the way I originally intended. Here is the result:
This fulfilled my goal though I found it annoying the way that each line was not moving quite the way I wanted it too. I envisioned it such that each varying stream would move at a constant “speed.” However if the mouse is close to the location the lines are being drawn and move around the animation can move very quickly.
Machine vs. Nature Project
For this project, so far I still mostly have ideas.
One project that is in the works is an animation that is supposed to evoke ripples on water created by raindrops.
The animation would be of expanding circles that animate for a while and disappear.
The project would use object oriented design concepts, such as each ripple being an object.
Another animation idea is to make snowflakes fall from above the screen and ‘stick’ to the bottom of the screen.
Each flake would be an object, with one out of a number of graphics, and would persist at the bottom of the screen.
I am still coming up with ideas for the interactive project. I currently want to expand more on the ripple idea.
Perhaps a leaf in a puddle, and when you disturb (click) the water, the leaf will move away from that spot.
Nature
So I’ve been brainstorming for a bit and have some pretty solid ideas for the different sketches for this project.
For the sketch meant to have an interaction with the mouse or keyboard I was thinking of having a simple background that starts more or less blank. Maybe a basic green texture to prevent it from being too bland at the start. The idea would be that clicking anywhere on the canvas would create a small image of a tree, or random size, and a random shade of green.
For the animated sketch I was considering a changing tree. Either a tree changing appearance as it would through the seasons, or possibly a tree growing to full size and then slowly dying away. The idea would basically be to follow the life-cycle of a tree.
Another idea I had revolved around an overhead view of a butterfly with wings that had changing patters. The wings would have patters that changed over-time or in reaction to the mouse’s position. This idea is still very rough and needs some refining, but the other two ideas I’m pretty confident in how they could turn out.
“Nature” Sketches & Iterations
I’ve been working on the “Nature vs Machine” project due next week, and one of the natural phenomenons I really love are fireflies, or lightning bugs, and the effects of photographing them with low shutter speeds. It can be very beautiful! So, for one of the sketches, I knew I wanted to play with the idea of fireflies and light “paths” left by their movement.
I’ll be updating this post with the iterations I make. Because of the way I’ve set up the “jar” these fireflies are in, I want to make sure it looks correct when posted on the blog!
In the first iteration, the fireflies are more scattered when the ellipses are drawn (due to use of the random fuction) so they look more sparkly. In the second iteration, I played with the variables and lowered them so that the paths left by the fireflies are more linear, but still randomized. I also added noise to their movements to make them more realistic.
Nature Ideas
Well, since I really have no idea about other things that I would be posting up on the blog right now, let’s talk about my ideas for the nature and machine project. I’ve got a few that I think should be really cool. First off, the animated one. This one, I think, should be pretty simple. I plan on have rain run diagonally across the screen, which I feel like arrays would be best for, but I don’t know how I would get it to work. And to have the background be an image of the sea. I mean if we can put an image into the foreground, why no the background too. For the interactive one, I want to make a forest with some trees of course, that will make like a bird chirping sound, or some other forest sound depending on where the mouse is. For the last one I was thinking of trying to do a river running through a grassland and for the hell of it making the river seem to move. Well that’s all of my best ideas. If you were stuck on one, I hope this inspired you.
Basic Components for Final Project
I have started gathering components for my final project. Essentially I think that I want to have mechanical feedback into my system. I think that I am going to try and use the following components:
NEMA 17/23 Stepper Motors
I have a set of NEMA 17 and 23 motors. Essentially a NEMA motor is a motor which conforms to the NEMA standard. The 17 and 23 refer to the size of motor 1.7″ x 1.7″ and 2.3″ x 2.3″ respectively.
US Digital MD2S Stepper Drivers
The US Digital Stepper Drivers are microstepping drivers. Stepper motors have a series of fixed positions which they can “normally” be in. My motors have these positions every 1.8°, however, it is possible to resolve smaller angles using microstepping. To read more on microstepping see this article:
Terasic DE0-Nano
The DE0-Nano is probably the best FPGA development board I have seen to date. What is an FPGA you might ask? FPGA stands for Field Programmable Gate Array. Gates are the fundamental blocks of digital circuits these days. Your desktop computer has many of these gates within its CPU which form the hardware to perform a variety of operations such as adding, subtracting, multiplication, and division. The difference between your CPU and an FPGA for this example is that the gates in a CPU have a fixed purpose. That is, some of the gates in your CPU are used to make an adder and others a subtractor and these gates will always an adder or subtractor. In an FPGA however you could reconfigure the gates such that they form a multiplier or anything else you could design.
So in my design I have arranged the gates such that they form a very small CPU much like that found in an Arduino (technically an Atmel AVR core) or similar microprocessor. I can interface this CPU to custom peripherals such as a stepper motor driver.
Where do I want to go with this?
I do not know. My first though is some sort of Cartesian drawing machine but that may prove to be to complex for the time allotted and I may have to focus on a polar drawing machine. Maybe I will do something that does not incorporate drawing at all. If I get some encoders maybe I will make a digital etch-a-sketch.
Who knows.
Nature image idea
This is one idea for the nature image slightly inspired by my time bug mover image. In this I intend to have streams of rectangles simulating moving water. most will randomly be 1 of a finite number of preset cool color values. Some streams will be all white. There will be several areas of the flowing water. One area will be a waterfall. If a colored rectangle gets to the bottom of this it moves back to the top and switches colors randomly. The white streams will also go back to the top but will remain white. Another part will flow from the bottom of the water fall, and I may also have a part flow from above but I’m not sure. I may have waves drawn over the flowing streams also in white. I’m not sure about the rest of the background, but it may be black, I may also try to include grass that fills in over time in different randomly selected preset shades of green.
Edit- I have sketched out this idea and made some changes to it. The waterfall will start at the top of the page. The waves on the sideways streem will be a set shape but where they are drawn will change slightly. I may also have a random chance of a lilly pad being drawn on random parts of the sideways streem. The top part next to the waterfall will be brown with brown rock squares. The squares will randomly be other shades of brown, preset but which brown will be random. The bottom will be solid grean and will add grass formed by a small diagnol line going right and up adding more over time. This will have various pre-set shades of grean that they can be and will draw in random positions in that lower area. A certain number of grass blades will grow per frame.
2nd Edit- I have decided against doing this for this project but would like to keep this description around since I think it’s a neat idea. I may use it for another project later if it is fitting. For the time being I made a image of blooming roses and will post that shortly. The waterfall idea came from me searching for nature images on google and picking which ones I really liked. I liked the images of waterfalls that had white streak contrasting the rest of the waterfall which looked more blue in color. I like cool colors more than warm colors so I found the idea of a waterfall with streaks of different cool colors and white running through it to be aesthetically interesting.
Mover Edit – Time bugs
In this variation of the mover script whether the background resets or not is determined by a set of rules I gave the program. There is some randomness involved as you can tell but I tried to have it maintain a reasonable amount of time in each state in general. The bugs also get larger every time they hit a wall until they reach a max height and go back to their start height. The min height, max height, and change in height of each bug is random. Also every time they hit the edge the bug changes colors. Later in the animation the number of large bugs on screen is much greater than earlier on, and the stages where the background does not reset almost looks like an aurora against a dark sky. It also kind of looks like it is switching between night and day but the duration of night and day is not consistent. This along with the facts that it’s sometimes tracking their movement over times, and that the bugs tend to grow over time, is why I titled it Time bugs. I just thought this looked cool. This is not for any assignment in particular. It starts out less interesting but give it time and see how it changes after the start.
Interactive Game in processing
For our second project, creating an interactive image in processing using various programming concepts, I created a variation of the kid’s game Mastermind. This involved input, for loops, variables, random numbers, functions, and conditionals.
Instructions:
– In this version there are 6 colors: white, green, red, teal, yellow, and magenta.
– Click on a box in the current row to cycle through the colors.
– The answer will be some set of 3 colors and a given color can repeat (example: teal, teal white or red, yellow, green). – When you are satisfied with your guess press the guess button.
-The two circles above each square may be filled blue based on your results. No circles colored above the square means that the color does not appear in the correct sequence, the first circle colored means that the color is in the sequence but not in that location (this does not indicate how many of that color are in the sequence. If the answer is red, yellow, yellow and you guess red,red,green than the first box will have two filled and the second will have one filled even though you already guessed the only red in the sequence).
– If your guess is correct a smiley face will show up at the bottom. If it is not correct a new row will show up for you to guess with unless you have guessed 5 times.
– Previous rows stay there for you to see what you have already guessed.
– If you have guessed 5 times without winning a frowning face will show up at the bottom indicating that you lost the game.
– After one game is finished (win or loss) you can click anywhere to start a new game.
– The answer is randomly generated each time.
EDIT, PLEASE NOTE: For some reason right now the game isn’t working here even though it works when I run it in processing. I am going to look into this