algorithmic modeling for Rhino
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:
http://lmnts.lmnarchitects.com/uncategorized/animating-with-transfo...
Comment
Hi,
somehow the download link is not working the zip file seems to be corrupted? Is it possible to get the file ?
Thanks!
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.
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.
Thanks Daniel, awesome script. Is it safe to say that these are "Slerps" as described in this paper by Shoemake?
As promised, here's a tool for interpolating smoothly through a sequence of orientations.
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.
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 ;)
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...
Welcome to
Grasshopper
© 2024 Created by Scott Davidson. Powered by
You need to be a member of Grasshopper to add comments!