hw5

by yi hom

HTML

<div id="info">hw5 <br/>
    <button id="refresh">
        reset
    </button>	
</div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/numeric/1.2.6/numeric.min.js"></script>

CSS

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

JavaScript

var camera, scene, renderer;
var mouse = new THREE.Vector2();
var points = [];
//var points = [[25,24],[5,7],[22,29],[19,22],[31,30],[23,27],[20,16],[10,11],[15,16],[11,9]];
//var points = [[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.0,1.6],[1.0,1.1],[1.5,1.6],[1.1,0.9]];
var tpoints = [];
var mesh;
var avex = 0;
var avey = 0;
var tavex,tavey;
var cov = [[],[]];
var ev;
var minxi = 0,minyi = 0,maxxi = 0,maxyi = 0;
var minx,miny,maxx,maxy;
var obb,obb1,obb2,obb3;
var mesh1,mesh2;
var p1= new THREE.Vector2(0,0),p2= new THREE.Vector2(0,0),p3= new THREE.Vector2(0,0),p4= new THREE.Vector2(0,0);
var center = [];
var size = [];
init();
animate();


function drawobb(){
		var invev;
		scene.remove(obb);
    scene.remove(obb1);
    scene.remove(obb2);
    scene.remove(obb3);
		var pcs1,pcs2;
    p1= new THREE.Vector2(0,0),p2= new THREE.Vector2(0,0),p3= new THREE.Vector2(0,0),p4= new THREE.Vector2(0,0);
    center = new THREE.Vector2(avex,avey);

    size[0] = (maxx-minx)/2;
    size[1] = (maxy-miny)/2;
    size[0] = Math.abs(size[0]);
    size[1] = Math.abs(size[1]);
    //console.log(size[0]);
    //console.log(size[1]);
    //console.log("----------------");
    
    pcs1 = new THREE.Vector2(size[0]*ev.E.x[0][0],size[0]*ev.E.x[0][1]);
		pcs2 = new THREE.Vector2(size[1]*ev.E.x[1][0],size[1]*ev.E.x[1][1]);
    
    //console.log(pcs2);
/*    p1.add(center).add(pcs1).add(pcs2);
    
    p2.add(center).sub(pcs1).add(pcs2);
    
    p3.add(center).sub(pcs1).sub(pcs2);
    
    p4.add(center).add(pcs1).sub(pcs2);*/
    p1.add(center);p1.add(pcs1);p1.add(pcs2);
    p2.add(center);p2.sub(pcs1);p2.add(pcs2);
    p3.add(center);p3.sub(pcs1);p3.sub(pcs2);
    p4.add(center);p4.add(pcs1);p4.sub(pcs2);
 //   console.log(p1);
/*    console.log(p1);
    console.log(p2);
    console.log(p3);
    console.log(p4);*/
		

    var material = new THREE.LineBasicMaterial({
        color: 0x0000ff
    });    
    var geometry = new THREE.Geometry();
   ...