Not only is Z my first initial, it’s also the last letter of the alphabet. I’ve always felt it’s a bit enigmatic for that fact. I wanted to make a Z that started as a point, then became a line, and then expanded into the Z’s trademark zig-zag shape. I achieved my intended design, though I was a bit confused by the addTween method and ended up just animating the vertices myself, so I did not get to experiment with the easing as much as I would have liked.
My favorite letter that I came across was, hands down, this H by Chris Delbuck. Rather than have a preset idea of the motion he wants, he has the vertices start at a random location and then reassembles the H from there, resulting in an endlessly interesting form.
My finished letterform is viewable here: http://www.anitype.com/entry/agtzfmFuaXR5cGVjb3IUCxIHbGV0dGVycxiAgICA1cqHCQw
[iframe src=”http://www.anitype.com/entry/agtzfmFuaXR5cGVjb3IUCxIHbGV0dGVycxiAgICA1cqHCQw” width=”620″ height=”360″]
/** * Register your submission and choose a character * For more information check out the documentation * http://anitype.com/documentation */ Anitype.register('Z', { // Enter your name author: 'Zack Aman', // Enter a personal website, must have http website: 'http://www.zacharyaman.com', // Make your animation here construct: function(two, points) { // Reference to instance var anitype = this; // Create a Two.Polygon var polygon = anitype.makePolygon(points); //set all points to upper left part of the Z polygon.vertices[0].x = -179; polygon.vertices[0].y = -337; polygon.vertices[1].x = -179; polygon.vertices[1].y = -337; polygon.vertices[2].x = -179; polygon.vertices[2].y = -337; polygon.vertices[3].x = -179; polygon.vertices[3].y = -337; anitype.duration = 1400; var i = 0; anitype.addTick(function(){ // console.log(i); i+= 0.01; //move vertices 2 and 3 to (179,337) if(i < .31){ points[2].x = -179 + 2*179*i*10/3; points[2].y = -337 + 2*337*i*10/3; points[3].x = -179 + 2*179*i*10/3; points[3].y = -337 + 2*337*i*10/3; } else if(i >= .31 && i <= .62){ // console.log(points); points[1].x = -179 + 2*179*(i-.31)*10/3; points[2].x = 179 - 2*179*(i-.31)*10/3; } else if(i > .6){ //do nothing } }, Anitype.Easing.Circular.InOut); // Return your polygon wrapped in a group. return two.makeGroup(polygon); } });