algorithmic modeling for Rhino

Animating through Transformation Matrices in Grasshopper

We put together a user object for animating transformation matrices in GH.  This remaps each matrix value between an identity matrix and the final transformation from a given GH component with an "X" output.  For more info, check out our post here:


Views: 2435


You need to be a member of Grasshopper to add comments!

Join Grasshopper

Comment by Bastian Wibranek on March 1, 2017 at 5:17am


somehow the download link is not working the zip file seems to be corrupted? Is it possible to get the file ?


Comment by lmnts on October 27, 2013 at 11:23am

We're unable to reproduce the problem as the download link seems to be working.  This is a .zip file so it will need to be unzipped.

Comment by David on October 27, 2013 at 12:03am

It looks a good work,i always look forward to reading your blog ,but I can't downdoad the LMNts Transformer ,could you help me

Comment by Daniel Piker on October 23, 2013 at 3:34pm

Sort of - Slerp is the equivalent of straight lines in rotation space - so it gives smooth interpolation between 2 orientations, but if we want to move through a sequence of oriantations without sudden changes in angular velocity, we need something more like the Squad algorithm described here, which generalizes the idea of Bézier curves to the space of unit quaternions.

Instead of doing exactly that though, I used the same idea of stereographic projection described here to transform quaternion rotation space from 4d into something we can use standard Rhino 3d interpolation algorithms on, then back again.

Comment by lmnts on October 23, 2013 at 2:17pm

Thanks Daniel, awesome script.  Is it safe to say that these are "Slerps" as described in this paper by Shoemake?

Comment by Daniel Piker on October 23, 2013 at 1:29pm

As promised, here's a tool for interpolating smoothly through a sequence of orientations.  ;)

Comment by lmnts on October 21, 2013 at 4:49pm

Daniel, thanks for the reference!  This paper is calling out and answering the same problems that we've found with direct matrix interpolation.  Quarternions look awesome too...looking forward to your upcoming post.

Nick, depending on the animation, we'll sometimes setup custom scripts with Python, but Giulio's is great for generic animation.  One thing we've noticed is that it helps to change the "current" input from an integer to a string, depending on the file name you want to save out.

Comment by Daniel Piker on October 21, 2013 at 4:27pm

You might want to check out this paper by Shoemake and Duff on the problems with directly interpolating the values of a transformation matrix.

Separating out the scaling/rotation/translation parts gives nicer results if you want to animate objects moving between different positions without shearing and distorting oddly.

For transformations where the objects stay rigid, quaternions can also be a nifty way of interpolating the rotations.

In that old video of mine with the panels you can see that some of them do a sudden flip as they move into position, because I was simply interpolating the Euler angles, which doesn't give a smooth motion.

I'll post in the next few days some of the objects I made since then for interpolating at constant angular velocity ...and also a quaternion spline script in the form of a poem ;)

Comment by Nick Tyrer on October 17, 2013 at 3:23am

Thanks Lmnts, I always look forward to reading your blog posts. I am definitely someone that has never given the 'x' output a second glance.

Just curious, but what method do you guys favour for rendered animations? Like the last one in your video. Last time I tried I was using one of Giulio's...





  • Add Photos
  • View All


  • Add Videos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service