Robert的Math扩展类~wiyiflash总结

[ 2004-11-05 00:08:38 | 发布: N神 ]
字体大小: | |
有待研究,先收藏一下~

/*
Thanks Robert penner
Written by wiyiflash,Aug 2004

Welcome to http:\\www.wiyiflash.com\bbs


说明:ExtMath类扩展了Math类的功能,提供了一些方便使用的方法,在代码里有注释。
*/
class ExtMath extends Math {
//定义ExtMath的__proto__属性,使得它可以自然地继承Math的静态元素
static var __proto__:Object = Math;
//////////////////////////////////////////////////////////////////////
//计算两点间距离
static function distance(x1:Number, y1:Number, x2:Number, y2:Number) {
var dx = x2-x1;
var dy = y2-y1;
return Math.sqrt(dx*dx+dy*dy);
}
//角度转换为弧度
static function degreesToRadians(angle:Number) {
return angle*(Math.PI/180);
}
//弧度转换为度
static function radiansToDegrees(angle:Number) {
return angle*(180/Math.PI);
}
//------以度为参数的系列方法------
static function sinD(angle:Number) {
return Math.sin(angle*Math.PI/180);
}
static function asinD(ratio:Number) {
return Math.asin(ratio)*(180/Math.PI);
}
static function cosD(angle:Number) {
return Math.cos(angle*Math.PI/180);
}
static function acosD(ratio:Number) {
return Math.acos(ratio)*(180/Math.PI);
}
static function tanD(angle:Number) {
return Math.tan(angle*Math.PI/180);
}
static function atan2D(y:Number, x:Number) {
return Math.atan2(y, x)*(180/Math.PI);
}
//两条线的夹角
static function angleOfLine(x1:Number, y1:Number, x2:Number, y2:Number) {
return atan2D(y2-y1, x2-x1);
}
//将角度修正为360度象限内
static function fixAngle(angle:Number) {
return (angle %= 360)<0 ? angle+360 : angle;
}
//笛卡儿坐标转化为flash坐标
static function cartesianToFlash(o:Object) {
o._y *= -1;
o._rotation *= -1;
}
//flash坐标转化为笛卡儿坐标
static function flashToCartesian(o:Object) {
return cartesianToFlash(o);
}
//极坐标转化为笛卡儿坐标
static function cartesianToPolar(p:Object) {
//p={x,y};
var radius = Math.sqrt(p.x*p.x+p.y*p.y);
var theta = atan2D(p.y, p.x);
return {r:radius, t:theta};
}
//笛卡儿坐标转化为极坐标
static function polarToCartesian(p:Object) {
var x = p.r*cosD(p.t);
var y = p.r*sinD(p.t);
return {x:x, y:y};
}
}


浏览模式: 阅读全文 | 评论: 2 | 引用: 12 | Toggle Order | 阅读: 4202
1
引用 西部秋虫*
[ 2005-01-03 09:41:12 ]
怎么用呢??
引用 N神
[ 2005-01-04 10:02:29 ]
买本这个书看看就知道啦~
http://nshen.net/blog/blogview.asp?logID=140
1

发表评论
表情
[arrow] [biggrin] [confused] [cool]
[cry] [eek] [evil] [exclaim]
[frown] [idea] [lol] [mad]
[mrgreen] [neutral] [question] [razz]
[redface] [rolleyes] [sad] [smile]
[surprised] [twisted] [wink] [sweat]
打开 UBB 编码
自动识别链接
显示表情
隐藏的评论
用户名:   密码:   注册?
验证码 * 请输入验证码