HW5

by k6e2n0t12

HTML

<div id="info">HW5</div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js"></script>
</div>
<button id="bttn" class="buttonClass" onclick="javascript:button_click()">reset</button>

CSS

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

.buttonClass {
    position: absolute;
    //top:100px;
    //right:400px;
    margin:5px;
}
body {
  overflow: hidden;
}

JavaScript

var camera, scene, renderer, border;
var mouse = new THREE.Vector2();
var input = [
  [, ], //1
  [, ], //2
  [, ], //3
  [, ], //4
  [, ], //5
  [, ], //6
  [, ], //7
  [, ], //8
  [, ], //9
  [, ]
]; //10
//var input= [[2.5,2.4 ],[0.5,0.7 ],[2.2,2.9 ],[1.9,2.2 ],[3.1,3.0 ],[2.3,2.7 ],[2,1.6 ],[1,1.1 ],[1.5,1.6 ],[1.1,0.9 ]];//for test
var dots;
var worldxmaxymax=[,],worldxmaxymin=[,],worldxminymax=[,],worldxminymin=[,];

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);

  makeNewInput();
  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 / window.innerHeight) * 2 + 1;
  console.log(mouse.x * 50 + ', ' + mouse.y * 50);

}

function onWindowResize() {
  camera.aspect = window.innerWidth / window.innerHeight;
  camera.updateProjectionMatrix();
  renderer.setSize(window.innerWidth, window.innerHeight);
}

function findOBB() {
	var mean=[0,0];
  for (var c = 0; c < input.length; c++) {
    mean[0]=mean[0]+input[c][0];
    mean[1]=mean[1]+input[c][1];
  	console.log("input["+c+"][0]"+input[c][0]);
  }
  mean[0]=mean[0]/input.length;
  mean[1]=mean[1]/input.length;
  //console.log("mean"+mean[0]);
  //step1
  var local= [[, ],[, ],[, ],[, ],[, ],[, ],[, ],[, ],[, ],[, ]];
  for (var c = 0; c < input.length; c++) {
 ...