Get Local Direction Vector

THREE.js OrbitControls

by steveow

HTML

<script src="http://threejs.org/build/three.min.js"></script>
<script src="http://threejs.org/examples/js/controls/OrbitControls.js"></script>

<input type="text" id="myTextField" value="QQQ" size = "48" />

CSS

body {
    background-color: #000;
    margin: 0px;
    overflow: hidden;
}

JavaScript

//... based on am original JS Fiddle by WestLangley.
var camera, scene, renderer;
var time=0, dt=0;
var PL_mesh;

init();
animate();
//======================================================================

function init() {

    scene = new THREE.Scene();
    scene.add(new THREE.AmbientLight(0x222222));

    camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 10000);
    camera.position.x = -500;
    camera.position.y = 0;
    camera.position.z = 300;
    camera.lookAt(0,0,0);
    scene.add(camera);

    // LIGHTS

	var ambientlight111 = new THREE.AmbientLight(0x665544);
	scene.add( ambientlight111 );	
  
  
  var PL_color = 0xff9955;
  var pointLight222= new THREE.PointLight(PL_color, .7);
  pointLight222.position.set (0,46,100);
	scene.add( pointLight222 );		
  
  var PL_Geometry = new THREE.SphereGeometry(10, 10, 10);
  var PL_Material = new THREE.MeshBasicMaterial({color: PL_color });
  PL_mesh = new THREE.Mesh(PL_Geometry, PL_Material);
  PL_mesh.position.set(0,160,0);// = pointLight222.position.clone();
  pointLight222.add(PL_mesh);
  

    //SPHERES
    var t_Geometry = new THREE.SphereGeometry(10, 20, 20);
    var t_Material = new THREE.MeshLambertMaterial({color: 0xffffff , opacity: 0.8});
    t_Material.transparent = true;
    target = new THREE.Mesh(t_Geometry, t_Material);
    scene.add( target );	
    
    var s_Geometry = new THREE.SphereGeometry(15, 20, 20);
    var s1_Material = new THREE.MeshPhongMaterial({color: 0xff0000 });
    var s2_Material = new THREE.MeshPhongMaterial({color: 0x00ff00 });
    var s3_Material = new THREE.MeshPhongMaterial({color: 0x0000ff });
    var s4_Material = new THREE.MeshPhongMaterial({color: 0xffff00 });
   
    s1 = new THREE.Mesh(s_Geometry, s1_Material);
    s2 = new THREE.Mesh(s_Geometry, s2_Material);
    s3 = new THREE.Mesh(s_Geometry, s3_Material);
    s4 = new THREE.Mesh(s_Geometry, s4_Material);
    s1.position.set (-140, -80, -120);
    s2.position.set (-80,  80, -120);
   ...