9

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:

Tripex about box

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

Winamp about box

Pedery
  • 3,632
  • 1
  • 27
  • 39
  • 5
    Really if you have the time and inclination to spend on this your app probably isn't shining enough. – Draemon Dec 17 '09 at 00:16
  • 7
    I **completely** disagree. One thing is programming functionality that *has to* be in the app. A totally different thing is playing with your coding passion. There are countless apps out there with cool effects in their about boxes, going back to Winamp and Fast Tracker to name a few. This is also about creativity, as well as learning. – Pedery Dec 17 '09 at 00:27
  • 2
    Sounds like you want to create a demo: http://en.wikipedia.org/wiki/Demoscene – Kevin Panko Dec 17 '09 at 02:13
  • For the same reason some people program flash and others prefer crunching numbers. Different interests. Personally I've always liked graphics (*and* crunching numbers) so I wouldn't mind putting in my spare time doing something I really like. – Pedery Dec 17 '09 at 02:18
  • +1 for coolness factor but perhaps you have to much free time on your hands (as do I for posting here :) – Lieven Keersmaekers Dec 17 '09 at 07:49
  • Trust me, I have not. But when you create an app that is your own work from the ground up, don't you wanna dot the 'i's? – Pedery Dec 17 '09 at 08:18
  • Both applications you mentioned never evolved with time and died in place of applications with beauty AND functionality built in like itunes, kmplayer and vlc. – slimbo Dec 17 '09 at 14:26
  • 3
    If you want to make something visually cool make the app visually cool don't waste your time on something that 90% of users will never open (when was the last time you opened your web browsers "about box") – slimbo Dec 17 '09 at 14:28
  • I'm not asking for advice about how to program new features in my application. I'm simply *really* interested in graphics algorithms in general. Forget that it will be used in an about box. Maybe I'll need flames for a game I'll program later. Or a particle system to visualize a combustion engine. People are being too hung up in *where* it will be used, rather than what I'm really asking for. – Pedery Dec 17 '09 at 18:44

4 Answers4

6

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

Community
  • 1
  • 1
Pedery
  • 3,632
  • 1
  • 27
  • 39
  • 4
    It certainly *ought* to run with no lag, the same algorithm used to run perfectly smoothly on a 386DX33 with ISA graphics! – caf Dec 18 '09 at 11:25
  • Cool! Like I wrote, I tested it in managed code and it was smooth and nice. – Pedery Dec 18 '09 at 15:44
5

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

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
Pedery
  • 3,632
  • 1
  • 27
  • 39
4

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
(source: levitated.net)

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
Pedery
  • 3,632
  • 1
  • 27
  • 39
1

I like a lot the Julia 4D quaternion fractal.

alt text
(source: macromedia.com)

Video: Julia 4D animation in F#

elmattic
  • 12,046
  • 5
  • 43
  • 79
  • That's pretty cool. Can it be done in realtime without DX, OGL or XNA? – Pedery Dec 18 '09 at 01:15
  • 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). – elmattic Dec 18 '09 at 11:18