by Mark Twain Roughin' it
May 6th, 2013 by Scottie Godfrey
At the beginning of the semester, I was a little cocky when it came to Java. I thought, well 1510 wasn’t so bad, everything made sense and it was neat to be able to write some custom code for practical purposes. Then we began discovering what processing could be used for. I am very grateful to have been able to experience this class.
From the introduction and learning about the random walker, it is clear why probability and statistics is part of the general education courses for CSIT majors. By far my favorite part is the forces. It is one thing to be able to draw a circle on the screen, but then to be able to make it bounce or apply gravity to it really sparked my interest in this class. Applying forces like wind seemed daunting at first glance, but because of the Nature of Code it is easy to understand the concept and identify ways to implement them.
Next we covered oscillation, and having wings on my bees made me feel like I really accomplished something. I had hopes of creating vines in my “In the Jungle” sketch using oscillation, but never made it that far into the code. Perhaps in the future I can incorporate some new items there. Oscillation and being able to determine specific movements will prove very useful in many future applications for the students of this 1520 class because it is a formulaic way to achieve a desired result that although not too complicated, should be impressive to those who don’t know trigonometry such as myself.
As we progressed through the semester, the topics kept getting more interesting. For example, particle systems. What a cool tool to have in the toolbox. Particle Systems can have a lifespan that makes them appear to fade away or go off-screen and new particles generate saving the time of making multiple function calls for new items to appear. In the particle system chapter we also learned a little more about inheritance and polymorphism, which are integral parts of the java programming language. Being able to use a base class and extending specific features or methods not only saves time in programming but helps document that the programmer understands the functions he or she writes.
Ever heard of Angry Birds? Well using Box2D we were able to replicate a physics engine that worked in a very similar fashion. Collision detection and gravity were two of the major learning tools of PBox2D, but being able to program games using this tool is something I will be trying to do all summer. For fun of course, I don’t think any will be worthy of the android market or I Tunes yet, but I am hopeful.
During the discussions of autonomous agents, I decided I wanted to add snakes to my ecosystem, but I did so with flow fields, which turned into rain drops instead. It was actually a mistake I ended up with rain, but then once I found the pattern I liked and made them more like raindrops in speed and size, I really liked them, and left them in the program.
The remaining items we covered I did not implement into my ecosystem, however I did explore each of the topics with the in class examples and book examples. For instance, cellular automata was reviewed by utilizing code Dr. Brown wrote for the class, and we were able to enter specific patterns into the algorithm and make some pretty interesting things. Fractals were really interesting, but not being able to generate the exact same image makes me think of them as fleeting and although you can feel artistic when exploring them, zooming in to change the dynamics seen on screen, I had more fun going back and looking at the images I had created than actually searching for the right “image” itself.
Using artificial neural networks using methods like XOR or Hopfield will prove valuable in the future, and I am glad we spent the time looking at Neuroph to explore how they work. Neural networks are in my opinion a big part of building smarter programs and make me think of movies like Minority Report except where a computer may be able to determine a person’s instinct before the action occurs.
Posted in CSIT1520 | | | Comments Off on Reflections of the Semester
April 29th, 2013 by Scottie Godfrey
Using the Neuroph software to implement different types of neural networks was really neat. I like that it gives you the information about the networks. I went home and worked through more examples and found some other sources to review neural networks. My idea for the neural network was to use the Seek Neural network (Perceptron model) to create a racing game. I was going to have an area on the screen that was considered the track (two ellipses with space between that took on an oval shape, and the vehicle from the example had to learn the fastest way from start to finish choosing the quickest path. I worked on it for about 3 hours, then the power went out. I wish I was on my laptop but unfortunately I was on my desktop, and my last save was to rename the tab, so I lost everything. The ann used the feedforward method and utilizes the error PVector to learn. Going to work on it now before class, since I have power here at school, and see what I can get accomplished before class begins.
Posted in CSIT1520 | | | Comments Off on Artificial Neural Networks
April 17th, 2013 by Scottie Godfrey
The genetic algorithm exercises in the Nature of Code were very cool. I originally felt very apprehensive about attempting a genetic algorithm, but as I looked through the code and Professor Brown discussed the objectives it really made sense. A genotype determines the rules that make a creature and a phenotype is how they are displayed. Along with DNA that makes genes, the genetic algorithm has to use a fitness function that determines which creatures survive. This class is getting a little more challenging here at the end, which is a true testament being challenged by this course and how it will impact one’s ability to be acceptional in a working environment with additional skills than others.
Posted in CSIT1520 | | | Comments Off on Genetic Algorithms
April 13th, 2013 by Scottie Godfrey
This weeks assignment was working with L system and fractals. To begin, I was able to do a lot of the sample L system formulas from the handout. That was a fun exercise and I could see how taking the time to try modifying the formulas result in different things. In the Wednesday class, we ended up on Fractals and using a formula, were able to modify the color systems and create some pretty cool images. I have attached a few of my custom fractal images, mostly using the HSB method of coloring….
Posted in CSIT1520 | | | Comments Off on Fractals
April 4th, 2013 by Scottie Godfrey
We learned about cellular automata and built the cell class together in class. I added some random color to make the patterns even more interesting. Looking forward to implementing this somehow into the ecosystem project soon…
Posted in CSIT1520 | | | Comments Off on Cellular Automata
March 25th, 2013 by Scottie Godfrey
So my newer ecosystem I have been working on will be called In the Jungle. Until it is completed, however, it is being called Jungle Test. I have spent the past two weeks working on my vehicle, including replacing the motor and transmission myself(with grease stains on my hands as evidence), so I wasn’t able to get as far as I wanted. As of right now, it is a jungle background with an air balloon, and it emits bananas. The idea being that bananas appear on screen for a game, coming in the next few days/week with an update as I go….
Posted in CSIT1520 | | | Comments Off on Jungle Test
March 18th, 2013 by Scottie Godfrey
So what I have for you today is a rough implementation of box2d. My first version of my ecosystem was the grassy knoll, in which a group of bees are attracted to a hive and run from the wax moth. My first attempt at getting box2d to work with my ecosystem was what I am calling the bee game. It is basically the same as the “Angry Birds” adaptation from class the other day, except the following changes:
- To regenerate the bee, hit r.
- To generate flowers, hit n or click. The flowers generate at random locations.
- Space bar accelerates the bee but it can still collide with the flowers.
While this is a rough version, I am kind of not liking the bee stuff anymore. I may try to keep it going for new testing in the coming weeks, but I am ready to move in another direction. More on that in the coming weeks.
Posted in CSIT1520 | | | Comments Off on Implementation of Box2D
March 3rd, 2013 by Scottie Godfrey
This week, we were to implement a particle system into our semester long project. I was able to make a particle system of bees. I spent a long time playing with the acceleration, velocity and lifespan of the bees, and have a pretty good idea of how I want to display them in the ecosystem project. The idea being that bees come out of the hive, and if they stray far away they die. I also have a rocket that uses a particle system to simulate the exhaust/flame that streams behind it as it moves through space.
Posted in CSIT1520 | | | Comments Off on Particle System
February 17th, 2013 by Scottie Godfrey
I will begin this weeks blog with the class hierarchy.
Grassy Knoll is my main P Applet class. I have object and Noise from Dr. Brown’s Funky Forest example, then Flower, Hive, Bees, and Wax Moth all extend the Object class.
Posted in CSIT1520 | | | Comments Off on Oscillation and Class Hierarchy
February 10th, 2013 by Scottie Godfrey
So this week we worked on adding the concept of force to our ecosystem. While I don’t have the movement isolated perfectly, I did spend more time designing the look of my bees than I had originally planned. I have a hive now, and would like to add a flower. Obviously, it would be better if the bees built the hive over time and the flower grew and pollinated, but I will need some help getting that far… My hope is that the queen bee stays around the hive, and the worker bees are all attracted to the hive, but also go off and get pollen from another location, and come back. It would be really cool to have a lifespan assigned and if you watch them long enough another hive is started and another queen takes over, and it grows. Lots to learn in class still, so I think it is possible this will get much better as time goes on. I am still having some trouble uploading code, so I will post a picture instead for this post…
Posted in CSIT1520 | | | Comments Off on Force« Previous Entries
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- September 2012
- August 2012