{"url":"https://api.github.com/gists/3055104","forks_url":"https://api.github.com/gists/3055104/forks","commits_url":"https://api.github.com/gists/3055104/commits","id":"3055104","node_id":"MDQ6R2lzdDMwNTUxMDQ=","git_pull_url":"https://gist.github.com/3055104.git","git_push_url":"https://gist.github.com/3055104.git","html_url":"https://gist.github.com/mbostock/3055104","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/3055104/raw/703d310b399098a243a76a50bc209167e924cfd2/.block","size":17,"truncated":false,"content":"license: gpl-3.0\n","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/3055104/raw/125bef52fdd76578b379cd87806bf4af86f28470/index.html","size":2717,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n\n.point {\n  fill: #000;\n  stroke: #fff;\n}\n\n.edge {\n  fill: none;\n  stroke: #000;\n  stroke-opacity: .4;\n}\n\n.face {\n  fill: #eee;\n  fill-rule: nonzero;\n}\n\n</style>\n<body>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script>\n\nvar width = 960,\n    height = 500;\n\nvar velocity = [.018, .006];\n\nvar projection = d3.geo.orthographic()\n    .scale(240);\n\nvar path = d3.geo.path()\n    .projection({\n      stream: function(out) {\n        return {\n          point: function(x, y) { var p = projection([x, y]); out.point(p[0], p[1]); },\n          lineStart: function() { out.lineStart(); },\n          lineEnd: function() { out.lineEnd(); },\n          polygonStart: function() { out.polygonStart(); },\n          polygonEnd: function() { out.polygonEnd(); }\n        };\n      }\n    });\n\nvar svg = d3.select(\"body\").append(\"svg\")\n    .attr(\"width\", width)\n    .attr(\"height\", height);\n\nvar face = svg.selectAll(\".face\")\n    .data(icosahedron_faces)\n  .enter().append(\"path\")\n    .attr(\"class\", \"face\");\n\nvar edge = svg.append(\"path\")\n    .datum(icosahedron_edges)\n    .attr(\"class\", \"edge\");\n\nvar point = svg.append(\"path\")\n    .datum(icosahedron_points)\n    .attr(\"class\", \"point\");\n\nd3.timer(function(elapsed) {\n  projection.rotate([elapsed * velocity[0], elapsed * velocity[1]]);\n  point.attr(\"d\", path);\n  edge.attr(\"d\", path);\n  face.attr(\"d\", path);\n});\n\nfunction icosahedron_points() {\n  var points = [],\n      y = Math.atan2(1, 2) * 180 / Math.PI;\n  points.push([0, -90]);\n  for (var x = 0; x < 360; x += 36) {\n    points.push([x, -y], [x += 36, y]);\n  }\n  points.push([0, 90]);\n  return {type: \"MultiPoint\", coordinates: points};\n}\n\nfunction icosahedron_edges() {\n  var edges = [],\n      y = Math.atan2(1, 2) * 180 / Math.PI;\n  for (var x = 0; x < 360; x += 72) {\n    edges.push([[x +  0, -90], [x +  0,  -y]]);\n    edges.push([[x +  0,  -y], [x + 72,  -y]]);\n    edges.push([[x + 36,   y], [x - 36,   y]]);\n    edges.push([[x + 36,   y], [x +  0,  -y]]);\n    edges.push([[x - 36,   y], [x +  0,  -y]]);\n    edges.push([[x + 36,  90], [x + 36,   y]]);\n  }\n  return {type: \"MultiLineString\", coordinates: edges};\n}\n\nfunction icosahedron_faces() {\n  var faces = [],\n      y = Math.atan2(1, 2) * 180 / Math.PI;\n  for (var x = 0; x < 360; x += 72) {\n    faces.push([[[x +  0, -90], [x +  0,  -y], [x + 72,  -y], [x +  0, -90]]]);\n    faces.push([[[x +  0,  -y], [x + 72,  -y], [x + 36,   y], [x +  0,  -y]]]);\n    faces.push([[[x + 36,   y], [x +  0,  -y], [x - 36,   y], [x + 36,   y]]]);\n    faces.push([[[x - 36,  90], [x - 36,   y], [x + 36,   y], [x + 36,  90]]]);\n  }\n  return faces.map(function(face) {\n    return {type: \"Polygon\", coordinates: face};\n  });\n}\n\n</script>\n","encoding":"utf-8"},"thumbnail.png":{"filename":"thumbnail.png","type":"image/png","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/3055104/raw/0a08b7372e7b2437435ec5c9a76c56d7193522b0/thumbnail.png","size":6475,"truncated":false,"content":"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\n","encoding":"base64"}},"public":true,"created_at":"2012-07-05T17:36:43Z","updated_at":"2016-02-09T01:26:17Z","description":"Icosahedron","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/3055104/comments","owner":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"forks":[{"url":"https://api.github.com/gists/3057239","user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Mike Bostock","company":"@observablehq ","blog":"https://observablehq.com/@mbostock","location":"San Francisco, CA","email":"mike@ocks.org","hireable":null,"bio":"Building a better computational medium. Co-founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.","twitter_username":"mbostock","public_repos":88,"public_gists":1043,"followers":23374,"following":0,"created_at":"2010-03-25T22:02:56Z","updated_at":"2026-04-10T07:01:19Z"},"id":"3057239","created_at":"2012-07-06T00:05:31Z","updated_at":"2018-08-27T16:25:44Z"}],"history":[{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"2a1ede04336418468479ab5b0c7c6575b6159cda","committed_at":"2016-02-09T01:26:15Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/3055104/2a1ede04336418468479ab5b0c7c6575b6159cda"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"d2a94f737aeec29ebe32dfe65502b7d09e5ce0f4","committed_at":"2015-10-31T00:51:42Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/3055104/d2a94f737aeec29ebe32dfe65502b7d09e5ce0f4"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"bd46fcd5cef150b23b1cac77fb2d6e01eb0318d9","committed_at":"2015-06-11T16:48:23Z","change_status":{"total":70,"additions":37,"deletions":33},"url":"https://api.github.com/gists/3055104/bd46fcd5cef150b23b1cac77fb2d6e01eb0318d9"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"366c80b082678cf51e77ef27f3420d7fa11266b2","committed_at":"2012-10-12T03:54:25Z","change_status":{"total":0,"additions":0,"deletions":0},"url":"https://api.github.com/gists/3055104/366c80b082678cf51e77ef27f3420d7fa11266b2"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"6e91f1dc5fce9c6cbfc0724cb83336b7ca3c413b","committed_at":"2012-07-05T17:36:43Z","change_status":{"total":106,"additions":106,"deletions":0},"url":"https://api.github.com/gists/3055104/6e91f1dc5fce9c6cbfc0724cb83336b7ca3c413b"}],"truncated":false}