home *** CD-ROM | disk | FTP | other *** search
- class com.neodelight.std.XMath
- {
- function XMath()
- {
- }
- static function p2pDistance(px, py, qx, qy)
- {
- return Math.sqrt(Math.pow(qx - px,2) + Math.pow(qy - py,2));
- }
- static function toNumber(n)
- {
- n = Number(n);
- if(isNaN(n))
- {
- n = 0;
- }
- return n;
- }
- static function vAngle(dx, dy)
- {
- var _loc1_ = Math.asin(dx / Math.sqrt(dx * dx + dy * dy));
- if(dy > 0)
- {
- _loc1_ = 3.141592653589793 - _loc1_;
- }
- return (_loc1_ + 6.283185307179586) % 6.283185307179586;
- }
- static function angleDiff(a0, a1)
- {
- var _loc2_ = 6.283185307179586;
- var _loc1_ = a1 - a0;
- while(_loc1_ < 0)
- {
- _loc1_ += _loc2_;
- }
- _loc1_ %= _loc2_;
- if(_loc1_ > 3.141592653589793)
- {
- _loc1_ = (_loc2_ - _loc1_) * -1;
- }
- return _loc1_;
- }
- static function vNormalize(v)
- {
- var _loc2_ = Math.sqrt(v.x * v.x + v.y * v.y);
- v.x /= _loc2_;
- v.y /= _loc2_;
- return v;
- }
- static function vLength(vx, vy)
- {
- return Math.sqrt(vx * vx + vy * vy);
- }
- static function vRotate(v, rad)
- {
- var _loc3_ = Math.cos(rad);
- var _loc2_ = Math.sin(rad);
- var _loc5_ = v.x * _loc3_ - v.y * _loc2_;
- var _loc4_ = v.x * _loc2_ + v.y * _loc3_;
- v.x = _loc5_;
- v.y = _loc4_;
- return v;
- }
- static function rnd(min, max)
- {
- var _loc1_ = Math.round(Math.random() * (max - min)) + min;
- return _loc1_;
- }
- static function relativePos(val, p0, p1)
- {
- return (val - p0) / (p1 - p0);
- }
- static function numericalObjectDifference(obj0, obj1)
- {
- var _loc3_ = new Object();
- for(var _loc4_ in obj0)
- {
- if(typeof obj0[_loc4_] == "number" && typeof obj1[_loc4_] == "number" && obj0[_loc4_] != undefined && obj1[_loc4_] != undefined)
- {
- _loc3_[_loc4_] = obj1[_loc4_] - obj0[_loc4_];
- }
- }
- return _loc3_;
- }
- }
-