HW5_2

by k6e2n0t12

HTML

<div id="info">Use WASD to control</div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
<script src="http://jyunming-chen.github.io/tutsplus/js/KeyboardState.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js"></script>
</div>

CSS

#info {
  position: absolute;
  width: 100%;
  padding: 10px;
  text-align: center;
  color: #ffff00
}

body {
  overflow: hidden;
}

JavaScript

var camera, scene, renderer, border;
var arm, arm2;
var angle = 0,angle2=0;
var mouse = new THREE.Vector2();
var input = [
  [, ], //1
  [, ], //2
  [, ], //3
  [, ], //4
  [, ], //5
  [, ], //6
  [, ], //7
  [, ], //8
]; 
var dots;
var worldxmaxymax=[,],worldxmaxymin=[,],worldxminymax=[,],worldxminymin=[,];
var keyboard = new KeyboardState();
var armMode = 0,
  arm2Mode = 0;

init();
animate();
makeNewInput();

function init() {
  scene = new THREE.Scene();

  camera = new THREE.OrthographicCamera(-50, 50, 50, -50, -10, 10);
  camera.position.z = 10;
  scene.add(camera);

  renderer = new THREE.WebGLRenderer();
  renderer.setSize(window.innerWidth, window.innerHeight);
  renderer.setClearColor(0x888888);

  document.body.appendChild(renderer.domElement);
  window.addEventListener('resize', onWindowResize, false);
  window.addEventListener('mousedown', onDocumentMouseDown, false);

  var geometry = new THREE.Geometry();
  geometry.vertices.push(
    new THREE.Vector3(-50, 0, 0),
    new THREE.Vector3(50, 0, 0),
    new THREE.Vector3(0, 0, 0),
    new THREE.Vector3(0, 50, 0),
    new THREE.Vector3(0, -50, 0));

  var border = new THREE.Line(geometry, new THREE.LineBasicMaterial({
    color: 0xff0000
  }));
  
  scene.add(border);
  
  arm = new THREE.Object3D();
  scene.add(arm);
  var mesh = new THREE.Mesh(new THREE.BoxGeometry(20, 5, 5),
    new THREE.MeshBasicMaterial());
  mesh.position.set(10, 0, 0);
  arm.add(mesh);
  
  arm2 = arm.clone();
  arm.add(arm2);
  

  //scene.add(border);
  //makeNewInput();
	//console.log(input.length);
  //input[0]=[Math.random()*100-50,Math.random()*100-50];
  //console.log(Math.random()*100-50);
  findOBB();
  //drawOBB();
}
function makeNewInput() {
  for (var c = 0; c < input.length; c++) {
    input[c] = [(Math.random() * 100 - 50)/3, (Math.random() * 100 - 50)/3];
  }
}

function onDocumentMouseDown(event) {
  event.preventDefault();
  mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
  mouse.y = -(event.clientY /...