Ken Burns Effect Algorithm-Functions

Sivakatirswami katir at hindu.org
Sun May 14 23:16:20 EDT 2006


I'm about to embark on developing a few Ken Burns Effects for images  
animation.

Looking on the Net and at iPhoto the model is pretty simple:

1) sets starting size and loc
2) set an ending size and loc

then "tween" between the two.  That's all the software does for  
you.. .though "Photo to Movie" (only 49.95) has a lot of other  
interesting options...

Goal here is to dispense with the requirement to have a quicktime  
movie, but simply call up slides, one file at a time.

Ok the panning is easy enough: move from point A to point B in X  
number of ticks (or secs)

the dynamic resizing is trickier... Several years ago I tried this by  
re-setting the width and height of the images increasing size based  
on ratio, it worked but had problems. Scott Raney said this was an  
inefficient method: one should really re-calculate the rect and then  
apply the rect in decreasing  or increasing increments.

Presumably this will be done on a Send In messaging cycle. But then  
if the image is also moving.. the topleft of the rect must also be  
changing.... So panning and zooming together: this makes it a bit  
trickier. One won't know, during the move, exactly where that point  
(topleft) is, to use it to set a new rect.

Ok so, my math is very rusty and I am wondering if someone already  
has this function in their libs.

e.g if the starting rect on the zoom is something like [A] -100,-100,  
500, 300 ( width 600, height 400)  so if you are zooming up only by  
20%  and your final rect is (after panning) [B] 0,0,720,480.. what is  
the math that gets us from A to B? hmmm, easier said than done...  
presumably one *might* dispense with a move command, since each  
interation of a rect declaration could also "move" the image... but  
one pixel motion is jerky... though I've not see that move from point  
A to point B is much smoother.  (I have yet to see Rev move animation  
run as smoothly as other animation... but I maybe need rub my eyes  
and check again...am I the only one that senses Rev's move cmd to be   
a bit "jerky" or is it just my video card?)

Insights?

Thanks
Sivakatirswami








More information about the use-livecode mailing list