views:

416

answers:

4

I'm going to program a fancy (animated) about-box for an app I'm working on. Since this is where programmers are often allowed to shine and play with code, I'm eager to find out what kind of cool algorithms the community has implemented.

The algorithms can be animated fractals, sine blobs, flames, smoke, particle systems etc.

However, a few natural constraints come to mind: It should be possible to implement the algorithm in virtually any language. Thus advanced directx code or XNA code that utilizes libraries that aren't accessible in most languages should not be posted. 3D is most welcome, but it shouldn't rely on lots of extra installs.

If you could post an image along with your code effect, it would be awesome.

Here's an example of a cool about box with an animated 3D figure and some animated sine blobs on the titlebar:

alt text

And here's an image of the about box used in Winamp, complete with 3D animations:

alt text

+4  A: 

I tested and ran the code on this page. It produces an old-school 2D flame effect. Even when I ran it on an N270 in HD fullscreen it seemed to work fine with no lag. The code and all source is posted on the given webpage.

alt text

Pedery
It certainly *ought* to run with no lag, the same algorithm used to run perfectly smoothly on a 386DX33 with ISA graphics!
caf
Cool! Like I wrote, I tested it in managed code and it was smooth and nice.
Pedery
+4  A: 

Metaballs is another possibly interesting approach. They define an energy field around a blob and will melt two shapes together when they are close enough. A link to an article can be found here.

alt text

Pedery
+2  A: 

I like a lot the Julia 4D quaternion fractal.

alt text

Video: http://www.youtube.com/watch?v=TKgWaHGpj5c
Resources: http://www.cs.caltech.edu/~keenan/project_qjulia.html

Stringer Bell
That's pretty cool. Can it be done in realtime without DX, OGL or XNA?
Pedery
Sorry but I don't think so. Or maybe if you can hand-optimize it in asm (SSE) and keep a low resolution (probably 160x120 pixels).
Stringer Bell
+2  A: 

Something called a Wolfram Worm seems so be an awesome project to attempt. It would be easy to calculate random smooth movement by using movement along two connected bezier curves. Loads of awesome demos can be found on this page:

http://levitated.net/daily/index.html

http://levitated.net/daily/catLong.jpg

Pedery