Posts Tagged ‘animation’

Accompanying video for “Linear Subspace Design for Real-Time Shape Deformation”

Thursday, May 7th, 2015

Here’s the accompanying video for SIGGRAPH 2015 paper “Linear Subspace Design for Real-Time Shape Deformation”.

Tangible and Modular Input Device for Character Articulation project page

Friday, May 2nd, 2014

tangible and modular input device

My colleagues, Daniele Panozzo, Oliver Glauser, Cedric Pradalier, Otmar Hilliges, Olga Sorkine-Hornung and I have just submitted the camera ready version of paper “Tangible and Modular Input Device for Character Articulation” to be presented at ACM SIGGRAPH 2014. I’ve put up a Tangible and Modular Input Device for Character Articulation page where you can find the preprint version of the article, videos and an OpenHardware description so you can build your own device!


Articulation of 3D characters requires control over many degrees of freedom: a difficult task with standard 2D interfaces. We present a tangible input device composed of interchangeable, hot-pluggable parts. Embedded sensors measure the device’s pose at rates suitable for real-time editing and animation. Splitter parts allow branching to accommodate any skeletal tree. During assembly, the device recognizes topological changes as individual parts or pre-assembled subtrees are plugged and unplugged. A novel semi-automatic registration approach helps the user quickly map the device’s degrees of freedom to a virtual skeleton inside the character. User studies report favorable comparisons to mouse and keyboard interfaces. Our device provides input for character rigging and automatic weight computation, direct skeletal deformation, interaction with physical simulations, and handle-based variational geometric modeling.


Create high-quality animated, color, looping gif in Matlab

Thursday, December 19th, 2013

Writing GIFs in matlab is a bit of a pain. Assuming you have a sequence of RGB images stored in a Height-by-Width-by-3-NumberOfFrames matrix S, then you can write this as an animation with no delay to a .gif file using:

filename = 'foobar.gif';
for f = 1:size(S,4)
  [SIf,cm] = rgb2ind(S(:,:,:,f),256);
  if f == 1
    imwrite(SIf,cm, filename,'WriteMode','append','Delay',0);

Update: Often instead of S(:,:,:,f) I’ll have my frames coming from a figure window:

  frame = getframe(gcf);
  [SIf,cm] = rgb2ind(frame.cdata,256);

Animated GIF of vector field coordinates in matlab

Monday, August 26th, 2013

Suppose you have a mesh (V,F) and a vector field (or matrix of scalar field values) W. You can create a looping animated gif in matlab of a visualization of those values using:

t = trisurf(F,V(:,1),V(:,2),0*V(:,1),'EdgeColor','none','FaceColor','interp','FaceLighting','phong');
hold on;
  % for me each coordinate corresponds to a point in C
hold off;
axis equal;
title('Vector Field  ','FontSize',20);
for w = 1:size(W,2)
  im = myaa('raw');
  [imind,cm] = rgb2ind(im,256);
  filename = 'vector-field.gif';
  if w == 1;
    imwrite(imind,cm,filename,'gif', 'Loopcount',inf);

This produces something like:

vector field animated gif matlab


Fast Automatic Skinning Transformations SIGGRAPH Fast Forward

Tuesday, August 7th, 2012

Here’s our 40 second Fast Forward we just showed at SIGGRAPH 2012 for our paper “Fast Automatic Skinning Transformations”

Subtracting 1 pixel from outline of every frame in animated gif

Tuesday, May 1st, 2012

When I overlay animations on background images there’s often a a thin outline of white or near white coming from the texture mapping + anti-aliasing in my application.
worm animation with correct transparency over clouds
I came up with two easy ways to get around this in photoshop. First just add a black stroke to every frame. This works well for cartoons:
worm animation with stroke
The other option is very similar. Add a stroke to each layer but instead of “adding” the stroke color, subtract it from the image. Select the blending options in the stroke layer style to look like this:
photoshop subtract stroke layer style
which produces something like:
worm animation subtract stroke

sousaphone animated

Tuesday, May 1st, 2012

Here’s a sneak peek at some new results.
sousaphone animated

drawing monster

Saturday, December 31st, 2011

drawing monster

Stretchable, Twistable Bones Skinning SIGGRAPH Asia Fast Forward

Tuesday, December 20th, 2011

I presented the above at SIGGRAPH ASIA in Hong Kong last week during the Technical Papers Fast Forward. Each paper gets 40 seconds to present or at least tease their work. Here’s our 40 sec video for our paper “Stretchable and Twistable Bones for Skeletal Shape Deformation” by me and my advisor Olga Sorkine.

Convert video (.mp4 or other) to high quality animated gif

Monday, September 12th, 2011

You can do this directly with ffmpeg, but I had trouble with it and seem to remember the quality not being so good. Instead I convert my .mp4 video into an animated gif by first grabbing 10 frames every second and saving them to files using the following:

ffmpeg -i input.mp4 -r 10 output%05d.png

Then using imagemagick’s convert tool insert each frame into an animated gif:

convert output*.png output.gif

This makes a rather large .gif file for even modest videos so probably you’ll want to post process it (e.g. with Photoshop) to reduce the file size by compressing the .gif file or reducing the dimensions.

Clean up the png files using:

rm output*.png