Skip to content

Instantly share code, notes, and snippets.

/_.md

Created December 15, 2012 15:36
Show Gist options
  • Save anonymous/4296428 to your computer and use it in GitHub Desktop.
Save anonymous/4296428 to your computer and use it in GitHub Desktop.
Another Inlet
{"description":"Another Inlet","endpoint":"","display":"svg","public":true,"require":[],"fileconfigs":{"inlet.js":{"default":false,"vim":true,"emacs":false,"fontSize":12},"_.md":{"default":true,"vim":false,"emacs":false,"fontSize":12},"config.json":{"default":true,"vim":false,"emacs":false,"fontSize":12}},"tab":"edit","display_percent":0.4545370938074802,"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,"hidepanel":false}
var dataset=[], lineData=[], a=0, data=[], i, num=26, r, step= (360 / num) / 180 *Math.PI ;
var svg = d3.select("svg");
// generates 26 fake numbers in an array
var fakearray = function(){
var tmp=[];
for( i = 0; i < num; i++ )tmp[i]=Math.ceil(Math.random()*50);
return tmp;
}
// creates a stack of fake objects to work with
for(var e = 0; e < 99; e++ ){
var tmp = { "color":"#000333","stuff":{"num":2,"values":fakearray(),"moarvalues":fakearray()}};
//var tmp = { "color":"#000333","values":fakearray(),"moarvalues":fakearray()};
dataset.push(tmp);
}
//console.log(dataset);
var xxx = d3.scale.linear()
.range([0, 273]);
var s=[];
function pick(){
for( var f = 0; f < 3; f++){
var index=Math.round(Math.random()*dataset.length-1);
s[f]= dataset[ index ] ;
}
}
pick();
console.log(s);
function compute(){
data = fakearray();
for( i = 0; i < num; i++ ){
r = 200+data[i];
a += step;
lineData[i]= {"x": Math.sin(a)*r, "y": Math.cos(a)*r} ;
}
}
for( i = 0; i < num; i++ ){
data[i]=Math.ceil(Math.random()*5);
lineData[i]= {"x": 0, "y": 0} ;
}
var lineFunction = d3.svg.line()
.x(function(d) { return d.x; })
.y(function(d) { return d.y; })
.interpolate("basis-closed");
compute();
var t=svg.selectAll("g").data(s).enter().append("g")
.attr({"transform":function(d,i){ return "translate("+xxx(i)+",100)"},"x":function(d,i){return i*200},"y":0});
t.append("path")
.attr({"d": lineFunction(lineData),"fill": "#4EBDF5", "opacity": 0.9 });
// t.append("path");
t.selectAll("g").data(function(d){ return d.stuff.values;}).enter().append("rect")
.attr( { "fill":"#3D9DF7","x":function(d,i){return i*8}, "width":3, "height": function(d){return d;} } );
t.selectAll("g").data(function(d){ return d.stuff.moarvalues;}).enter().append("rect")
.attr( { "fill":"#F73DD9","x":function(d,i){return i*8+4}, "width":3, "height": function(d){return d;} } );
// .attr({"d": lineFunction(lineData),"fill": "#4EBDF5", "opacity": 0.9 })
// .attr("transform", "translate(500,500)");
//svg.selectAll("rect").data(data).enter().append("rect")
//.attr({"fill":"#3D9DF7","x":13,"height":3,"y":function(d,i){return i*4+223;},"width":function(d){return d*12;}});
var aa=svg.append("path")
.attr({"d": lineFunction(lineData),"fill": "#4EBDF5", "opacity": 0.9 })
.attr("transform", "translate(500,500)");
//var bb=svg.append("path")
//.attr({"d": lineFunction(lineData),"fill": "#FCF208","opacity":0.76})
//.attr("transform", "translate(500,500)");
setInterval(function() {
compute();
aa.transition().ease("bounce").duration(1000).delay(271).attr("d", lineFunction(lineData))
//compute();
//bb.transition().ease("elastic").duration(1000).attr("d", lineFunction(lineData))
// data=fakearray();
//svg.selectAll("rect").data(data)
//.transition()
//.duration(500)
//.attr({"fill":"#3D9DF7","x":13,"height":3,"y":function(d,i){return i*4+223;},"width":function(d){return d;}});
}, 3000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment