Categories
Uncategorized

Waves

I have a new program to illustrate a concept I have been using to make periodic, highly variable and continuous variations in programming entities called classes.

[processing width=”600″ height=”200″ file=”https://benvancitters.com/wp-content/uploads/2011/03/waves.jar” method=”onclick”][/processing]

This program takes input from the mouse, the farther to the right the cursor is, the more waves are added together in each band of color and the farther towards the bottom the mouse is the more line segments are used to draw the wave.

The waves across the screen are a compilation of sine and cosine waves with varying amplitudes, offsets, and frequencies. I’m working on building a class that allows simple control of the result of such a complicated series and composition of functions to be used in further programs.

Categories
Uncategorized

Ripps

This project started as attempt to make a random looking surface normal generator, but that will have to wait for another day. What you see here are sine waves applied to the colors red green and blue animating against one another. If you move the mouse up and down on the image the width of the bands of color will change and if you move the mouse right and left the speed they move changes.

[processing width=”600″ height=”400″ file=”https://benvancitters.com/wp-content/uploads/2011/03/ripps.jar” method=”onclick”][/processing]

Processing, the programming language I wrote this in, has a special way you can get at the individual pixels in an image which in a case like mine is pretty ideal. The only problem that I have with that is the access to each pixel is sequential. So, I decided to ‘thread’ this to make it faster, approximately 2x faster on my machine. Since each pixel is independent of all the other pixels on the screen ideally we could find all of the numbers at once instead of one after another. Inside the computer each processor can only perform one operation at a time however, so in reality you will only see a noticeable framerate increase if your computer has more than one processor.

Categories
Uncategorized

Treez, an old favorite

[processing width=”600″ height=”400″ file=”https://benvancitters.com/wp-content/uploads/2011/03/treez.jar” method=”onclick”][/processing]

This was originally a screensaver I wrote for my mother’s birthday in VB6. This version is written in Processing, but you don’t need to know that to enjoy it.

People always ask me if it’s random to which I never am completely sure how to answer. The answer is that all the apparent randomness is based on pseudo-random numbers generated by Java. But that isn’t the end of the story either. Some “trees” still seem to grow differently than others… The reason is that every time a new tree is started it gets a new, “random” set of parameters such as what color it is, how bendy it is, how fast it grows and how often it sprouts new branches. When the root of the tree branches these parameters are then passed to it’s ‘child’ but they aren’t copied exactly, only approximately so the tree “evolves” as is grows.