{"url":"https://api.github.com/gists/3231307","forks_url":"https://api.github.com/gists/3231307/forks","commits_url":"https://api.github.com/gists/3231307/commits","id":"3231307","node_id":"MDQ6R2lzdDMyMzEzMDc=","git_pull_url":"https://gist.github.com/3231307.git","git_push_url":"https://gist.github.com/3231307.git","html_url":"https://gist.github.com/mbostock/3231307","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/3231307/raw/703d310b399098a243a76a50bc209167e924cfd2/.block","size":17,"truncated":false,"content":"license: gpl-3.0\n","encoding":"utf-8"},"README.md":{"filename":"README.md","type":"text/markdown","language":"Markdown","raw_url":"https://gist.githubusercontent.com/mbostock/3231307/raw/a0a7ca1022cecb8b852835e64ef228ccd1096621/README.md","size":141,"truncated":false,"content":"A fork of the [SVG version](/mbostock/3231298). Mouseover to repel nodes. Adapted from my [talk on force layouts](http://vimeo.com/29458354).","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/3231307/raw/95bff2787d994ab0ff19788d5b1ed46371b94839/index.html","size":1791,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<body>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script>\n\nvar width = 960,\n    height = 500;\n\nvar nodes = d3.range(200).map(function() { return {radius: Math.random() * 12 + 4}; }),\n    root = nodes[0];\n\nroot.radius = 0;\nroot.fixed = true;\n\nvar force = d3.layout.force()\n    .gravity(0.05)\n    .charge(function(d, i) { return i ? 0 : -2000; })\n    .nodes(nodes)\n    .size([width, height]);\n\nforce.start();\n\nvar canvas = d3.select(\"body\").append(\"canvas\")\n    .attr(\"width\", width)\n    .attr(\"height\", height);\n\nvar context = canvas.node().getContext(\"2d\");\n\nforce.on(\"tick\", function(e) {\n  var q = d3.geom.quadtree(nodes),\n      i,\n      d,\n      n = nodes.length;\n\n  for (i = 1; i < n; ++i) q.visit(collide(nodes[i]));\n\n  context.clearRect(0, 0, width, height);\n  context.fillStyle = \"steelblue\";\n  context.beginPath();\n  for (i = 1; i < n; ++i) {\n    d = nodes[i];\n    context.moveTo(d.x, d.y);\n    context.arc(d.x, d.y, d.radius, 0, 2 * Math.PI);\n  }\n  context.fill();\n});\n\ncanvas.on(\"mousemove\", function() {\n  var p1 = d3.mouse(this);\n  root.px = p1[0];\n  root.py = p1[1];\n  force.resume();\n});\n\nfunction collide(node) {\n  var r = node.radius + 16,\n      nx1 = node.x - r,\n      nx2 = node.x + r,\n      ny1 = node.y - r,\n      ny2 = node.y + r;\n  return function(quad, x1, y1, x2, y2) {\n    if (quad.point && (quad.point !== node)) {\n      var x = node.x - quad.point.x,\n          y = node.y - quad.point.y,\n          l = Math.sqrt(x * x + y * y),\n          r = node.radius + quad.point.radius;\n      if (l < r) {\n        l = (l - r) / l * .5;\n        node.x -= x *= l;\n        node.y -= y *= l;\n        quad.point.x += x;\n        quad.point.y += y;\n      }\n    }\n    return x1 > nx2 || x2 < nx1 || y1 > ny2 || y2 < ny1;\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/3231307/raw/75ac824a7c74125306ab6cc3791da5b05cb1cc8a/thumbnail.png","size":14383,"truncated":false,"content":"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\nN7BY+v8FGAD/tOUiUmBRlQAAAABJRU5ErkJggg==\n","encoding":"base64"}},"public":true,"created_at":"2012-08-01T22:34:31Z","updated_at":"2016-04-18T04:58:47Z","description":"Collision Detection (Canvas)","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/3231307/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},"fork_of":{"url":"https://api.github.com/gists/3231298","forks_url":"https://api.github.com/gists/3231298/forks","commits_url":"https://api.github.com/gists/3231298/commits","id":"3231298","node_id":"MDQ6R2lzdDMyMzEyOTg=","git_pull_url":"https://gist.github.com/3231298.git","git_push_url":"https://gist.github.com/3231298.git","html_url":"https://gist.github.com/mbostock/3231298","files":{},"public":true,"created_at":"2012-08-01T22:33:52Z","updated_at":"2021-10-16T11:08:56Z","description":"Collision Detection","comments":1,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/3231298/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/5758290","user":{"login":"WanaByte","id":597653,"node_id":"MDQ6VXNlcjU5NzY1Mw==","avatar_url":"https://avatars.githubusercontent.com/u/597653?v=4","gravatar_id":"","url":"https://api.github.com/users/WanaByte","html_url":"https://github.com/WanaByte","followers_url":"https://api.github.com/users/WanaByte/followers","following_url":"https://api.github.com/users/WanaByte/following{/other_user}","gists_url":"https://api.github.com/users/WanaByte/gists{/gist_id}","starred_url":"https://api.github.com/users/WanaByte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WanaByte/subscriptions","organizations_url":"https://api.github.com/users/WanaByte/orgs","repos_url":"https://api.github.com/users/WanaByte/repos","events_url":"https://api.github.com/users/WanaByte/events{/privacy}","received_events_url":"https://api.github.com/users/WanaByte/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Kyle Wanamaker","company":"Google","blog":"","location":"San Francisco, CA","email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":1,"public_gists":6,"followers":61,"following":53,"created_at":"2011-02-02T22:36:12Z","updated_at":"2026-05-22T20:58:47Z"},"id":"5758290","created_at":"2013-06-11T16:18:57Z","updated_at":"2015-12-18T08:59:41Z"},{"url":"https://api.github.com/gists/8515084","user":{"login":"HCKgit","id":3535559,"node_id":"MDQ6VXNlcjM1MzU1NTk=","avatar_url":"https://avatars.githubusercontent.com/u/3535559?v=4","gravatar_id":"","url":"https://api.github.com/users/HCKgit","html_url":"https://github.com/HCKgit","followers_url":"https://api.github.com/users/HCKgit/followers","following_url":"https://api.github.com/users/HCKgit/following{/other_user}","gists_url":"https://api.github.com/users/HCKgit/gists{/gist_id}","starred_url":"https://api.github.com/users/HCKgit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HCKgit/subscriptions","organizations_url":"https://api.github.com/users/HCKgit/orgs","repos_url":"https://api.github.com/users/HCKgit/repos","events_url":"https://api.github.com/users/HCKgit/events{/privacy}","received_events_url":"https://api.github.com/users/HCKgit/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Colin","company":null,"blog":"","location":null,"email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":66,"public_gists":9,"followers":1,"following":0,"created_at":"2013-02-11T19:56:25Z","updated_at":"2025-06-12T01:31:55Z"},"id":"8515084","created_at":"2014-01-20T05:02:34Z","updated_at":"2016-01-03T20:29:05Z"}],"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":"e0c50695dbf5d7ac5f6a934f5b2eb1323b7d7d6a","committed_at":"2016-02-09T01:29:46Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/3231307/e0c50695dbf5d7ac5f6a934f5b2eb1323b7d7d6a"},{"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":"a22c25d437638749f5a77b089b8cd255a10dc146","committed_at":"2015-10-31T00:55:02Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/3231307/a22c25d437638749f5a77b089b8cd255a10dc146"},{"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":"b0bb5b4db254c8948ac417e6a354c7d9e447dafb","committed_at":"2015-06-11T19:37:09Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/3231307/b0bb5b4db254c8948ac417e6a354c7d9e447dafb"},{"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":"ca5b99cad08f7464ee6c3b9541ddbf3cd7434bff","committed_at":"2013-11-21T21:19:18Z","change_status":{"total":4,"additions":2,"deletions":2},"url":"https://api.github.com/gists/3231307/ca5b99cad08f7464ee6c3b9541ddbf3cd7434bff"},{"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":"2f611a0228126732ef3ec27369071ae71141a240","committed_at":"2012-10-12T03:55:50Z","change_status":{"total":0,"additions":0,"deletions":0},"url":"https://api.github.com/gists/3231307/2f611a0228126732ef3ec27369071ae71141a240"},{"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":"9843a575c207b162e085778fdbcdb510407391b9","committed_at":"2012-08-01T22:37:38Z","change_status":{"total":4,"additions":2,"deletions":2},"url":"https://api.github.com/gists/3231307/9843a575c207b162e085778fdbcdb510407391b9"},{"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":"23f7b6e26ac85beeffa70525b1e4cfbcd3251940","committed_at":"2012-08-01T22:37:03Z","change_status":{"total":36,"additions":15,"deletions":21},"url":"https://api.github.com/gists/3231307/23f7b6e26ac85beeffa70525b1e4cfbcd3251940"},{"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":"0d3f977db01950e06af038cbda08b929aae8edc6","committed_at":"2012-08-01T22:33:52Z","change_status":{"total":87,"additions":87,"deletions":0},"url":"https://api.github.com/gists/3231307/0d3f977db01950e06af038cbda08b929aae8edc6"}],"truncated":false}