Inspired by NadiehBremer's Exploring the Art hidden in Pi post.
Built with blockbuilder.org
Inspired by NadiehBremer's Exploring the Art hidden in Pi post.
Built with blockbuilder.org
<!DOCTYPE html> | |
<head> | |
<meta charset="utf-8"> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script> | |
<script src="http://underscorejs.org/underscore-min.js"></script> | |
<style> | |
body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; } | |
svg { width: 100%; height: 100%; } | |
</style> | |
</head> | |
<body> | |
<svg></svg> | |
<script> | |
var piString = "3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481"; | |
var width = 900; | |
var height = 900; | |
var length = 50; | |
d3.select('svg') | |
.append('path') | |
.attr('d', function() { | |
var x = width / 2; | |
var y = height / 2; | |
var d = 'M' + x + ',' + y; | |
_.each(piString, function(int) { | |
int = parseInt(int); | |
if (_.isNaN(int)) return; | |
var radian = (2 * Math.PI) / 10 * int - (Math.PI / 2); | |
x += length * Math.cos(radian); | |
y += length * Math.sin(radian); | |
d += ' L' + x + ',' + y; | |
}); | |
return d; | |
}).attr('fill', 'none') | |
.attr('stroke', '#666') | |
.attr('stroke-width', 2); | |
</script> | |
</body> |