Monday, September 23, 2013

project 2 - L systems update

Still working on the second project.  I've sort of gotten my idea a little more fleshed out.  I still want to do L-systems, but I don't think I will be able to do them in maya (for sure) due to me not wanting to learn python AND l systems.  So that leaves me with opengl and c++.  I could try to do trees and other plant things, but that will probably leave both me and Phil disappointed because there is no way they will look as nice as if they were done in maya.  SO, that leads me to my current idea.  Instead of trees with leaves and whatnot, I'm thinking neon colored branches.  If I could get them to glow a little that would be even more awesome, but I'm not set on that.  I'm thinking a random color for each branch.  Or maybe even an L-system derived color.

The main functions of the program will stay the same, though.  There will be four windows and each will have a randomly generated starting "tree" drawn in them.  The user will move a slider on each window that says how much they want that "tree's" genetics to affect the next generation.  Then the user will click a button to move to the next generation.  And so on and so on throughout the generations.

reference links for me:

bloom:
http://prideout.net/archive/bloom/

gpu gems chapter 21 - glow:
http://http.developer.nvidia.com/GPUGems/gpugems_ch21.html 

http://www.avatar.com.au/courses/Lsystems/

Wednesday, September 18, 2013

project 2 - L systems?

Still haven't quite settled on an idea for project 2.  I think the evolving knitting patterns might be too complex of a problem.  It's not the genetic part I can't figure out how to solve, necessarily, it's the reading in and displaying parts I can't figure out how to do.  Due to time constraints, I think it might be better to move onto a different idea.  I was really intrigued by the L-systems in class.  Sadly for my education, that was the first time I'd really known what they are.  I've heard of them, but it always seemed like a huge mystery.  Like there was a black box called L-systems and stuff was put in one side and amazing plant like structures came out the other.  I'm going to try to do some preliminary l-system examples in maya and then maybe I'll try to make something out of them.  Maybe an evolving city scape made of L-system buildings!  Can that be done?  I have no idea.  I'm just throwing things out there right now.  Stream of consciousness so to speak.


Alright, started looking into l-systems and I found a couple of tutorials/links that might help me out.

http://www.fundza.com/algorithmic/lsystem/basic/installation.html

and

http://www.fundza.com/algorithmic/lsystem/basic/index.html

also, linking to the previous class's website.  It has nice examples of previous projects (some using l-systems):

http://www.viz.tamu.edu/courses/viza626/12Spring/

Monday, September 16, 2013

net logo

playing around with netlogo like was assigned in class.  I'm taking the genDrift P local program and adding in mutation to it.  Here is the code:

to setup
  clear-all
  ask patches  ;; randomly set the patches' colors
    [ set pcolor (random colors) * 10 + 5
        if pcolor = 75  ;; 75 is too close to another color so change it to 125
          [ set pcolor 125 ] ]
  reset-ticks
end

to go
  ask patches [
    ;; each patch randomly picks a neighboring patch
    ;; to copy a color from
    set pcolor [pcolor] of one-of neighbors
  ]
 
 
  if (ticks mod 10000) = 0
  [
    ask n-of 1000 patches [ set pcolor (random colors) * 10 + 5]
  ]
  tick
;;  move-to one-of patches with [pcolor = (random colors) * 10 + 5] ;; randomly set the patches' colors
;;    [ set pcolor (random colors) * 10 + 5
;;        if pcolor = 75  ;; 75 is too close to another color so change it to 125
;;          [ set pcolor 125 ] ]
;;    ]
end


; Copyright 1997 Uri Wilensky.
; See Info tab for full copyright and license.

Tuesday, September 10, 2013

project 2 brainstorming...

This is just a post to use as a repository for ideas for project 2, evolved systems.  I want to download netlogo and see if I can't get any ideas from those sample programs, too.

1. evolved knitting chart - the user inputs several to a few seed knitting charts and they then evolve, each time with the user picking the new parents from the previous generation.  then, I will knit up a few of them.

Here are some knitting charts:



Knitting lace is an art and I think it'd be cool to be able to evolve lace patterns.  Whether or not these will be actually knitted is debatable and mostly depends on time constraints.

And as an explanation for the charts, each square represents one stitch.  The greyed out squares are placeholders and don't exist, they are used to maintain the grid pattern of the stitches and should just be ignored.  For an example, the plain white boxes are just plain knit stitches, the circles are yarn-overs (which leave a hole in the knitting), the upside down v's are a type of decrease (usually knit two together).  The major challenge with this would be maintaining a constant number of stitches in each row so as to avoid topological mistakes.  For instance, if you have a row of all decreases, then the next row would be half the size.  So there would have to be an equal number of decreases and increases in each row, or they'd have to pair.  Sort of like parentheses must be paired up.

and of course, here are some pictures of actual knitted lace:

project 1

This project did not turn out ideally, to say the least.  However, we did learn a lot and got some unexpected results that were kind of cool.  The speakers, even with an amp did not produce enough vibration to make the non newtonian liquid do anything other than sit there.  Since that was not going to work, we started experimenting with other materials.  We tried salt, chalk dust, and water.  The best one was water, the sound waves created really interesting ripple patterns.  We then tried dust on the water to try to emphasize the ripples and that worked surprisingly well, out of all the tests we did.  The dust swirled around the water being moved by the music.



Tuesday, September 3, 2013

speakers

With the go ahead to work with Tiffany for this project, our first major challenge was creating speakers for cheap. Since neither of us have the funds to really devote a ton of money to this project, our goal was something that sounded good and was as inexpensive as possible. I think this might work amazingly well.





And since it's made with a styrofoam plate, we don't even have to stretch any rubber or anything over the cone.  It takes WAY less shaping than other tutorials we've found, and most importantly, it's LOUD!  The largest purchase will probably be either the neodymium magnets, the copper wire (depending on how much it takes for one speaker), or the audio jacks.  Here is the original article on make magazine: http://makezine.com/projects/styrofoam-plate-speaker/.

Monday, September 2, 2013

reading and thinking about randomness

Catching up on the reading before class today and brainstorming for our random project.

Here are some ideas I have so far, since this is one of those projects that can be done well not on the computer, I'm thinking about doing a textile project.  Then again, it's due in a week, so I actually probably shouldn't.  I suppose I should make something in code, but it's hard thinking of stuff that hasn't been done before.  I'm browsing the web and flickr, trying to find inspiration.

assigned reading: CBN chapter 20 and Bentley (2002)

some other ideas:


and:


Take these and maybe with a group project (pretty please?) with Tiffany, separate  the track into bass, mid, and high and assign each a color.  Then put some non-newtonian colored fluid in it and let it go.

Link to Tiffany's post: http://generateatrandom.blogspot.com/2013/09/up-to-chance.html