src/diagram.js
function(d) {
            return function(t) {
                var c = d.sets.map(function(set) {
                    var start = previous[set], end = circles[set];
                    if (!start) {
                        start = {x : width/2, y : height/2, radius : 1};
                    }
                    if (!end) {
                        end = {x : width/2, y : height/2, radius : 1};
                    }
                    return {'x' : start.x * (1 - t) + end.x * t,
                            'y' : start.y * (1 - t) + end.y * t,
                            'radius' : start.radius * (1 - t) + end.radius * t};
                });
                return intersectionAreaPath(c);
            };
        }
function(d) {
            return function(t) {
                var c = d.sets.map(function(set) {
                    var start = previous[set], end = circles[set];
                    if (!start) {
                        start = {x : width/2, y : height/2, radius : 1};
                    }
                    if (!end) {
                        end = {x : width/2, y : height/2, radius : 1};
                    }
                    return {'x' : start.x * (1 - t) + end.x * t,
                            'y' : start.y * (1 - t) + end.y * t,
                            'radius' : start.radius * (1 - t) + end.radius * t};
                });
                return intersectionAreaPath(c);
            };
        }
function ( d ) { return function ( t ) { var c = d . sets . map ( function ( set ) { var start = previous [ set ] , end = circles [ set ] ; if ( ! start ) { start = { x : width / 2 , y : height / 2 , radius : 1 } ; } if ( ! end ) { end = { x : width / 2 , y : height / 2 , radius : 1 } ; } return { 'x' : start . x * ( 1 - t ) + end . x * t , 'y' : start . y * ( 1 - t ) + end . y * t , 'radius' : start . radius * ( 1 - t ) + end . radius * t } ; } ) ; return intersectionAreaPath ( c ) ; } ; }
interpolate intersection area paths between previous and current paths
interpolate intersection area paths between previous and current paths