Skip to content

Instantly share code, notes, and snippets.

@roundrobin
Created February 23, 2013 22:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save roundrobin/5021664 to your computer and use it in GitHub Desktop.
Save roundrobin/5021664 to your computer and use it in GitHub Desktop.
Grid -Type morphing
{"description":"Grid -Type morphing","endpoint":"","display":"svg","public":true,"require":[{"name":"grid.js","url":"https://raw.github.com/roundrobin/tributary-helpers/master/grid.js"},{"name":"pathy","url":"https://raw.github.com/roundrobin/svg-path-generator/master/svg-path-generator.js"}],"fileconfigs":{"inlet.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"_.md":{"default":true,"vim":false,"emacs":false,"fontSize":12},"config.json":{"default":true,"vim":false,"emacs":false,"fontSize":12}},"fullscreen":false,"play":false,"loop":false,"restart":false,"autoinit":true,"pause":true,"loop_type":"period","bv":false,"nclones":15,"clone_opacity":0.4,"duration":3000,"ease":"linear","dt":0.01,"thumbnail":"http://i.imgur.com/rs8EVbs.png"}
var a = g.append('a')
.attr('xlink:href','https://twitter.com/BausOfTheNauf')
.attr('xlink:show',"new");
a.append('text')
.text("by @BausOfTheNauf")
.attr({
fill: "#000000",
x : 9,
y: 16,
"font-size": 15,
"font-family": "Arial",
"text-anchor": "start"
});
var x = 100;
var y = 51;
var svg = g.append('g')
.attr('transform','translate('+[x,y]+')')
var factor = 1.10528;
var w = 315 * factor;
var h = 408 * factor;
var rangeX = 5.8;
var rangeY = 5.63;
var strokeCol = '#FFFFFF';
var background = '#478FF8';
//thelp.helpers.grid(svg, w,h,rangeX,rangeY, strokeCol, background);
var r3 = ['Q','R','S','T','U','V','W','X','Y','Z'];
var r2 = ['I','J','K','L','M','N','O','P'];
var r = ['A','B','C','D','E','F','G','H'];
var r = [''];
var r2 = ['A'];
var col1='#FFFFFF';
var col2='#FFFFFF';
var fontSize = 629;
var factor = 451;
var val = -47;
var t = g.append('g').selectAll('text')
.data(r)
.enter()
.append('text')
.text(function(d,i){ return d;})
.attr({
fill: col1,
x : x + val,
y: y + factor,
"font-size": fontSize,
"font-family": "Helvetica",
"text-anchor": "start",
'fill-opacity':'0.0'
});
var t = g.append('g').selectAll('text')
.data(r2)
.enter()
.append('text')
.text(function(d,i){ return d;})
.attr({
fill: col1,
x : x + val,
y: y + factor,
"font-size": fontSize,
"font-family": "Helvetica",
"text-anchor": "start",
'fill-opacity':'0.0'
});
var x = 0;
var y = 0;
var path2 = new Path(svg)
path2.add(['m',x,y]);
var len = 130;
var len2 = 144;
path2.add(['q',0,0,200,0]);
path2.add(['q',len, 0, len2, len]);
path2.add(['q',0, len, -len2, len]);
path2.add(['q',0, 0, -len, 0]);
path2.add(['q',0, 0, 0, 195]);
path2.add(['q',0, 0, -70, 0]);
path2.add(['q',0, 0, 0, -455]);
path2.add(['q', 0,0,0,0]);
path2.add(['z']);
path2.render();
//path2.showPoints();
path2.el().attr('stroke-opacity',0)
var path = new Path(svg)
path.add(['m',x,y]);
path.add(['q',0,0,200,0]);
path.add(['q',126,0,127,109]);
path.add(['q',0,60,-64,99]);
path.add(['q',79,12,84,116]);
path.add(['q',0,116,-145,126]);
path.add(['q',0,0,-200,0]);
path.add(['q', 0,0,0,-h]);
path.add(['q', 0,0,0,0]);
path.add(['z']);
path.render();
////path.showPoints()
var path3 = new Path(svg);
path3.add(['m',w/2,0]);
path3.add(['q',0,0,70,0]);
path3.add(['q',0,0,165,h]);
path3.add(['q',0,0,-70,0]);
path3.add(['q',0,0,-50,-135]);
path3.add(['q',0,0,-180, 0]);
path3.add(['q',0,0,-40, 135]);
path3.add(['q',0,0,-70,0]);
path3.add(['q',0,0,w/2,-h]);
path3.add(['z']);
path3.render();
//path3.showPoints()
path3.el().attr('stroke-opacity',0)
var path4 = new Path(svg);
var dim = 200;
path4.add(['m',w/2,0]);
path4.add(['q',0,0,dim,dim]);
path4.add(['q',0,0,0,0]);
path4.add(['q',0,0,-dim,dim]);
path4.add(['q',0,0,0,0]);
path4.add(['q',0,0,-dim,-dim]);
path4.add(['q',0,0,0,0]);
path4.add(['q',0,0,dim,-dim]);
path4.add(['q',0,0,0,0]);
path4.add(['z']);
path4.render();
path4.el().attr('stroke-opacity', 0);
path.el()
.transition()
.duration(2000)
.attr('d', path2.el().attr('d') )
.transition()
.duration(2000)
.delay(2000)
.attr('d', path3.el().attr('d') )
.transition()
.duration(2000)
.delay(4000)
.attr('d', path4.el().attr('d') );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment