OpenScad MetaBalls! by WilliamAAdams 3d model
3dmdb logo
Thingiverse
OpenScad MetaBalls! by WilliamAAdams

OpenScad MetaBalls! by WilliamAAdams

by Thingiverse
Last crawled date: 3 years, 1 month ago
Well, it's inevitable that there will be 3D printable analogs to just about every graphics primitive/technique in existance today.
This thing is an exploration in metaball creation using OpenScad. What's a metaball? In graphics, particularly ray-tracing, they're blobby objects. That's how you get a nice muscular rendering over a skeleton, for example.
Although be a fairly straight forward technique, they are very computationally expensive. This implementation is the most rudimentary I could possibly come up with in 2D space. It uses a "granule" approach to the rendering. Depending on your metaball configuration, you could probably actually print one of these.
How to use it? Right now, you can either have two balls or three balls influencing each other. I find it very hard to go with an arbitrary number of balls without having any true variables in OpenScad. it's also very hard because I can't figure out how to do loops within functions. I'd like to iterate over an array of elements, and return a sum from a function. That would be perfect.
You can't truly appreciate how very interesting this system is unless you watch an animation of successive frames. I've included a .zip with the pictures generated from two seconds of animation. I've also included an animated .gif which I created using this site: http://www.gifninja.com/
At any rate, it's about where I was when I created the first Bezier functions a few weeks back. A few iterations from now, I should have a nice isosurface library for some metaball blobby goodness.
Definitely a work in progress, not even a 0.1 version, but I thought people might like to look at the technique.

Tags