index.html 870 B

12345678910111213141516171819202122232425262728293031
  1. <head>
  2. <style> body { margin: 0; } </style>
  3. <script src="//unpkg.com/3d-force-graph"></script>
  4. <!--<script src="../../dist/3d-force-graph.js"></script>-->
  5. </head>
  6. <body>
  7. <div id="3d-graph"></div>
  8. <script>
  9. const elem = document.getElementById('3d-graph');
  10. const Graph = ForceGraph3D()
  11. (elem)
  12. .jsonUrl('../datasets/miserables.json')
  13. .nodeLabel('id')
  14. .nodeAutoColorBy('group')
  15. .onNodeClick(node => {
  16. // Aim at node from outside it
  17. const distance = 40;
  18. const distRatio = 1 + distance/Math.hypot(node.x, node.y, node.z);
  19. Graph.cameraPosition(
  20. { x: node.x * distRatio, y: node.y * distRatio, z: node.z * distRatio }, // new position
  21. node, // lookAt ({ x, y, z })
  22. 3000 // ms transition duration
  23. );
  24. });
  25. </script>
  26. </body>