| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- function CVector2(iX, iY) {
- var x;
- var y;
- this._init = function (iX, iY) {
- x = iX;
- y = iY;
- };
- this.add = function (vx, vy) {
- x += vx;
- y += vy;
- };
- this.addV = function (v) {
- x += v.getX();
- y += v.getY();
- };
- this.scalarDivision = function (n) {
- x /= n;
- y /= n;
- };
- this.subV = function (v) {
- x -= v.getX();
- y -= v.getY();
- };
- this.scalarProduct = function (n) {
- x *= n;
- y *= n;
- };
- this.invert = function () {
- x *= -1;
- y *= -1;
- };
- this.dotProduct = function (v) {
- return (x * v.getX() + y * v.getY());
- };
- this.set = function (fx, fy) {
- x = fx;
- y = fy;
- };
- this.setV = function (v) {
- x = v.getX();
- y = v.getY();
- };
- this.length = function () {
- return Math.sqrt(x * x + y * y);
- };
- this.length2 = function () {
- return x * x + y * y;
- };
- this.normalize = function () {
- var len = this.length();
- if (len > 0) {
- x /= len;
- y /= len;
- }
- };
- this.angleBetweenVectors = function (v2) {
- var iAngle = Math.acos(this.dotProduct(v2) / (this.length() * v2.length()));
- if (isNaN(iAngle) === true) {
- return 0;
- } else {
- return iAngle;
- }
- };
- this.getNormalize = function (outV) {
- var len = this.length();
- outV.set(x, y);
- outV.normalize();
- };
- this.rot90CCW = function () {
- var a = x;
- x = -y;
- y = a;
- };
- this.rot90CW = function () {
- var a = x;
- x = y;
- y = -a;
- };
- this.getRotCCW = function (outV) {
- outV.set(x, y);
- outV.rot90CCW();
- };
- this.getRotCW = function (outV) {
- outV.set(x, y);
- outV.rot90CW();
- };
- this.ceil = function () {
- x = Math.ceil(x);
- y = Math.ceil(y);
- };
- this.round = function () {
- x = Math.round(x);
- y = Math.round(y);
- };
- this.toString = function () {
- return "Vector2: " + x + ", " + y;
- };
- this.print = function () {
- trace("Vector2: " + x + ", " + y + "");
- };
- this.getX = function () {
- return x;
- };
- this.getY = function () {
- return y;
- };
- this._init(iX, iY);
- }
|