home *** CD-ROM | disk | FTP | other *** search
/ Champak 48 / cdrom_image.iso / Games / bobsleddin.swf / scripts / __Packages / Vector.as < prev   
Encoding:
Text File  |  2007-09-28  |  2.1 KB  |  90 lines

  1. class Vector
  2. {
  3.    var x = 0;
  4.    var y = 0;
  5.    var z = 0;
  6.    function Vector(x, y, z)
  7.    {
  8.       if(x || y || z)
  9.       {
  10.          this.x = Number(x);
  11.          this.y = Number(y);
  12.          this.z = Number(z);
  13.       }
  14.    }
  15.    function loc(x, y, z)
  16.    {
  17.       this.x = x;
  18.       this.y = y;
  19.       this.z = z;
  20.    }
  21.    function copy()
  22.    {
  23.       return new Vector(this.x,this.y,this.z);
  24.    }
  25.    function get magnitude()
  26.    {
  27.       return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
  28.    }
  29.    function get length()
  30.    {
  31.       return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
  32.    }
  33.    function set length(newLength)
  34.    {
  35.       var _loc2_ = newLength / Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
  36.       this.x *= _loc2_;
  37.       this.y *= _loc2_;
  38.       this.z *= _loc2_;
  39.    }
  40.    function dot(v)
  41.    {
  42.       return Math.sqrt(this.x * v.x + this.y * v.y + this.z * v.z);
  43.    }
  44.    function cross(v)
  45.    {
  46.       return new Vector(this.y * v.z - this.z * v.y,this.z * v.x - this.x * v.z,this.x * v.y - this.y * v.x);
  47.    }
  48.    function normalize()
  49.    {
  50.       var _loc2_ = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
  51.       this.x /= _loc2_;
  52.       this.y /= _loc2_;
  53.       this.z /= _loc2_;
  54.    }
  55.    function normalizeTo()
  56.    {
  57.       var _loc2_ = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
  58.       this.x /= _loc2_;
  59.       this.y /= _loc2_;
  60.       this.z /= _loc2_;
  61.    }
  62.    function getNormalized()
  63.    {
  64.       var _loc2_ = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
  65.       return new Vector(this.x / _loc2_,this.y / _loc2_,this.z / _loc2_);
  66.    }
  67.    function multiply(scalar)
  68.    {
  69.       this.x *= scalar;
  70.       this.y *= scalar;
  71.       this.z *= scalar;
  72.    }
  73.    function divide(scalar)
  74.    {
  75.       this.x /= scalar;
  76.       this.y /= scalar;
  77.       this.z /= scalar;
  78.    }
  79.    function reverse()
  80.    {
  81.       this.x *= -1;
  82.       this.y *= -1;
  83.       this.z *= -1;
  84.    }
  85.    function toString()
  86.    {
  87.       return "Vector(" + this.x + "," + this.y + "," + this.z + ")";
  88.    }
  89. }
  90.