title: Rotating icosahedron with circles located at every vertex in three.js
body: <p>I have an icosahedron mesh which I am rotating and then adding circle geometries and setting their location to each vertex at every frame in the animation loop.</p>
  
  <pre><code>geometry = new THREE.IcosahedronGeometry(isoRadius, 1);
  var material = new THREE.MeshBasicMaterial({
      color: wireframeColor,
      wireframe: true
  });
  
  isoMesh = new THREE.Mesh(geometry, material);
  scene.add(isoMesh);
  </code></pre>
  
  <p>Set each circle geometries location as the icosahedron mesh rotates:</p>
  
  <pre><code>function animate() {
  
      isoMesh.rotation.x += 0.005;
      isoMesh.rotation.y += 0.002;
  
      // update vertices
      isoMesh.updateMatrix(); 
      isoMesh.geometry.applyMatrix(isoMesh.matrix);
      isoMesh.rotation.set(0, 0, 0);
  
      for (var i = 0; i &lt; geometry.vertices.length; i++) {
  
          nodes[i].position.copy(geometry.vertices[i]);
          nodes[i].lookAt(camera.position);
      }
  </code></pre>
  
  <p>Where var geometry is the geometry of the icosahedron. If I remove the line "isoMesh.rotation.set(0, 0, 0);", the icosahedron rotates correctly, but the rotation of the nodes compounds and spins way too quickly. If I add that line, the nodes rotate correctly, but the icosahedron does not move at all. </p>
  
  <p>I do not understand three.js well enough yet to understand what is happening. Why would adding and removing this affect the nodes' and icosahedron's rotations separately? I believe it has something to do with the difference between the mesh and the geometry since I am using the geometry to position the nodes, but the rotation of the mesh is what shows visually. Any idea what is happening here?</p>