Post about "physics"

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 bluethen.com, 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.
(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 bluethen.com. 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.
(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.

(more…)

Verlet Car

Today I’ve further extended the verlet algorithm and created a Car from it. At the moment it’s just a box with wheels, but in the future I’d like to allow weight-shifting to it, so it can be played it be like those motocross games. When and if I finish it, I’ll clean up the code and open-source it on http://www.openprocessing.org/ and http://www.hawkee.com.

Also check out my Twitter: @BlueThen.

Ragdoll Aquarium

Short post here. As promised, here’s the source to the ragdoll applet I released a few weeks back: http://www.openprocessing.org/visuals/?visualID=22598

Press ‘r’ to reset. Click and drag to interact.

In this applet, we make use of the Verlet Integration method from Curtain, and create little ragdolls.

I did my best to comment the code for others to use.

Fun with Ragdolls

Since I finished Curtain, I’ve been experimenting with simulating ragdolls. Click here to play with some ragdolls. For programmers out there interested in the source: hang tight. I haven’t finished cleaning up the source completely yet, but it’ll be released soon (All my sources are released at OpenProcessing).

There’s something about ragdolls that I enjoy a lot. You can swing them, fling them, smash ‘em and put ‘em in a pot. What I made wasn’t exactly full body 3D ragdolls, but it’s set the path for further ragdoll fun for myself. Check the rest of the post for further ragdoll mechanics and what-not. Keep in mind the “constraints”, “masses”, and other stuff involve the algorithms in my Verlet Integration tutorial. (Part 1, Part 2)

(more…)