Summer Break

citgo-blogMy senior year of high school rolled to a close last Thursday, and this Saturday we’ll be officially graduating. In March, I was accepted to Massachusetts Institute of Technology. That period of my life will be starting in August, where I intend on majoring in Computer Science (surprise!).

Before then, I plan on writing a little more than an average of 2 posts per year, revamping my portfolio, building a rail gun, and, of course, more programming. Hopefully I’ll be making great strides in my projects before college starts, but we’ll have to see.

Stay tuned, and thanks for reading.

Flock AI

Check out Flock!

A year ago I attended a 3 week college-like event called Missouri Scholar’s Academy. I showed several of my peers there some of the different demos I had here on, and they seemed to like it.

The teacher suggested that I should try and simulate a flock of birds. I told him that there were several implementations out there already, but I gave it a go anyways.

I wrote and based the algorithm off of a blog post by Harry Brundage. The original simulation could handle about 200 birds or “boids” before the frame rate drops noticeably.

In the past week I’ve returned to the flocking algorithm and did a few improvements. Right now it can handle about 1000 boids, and, with the OpenGL renderer, it can handle 1500 and up.
Read More

What’s New

It’s been almost a year since my last update, and since then I’ve been fairly negligent.

School, finals, standardized tests, and college searching have all occupied my time up until a few weeks ago.

That isn’t to say that I’ve been completely idle since Ragdoll Animator. In January I’ve had a lot of fun making a rigid body physics engine. I got it working, implemented sliding friction and bounce preservation, and after that, I lacked motivation needed to clean it up for release.

More recently I’ve set up a new theme for I chose MxS2 and made a few minor changes of my own. The old theme got really old for me, and seeing a few other blogs with the exact same theme made it seem banal.

So far visitors have called this current theme as “generic” but also minimalistic. I didn’t want the theme itself to distract from the content here. To me, “generic” fit that criteria pretty well. Some preferred the older theme over this one, and told me that it better fits the applets I make. What do you think?

In the future I’d like to clean up the physics engine and make something fun with it. I’d also like to experiment with some other algorithms (ray tracing, path finding, AI, oh my!), and hopefully write about my endeavors and discoveries. Stay tuned.

Ragdoll Animator

Click here to try out Ragdoll Animator

Very crude example animation: here. Copy/paste it into the textarea at the animator page, then click “Load from textarea.”

For the past two weeks I’ve been working on a simple Verlet-based Animator. Everytime you click “Add Frame” (or press spacebar), the animator tries to predict your next frame by apply motion to the stickman. You can even simulate it in real time by holding spacebar and grabbing the stickman and flinging him around. There’s a lot of other cool things you can do here, but I’ll leave it to you to find out.

Ragdoll Animator, like most of my stuff, was programmed in Processing. Instead of compiling it as a Java Applet this time I instead used Processing.js.

The creation of Ragdoll Animator was made with the help of some of the Processing.js dev team, especially Pomax, who was willing to tolerate my countless questions about code design.

For animators: My animation example is very crude and I’m certain other people are more capable than me at making something neat. Paste your animations at PasteBin and tweet them! I’ll be sure to include animations tweeted in later blog posts.

Source code info after the break.
Read More

Changes to Curtain

Click here to see How to Make a Fabric Simulator

Click here to see How to Make a Fabric Simulator Part 2

Yesterday and today I made some long needed changes to Curtain‘s code. Most of it is behind the scenes stuff. The most noticeable change will be how it interacts with the mouse. It should now be a lot smoother and when the user is tearing (right clicking), it wont just tear at points it sees the cursor at, but it’ll tear ALL points between the cursor’s current and previous positions. Meaning it’s now a lot easier to slice the curtain in half with just one swipe.

You might also notice changes in the speed since the majority of the changes are optimization. You’ll only notice it if Curtain was laggy or slow for you before this update. To try out the newly optimized Curtain, check it out here. You can also check out its source here or here. To see a list of updates, jump to the end of the post.

Read More

Nebula Generator

A lot of the pictures in Algorithmic Art were made using a program I started on a few days ago. I took Curtain and made it 3D. The fabric gets created in the center of the screen, with different parts of it being accelerated in all directions. It’s rendered onto the screen semi-transparently over and over and eventually you get a very organic nebula-like piece of art.

I feel like a lot of what makes the pictures amazing is watching the nebula itself grow. I cleaned it up, and released the applet online which you can try by clicking here. I’ve also uploaded the source on OpenProcessing and Hawkee

Don’t forget I have a Twitter, also a Google Plus profile.

Algorithmic Art

I added a page (link at the top of each page) for showcasing pictures generated using algorithms. Every now and then I might post a series of pictures and make a post here about them, but I mostly talk about the art on Twitter. Follow me if you haven’t already!