JSFiddle - React, Tailwind, and code Playground
by Javier Cruz
HTML
<script src="https://threejs.org/build/three.js"></script>
<script src="https://threejs.org/examples/jsm/controls/OrbitControls.js"></script>
<!DOCTYPE html>
<html>
<head>
<title>Three.js Network</title>
<style>
body { margin: 0; }
canvas { display: block; }
#tooltip {
position: absolute;
pointer-events: none;
visibility: hidden;
background-color: white;
color: black;
border: solid 1px black;
padding: 5px;
}
</style>
</head>
<body>
<div id="tooltip"></div>
<script src="https://threejs.org/build/three.js"></script>
<script src="https://threejs.org/examples/jsm/controls/OrbitControls.js"></script>
<script>
var numNodes = 1000;
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var positions = [];
for (var i = 0; i < numNodes; i++) {
var x = Math.random() * 40 - 20;
var y = Math.random() * 40 - 20;
var z = Math.random() * 40 - 20;
positions.push(x, y, z);
}
var geometry = new THREE.BufferGeometry();
geometry.setAttribute('position', new THREE.Float32BufferAttribute(positions, 3));
var material = new THREE.PointsMaterial({size: 1.5, color: 0xffffff});
var points = new THREE.Points(geometry, material);
scene.add(points);
camera.position.z = 50;
var controls = new...