|
<!DOCTYPE html> |
|
<meta charset="utf-8"> |
|
<style> |
|
|
|
body { |
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; |
|
width: 960px; |
|
height: 500px; |
|
position: relative; |
|
margin: 0px; |
|
} |
|
|
|
path{ |
|
stroke: black; |
|
} |
|
|
|
</style> |
|
|
|
<body></body> |
|
<script src="/1wheel/raw/67b47524ed8ed829d021/d3-3.5.5.js"></script> |
|
<script src='/1wheel/raw/1b6758978dc2d52d3a37/d3-jetpack.js'></script> |
|
<script src='/1wheel/raw/1b6758978dc2d52d3a37/d3-starterkit.js'></script> |
|
|
|
<script> |
|
|
|
var width = 960, |
|
height = 1600 |
|
|
|
var svg = d3.select("body").append("svg") |
|
.attr("width", width) |
|
.attr("height", height) |
|
|
|
var s = 405 |
|
|
|
!(function(){ |
|
var duration = 100 |
|
var points = [[0, 0], [s, 0], [s, s], [0, s]] |
|
var g = svg.append('g').translate([50, 50]) |
|
|
|
setInterval(function(){ |
|
var curPoint = points.shift() |
|
var nextPoint = points[0] |
|
g.append('path') |
|
.attr('d', ['M', curPoint, 'L', curPoint].join(' ')) |
|
.transition().duration(duration) |
|
.attr('d', ['M', curPoint, 'L', nextPoint].join(' ')) |
|
|
|
var percent = .06 |
|
points.push([ |
|
curPoint[0]*(1 - percent) + nextPoint[0]*percent, |
|
curPoint[1]*(1 - percent) + nextPoint[1]*percent]) |
|
}, duration) |
|
})() |
|
|
|
!(function(){ |
|
var duration = 100 |
|
var count = 0 |
|
var points = [[0, 0], [s, 0], [s, s], [0, s]] |
|
var g = svg.append('g').translate([555, 50]) |
|
|
|
setInterval(function(){ |
|
count++ |
|
|
|
var curPoint = points.shift() |
|
var nextPoint = points[0] |
|
g.append('path') |
|
.attr('d', ['M', curPoint, 'L', curPoint].join(' ')) |
|
.transition().duration(duration) |
|
.attr('d', ['M', curPoint, 'L', nextPoint].join(' ')) |
|
|
|
var percent = .000 + count*.0005 |
|
points.push([ |
|
curPoint[0]*(1 - percent) + nextPoint[0]*percent, |
|
curPoint[1]*(1 - percent) + nextPoint[1]*percent]) |
|
}, duration) |
|
})() |
|
|
|
// !(function(){ |
|
// var duration = 100 |
|
// var count = 0 |
|
// var points = [[0, 0], [s, 0], [s, s], [0, s]] |
|
// var g = svg.append('g').translate([50, 555]) |
|
|
|
// setInterval(function(){ |
|
// count++ |
|
|
|
// var curPoint = points.shift() |
|
// var nextPoint = points[0] |
|
// g.append('path') |
|
// .attr('d', ['M', curPoint, 'L', curPoint].join(' ')) |
|
// .transition().duration(duration) |
|
// .attr('d', ['M', curPoint, 'L', nextPoint].join(' ')) |
|
|
|
// var percent = Math.max(.035, .30 - count*.0075) |
|
// points.push([ |
|
// curPoint[0]*(1 - percent) + nextPoint[0]*percent, |
|
// curPoint[1]*(1 - percent) + nextPoint[1]*percent]) |
|
// }, duration) |
|
// })() |
|
|
|
|
|
!(function(){ |
|
var duration = 100 |
|
var count = 0 |
|
var points = [[0, 0], [s, 0], [s, s], [0, s]] |
|
var g = svg.append('g').translate([555, 555]) |
|
|
|
setInterval(function(){ |
|
count++ |
|
|
|
var curPoint = points.shift() |
|
var nextPoint = points[0] |
|
g.append('path') |
|
.attr('d', ['M', curPoint, 'L', curPoint].join(' ')) |
|
.transition().duration(duration) |
|
.attr('d', ['M', curPoint, 'L', nextPoint].join(' ')) |
|
|
|
var percent = Math.random()*.06 + .03 |
|
points.push([ |
|
curPoint[0]*(1 - percent) + nextPoint[0]*percent, |
|
curPoint[1]*(1 - percent) + nextPoint[1]*percent]) |
|
}, duration) |
|
})() |
|
|
|
!(function(){ |
|
var duration = 100 |
|
var count = 0 |
|
var points = [[0, 0], [s, 0], [s, s], [0, s]] |
|
var g = svg.append('g').translate([50, 555]) |
|
|
|
setInterval(function(){ |
|
count++ |
|
|
|
var curPoint = points.shift() |
|
var nextPoint = points[0] |
|
g.append('path') |
|
.attr('d', ['M', curPoint, 'L', curPoint].join(' ')) |
|
.transition().duration(duration) |
|
.attr('d', ['M', curPoint, 'L', nextPoint].join(' ')) |
|
|
|
var dist = Math.sqrt( |
|
Math.pow(curPoint[0] - nextPoint[0], 2) + |
|
Math.pow(curPoint[1] - nextPoint[1], 2)) |
|
|
|
percent = 6/dist |
|
|
|
points.push([ |
|
curPoint[0]*(1 - percent) + nextPoint[0]*percent, |
|
curPoint[1]*(1 - percent) + nextPoint[1]*percent]) |
|
}, duration) |
|
})() |
|
|
|
</script> |