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