home *** CD-ROM | disk | FTP | other *** search
/ Champak 48 / cdrom_image.iso / Games / bobsleddin.swf / scripts / __Packages / Splines3d / Bezier.as next >
Encoding:
Text File  |  2007-09-28  |  1.2 KB  |  47 lines

  1. class Splines3d.Bezier
  2. {
  3.    var p0;
  4.    var cp0;
  5.    var cp1;
  6.    var p1;
  7.    var AX;
  8.    var BX;
  9.    var CX;
  10.    var AY;
  11.    var BY;
  12.    var CY;
  13.    var AZ;
  14.    var BZ;
  15.    var CZ;
  16.    function Bezier(p0, cp0, cp1, p1)
  17.    {
  18.       this.p0 = p0;
  19.       this.cp0 = cp0;
  20.       this.cp1 = cp1;
  21.       this.p1 = p1;
  22.       this.update();
  23.    }
  24.    function getPoint(i)
  25.    {
  26.       var _loc2_ = i * i;
  27.       var _loc4_ = _loc2_ * i;
  28.       return new Vector(this.AX * _loc4_ + this.BX * _loc2_ + this.CX * i + this.p0.x,this.AY * _loc4_ + this.BY * _loc2_ + this.CY * i + this.p0.y,this.AZ * _loc4_ + this.BZ * _loc2_ + this.CZ * i + this.p0.z);
  29.    }
  30.    function update()
  31.    {
  32.       this.CX = 3 * (this.cp0.x - this.p0.x);
  33.       this.CY = 3 * (this.cp0.y - this.p0.y);
  34.       this.CZ = 3 * (this.cp0.z - this.p0.z);
  35.       this.BX = 3 * (this.cp1.x - this.cp0.x) - this.CX;
  36.       this.BY = 3 * (this.cp1.y - this.cp0.y) - this.CY;
  37.       this.BZ = 3 * (this.cp1.z - this.cp0.z) - this.CZ;
  38.       this.AX = this.p1.x - this.p0.x - this.CX - this.BX;
  39.       this.AY = this.p1.y - this.p0.y - this.CY - this.BY;
  40.       this.AZ = this.p1.z - this.p0.z - this.CZ - this.BZ;
  41.    }
  42.    function toString()
  43.    {
  44.       return "Bezier Curve";
  45.    }
  46. }
  47.