Playing around with ofxMPMFluid to create a displacement map for a sphere.
For the video below, I needed a way to extrude any font into 3D objects for use with ofxBullet.
There are many ways to do this and other examples using OpenFrameworks in this thread. My approach was a little more complicated than it should have been, but it worked. I used the following to get the paths of the letters for any font:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <code> ofPath path = font.getCharacterAsPoints(letter); vector <ofpolyline> polys = path.getOutline(); // resample the font points so that we have a point every (x) pixels; for (int i = 0; i < polys.size(); i++) { // now resample and draw new dots ofPolyline sampled = polys[i].getResampledBySpacing(samplePixels); sampledPolys.push_back( sampled ); // outline for (int j = 0; j < sampled.size(); j++) { points.push_back( ofVec3f(sampled[j].x, sampled[j].y, 0.)); } } </code> </ofpolyline></code> |
ofxBullet Examples from Nick Hardeman on Vimeo.
ofxBullet is an addon for OpenFrameworks for the incredible Bullet Physics library. Included are all of the primitive shapes; sphere, cone, capsule, box and cylinder. Joints are supported as well, between two shapes and a shape and a location. Collision events can be enabled to fire an event. The object passed contains information about the collision, including the two colliding objects, the location of the collision, etc. Mouse events can be enabled as well, and pass an event similar to the collision events. Mouse grabbing is also supported. The custom shape example illustrates passing a mesh from a loaded collada file (the OF logo) and building the bullet shape. This custom shape class also takes all of the primitives and supports multiple meshes.
MORE INFO
Experiment mapping pre-rendered videos by the lab intern Lauren Licherdell to the geometry of the doors. It was rather hard to match up the mapping to the door. As you can see by the photo below, the stool was not the most stable. We used a folded up napkin to keep it from wobbling too much.
MORE INFO
When spheres touch each other or the boxes, they become more red. The spheres gather to make the outline of a bullet and then are shot into the pile of boxes. Once the boxes are touched by a sphere, they become deactivated, not glowing any longer. The spheres then form the letters ‘OF’ toward the end of the video.
Runs in real time without the glow filter, which is not very apparent in this video. With the glow filter shown in this video, it stays around 50 fps.
Created with OpenFrameworks http://www.openframeworks.cc/
using the Bullet 3d physics library http://bulletphysics.org/wordpress/
ofxTweenzor is a addon for OpenFrameworks that allows for tweening values over time. I began developing the addon because I started using OF on the iPhone and I wanted a little transition here and there. I started programming and someone mentioned ofxTween. I checked it out and turns out that it runs on poco events and right now poco is not included in the iPhone build. Being a Flash developer, I wanted some tweens and I wanted to get familiar with events in C++ and how they could be handled, which took a little getting used to. I learned a great deal about pointers and events in C++, and I still have a way to go.
Hopefully someone will find this useful, and any questions or comments are welcome.
The easing equations are from both Robert Penner and the Tweener class by Zeh Fernando, Nate Chatellier and Arthur Debert.
The source includes a basic example file, and most of the following is included in there.
Using some sample FFT code by Zach Lieberman, I put together this audio visualizer in Open Frameworks. The over all volume of the piece breaks apart the square and pulls it back in when it is low. Wu Tang Clan ain’t nothin to fuck wit.
Audio Visualizer in Open Frameworks from Nick Hardeman on Vimeo.