Shaking issue for SO post

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r75/three.min.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/master/examples/js/controls/TrackballControls.js"></script>
<script src="https://rawgit.com/KhronosGroup/WebGLDeveloperTools/master/src/debug/webgl-debug.js"></script>
<div id="webgl">
</div>

CSS

body { margin: 0; overflow: hidden; background-color: #000; }
		.tm  { position: absolute; top: 10px; right: 10px; }
		.webgl-error { font: 15px/30px monospace; text-align: center; color: #FFF; margin: 50px; }
		.webgl-error a { color: #FFF; }

		#zoomContainer  {
		  width: 200px;
		  height: 200px;
                  /* or transparent; will show through only if renderer alpha: true */
		  background-color: #000000; 		
		  /* Black borders */
		  border: 1px solid white; 
		  margin: 20px;
		  padding: 0px;
		  position: absolute;
		  right: 0px;
		  bottom: 0px;
		  z-index: 100;
		}

JavaScript

var zoomContainer,
      camera,
      scene,
      renderer,
      zoomCamera,
      dot,
      plane,
      timer,
      axes2,
      coordCamera, 
      zoomWidth = 300,
      zoomHeight = 300,
      cameraDistance = 150,
      zoomDistance = 70;

  var mainContainer = document.getElementById('webgl');
  var ctx = WebGLDebugUtils.makeDebugContext(mainContainer);

  /*if (!Detector.webgl) {
    Detector.addGetWebGLMessage(mainContainer);
  }
  */
  
  var width  = window.innerWidth,
      height = window.innerHeight;

  // For SphereGeometry
  var radius = 50,
      radiusCamera = 200,
      segments = 64,
      rotation = 6;  

  scene = new THREE.Scene();
  camera = new THREE.PerspectiveCamera(45, width / height, 0.1, 1000);

  renderer = new THREE.WebGLRenderer({antialias: true});
  renderer.setSize(width, height);

  // For setting multiple scenes
  //renderer.autoClear = false;

  // Set child renderer to mainContainer
  mainContainer.appendChild(renderer.domElement);

  // Lights for scene
  var lights = [];
  lights[0] = new THREE.PointLight(0xffffff, 1, 0);
  lights[1] = new THREE.PointLight(0xffffff, 1, 0);

  lights[0].position.set(0, 10000, 0);
  lights[1].position.set(0, -10000, 0);

  camera.add(lights[0]);
  camera.add(lights[1]);
  
  // Add camera to main scene
  scene.add(camera);

  var geometry = new THREE.SphereGeometry(radius, segments, segments, 0, 2*Math.PI, 0, 2*Math.PI);
  
  // New material
  var material = new THREE.MeshPhongMaterial({
      color: 0x156289,
      emissive: 0x072534 ,
      side: THREE.DoubleSide,
      shading: THREE.FlatShading,
      polygonOffset: true,
      // positive value pushes polygon further away
      polygonOffsetFactor: 1, 
      polygonOffsetUnits: 1
      
        }); 

  // For mesh
  var sphere = new THREE.Mesh(geometry, material);

  // For wireframe
  var helper = new THREE.EdgesHelper(sphere, 0xffffff);
  helper.material.linewidth = 1;

  // Add edges to main scene
  scene.add(helper);
          ...