Variations on NanoLife

I'm thrilled to share three variations of NanoLife that other developers have put together based on the original project. Each one does something a bit different.

NanoLifeSaver
NanoLifeSaver


"Kenneth" was the first to post his variation, NanoLifeSaver, which is a screensaver version of the original app. He also included options in the screensaver configuration sheet for sphere count and color preferences.

NanoLife with Options
NanoLife with Options


"ACoolie" came up with a version which has a set of options similar to Kenneth's screensaver — colors and sphere count. Since it's not a screensaver, you can still use the mouse to do fancy motion effects as in the orginal app.

NanoSpores
Nano Spores  


Hari Wiguna came up with Nano Spores, which adds some clever geometry effects to the original concept to become something positively hypnotic (flip on the full screen for the true experience). I don't know if there's any way to describe it, and the screenshot doesn't even come close. Make sure to mess around with mouse clicks too. The app and source are available at the Des Moines CocoaHeads group.
Design Element
Variations on NanoLife
Posted Feb 24, 2008 — 5 comments below




 

Max — Feb 25, 08 5565

As far as describing the "Nano Spores", It seems that each spore just traces out a straightline between its original spot and another random spot on the circle. That random spot stays constant for each mouse click. The spheres themselves have a sort of velocity function that seems to have a constant curve (a hump of sorts: v=-ax(1-x) or something (for 0<x<1) ), but is sped up or slowed down relative to the other sphere's randomly with another random parameter that also stays fixed for each click. So as far as "clever" geometry, its really not too complicated and could be made a lot more complex if the parameters weren't fixed for each mouseclick. How difficult that would be I wouldn't know as I haven't actually looked too closely at the source code.

It is cool to look at though! All the different speeds and transparencies really does look sweet.

Scott Stevenson — Feb 25, 08 5566 Scotty the Leopard

@Max: As far as describing the "Nano Spores", It seems that each spore just traces out a straightline between its original spot and another random spot on the circle

This is a good description of the algorithm, but I think trying to describe what it's like to watch it is hard to put into words. A dance of microscopic life forms?

So as far as "clever" geometry, its really not too complicated

I agree. What I meant is that it's a clever use of simple geometry.

The spheres themselves have a sort of velocity function that seems to have a constant curve

It's the kCAMediaTimingFunctionEaseInEaseOut timing function built into Core Animation.

Patrick Geiller — Mar 12, 08 5640

I've played around with NanoLife and hit problems when using layers in 3d. See screenshot and code. Am I doing something wrong here, forgetting to setup something ?

Scott Stevenson — Mar 14, 08 5647 Scotty the Leopard

@Patrick Geiller: I've played around with NanoLife and hit problems when using layers in 3d

There's actually a "sphereContainer" sublayer that holds all of the floating orbs. I'm not sure what the exact effect was that you were going for, I changed this line in your copy of the source:

mainLayer.sublayerTransform = transform;

To this:

sphereContainer.sublayerTransform = transform;

And it looks a lot better. I think Core Animation is actually doing exactly what you're asking. The NSView's backing layer had the sublayerTransform applied, so the sphereContainer layer was floating out in space.

Patrick Geiller — Mar 15, 08 5650

@Scott : it does work better. I was trying to have the dots move in 3d, and setup the projection matrix in the main layer expecting all sublayers to inherit that transform - the sphereContainer having no position set, I thought it wouldn't matter. Anyway, I know how to make it work in 3d now, so thanks !




 

Comments Temporarily Disabled

I had to temporarily disable comments due to spam. I'll re-enable them soon.





Copyright © Scott Stevenson 2004-2015