home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ring.yamanashi.ac.jp/pub/pc/freem/action/
/
action.zip
/
henkyaku1.0.exe
/
henkyaku
/
Program
/
Kernel
/
Util
/
Math.tonyu
< prev
next >
Wrap
Text File
|
2004-07-04
|
2KB
|
134 lines
extends Object;
constructor Math(){
$Math=this;
AtanAccuracy=10000;
// ïtÉ│É┌é╠É╕ôxüBæσé½é»éΩé╬æσé½éóé┘é╟É│èmé╞éóéñéφé»é┼éαé╚éóüB
// 10000é¬É╕ôx,æ¼ôxé╠ù╝ò√é┼ì┼ôKüB
// É╕ôxùDɵé╚éτ1000000,æ¼ôxùDɵé╚éτ100éáéΘéóé═1000
// 10000000éµéΦæσé½éóé╞âïü[âvé≡ö▓é»éτéΩé╚é¡é╚éΘ
}
function setAtanAccuracy(a) {
AtanAccuracy=a;
}
// * ÆΦÉö
function pi(){return 3.141592653589793;}
// * ÄOèpè╓Éö
// function sin(t);
// function cos(t);
function tan(t){
var a;a=cos(t);
if(a) return sin(t)/a;
return null;
}
function cot(t){
var a;a=sin(t);
if(a) return cos(t)/a;
return null;
}
function sec(t){
var a;a=cos(t);
if(s)return 1/a;return null;
}
function csc(t){
var a;a=sin(t);
if(s)return 1/a;return null;
}
function atan(x){
var a,b,aa,bb,d;
a=1/sqrt(1+x*x);b=1;
while(1){
aa=(a+b)/2;bb=sqrt(aa*b);
if(abs(aa-bb)/bb<1/AtanAccuracy)return((x/sqrt(aa*bb*(1+x*x)))*(180/pi()));
a=aa;b=bb;
}
}
function asin(x){
if(x<-1||x>1) return null;
if(x==1) return 90;
if(x==-1) return -90;
return atan(x/sqrt(1-x*x));
}
function acos(x){
if(x<-1||x>1) return null;
if(x==1) return 0;
if(x==-1) return 180;
return 90-atan(x/sqrt(1-x*x));
}
function angle(x,y){//override
if(x>0) return atan(y/x);
if(x<0) return atan(y/x)+180;
if(y<0) return -90;
if(y>0) return 90;
return 0;
}
// * î╩ôxò╧è╖
function degrees(d){
return d*180/pi();
}
function radians(r){
return r*pi()/180;
}
// * ë±ô]
function roll(x,y,angle,cx,cy) {
x-=cx;
y-=cy;
rx= cos(angle)* x - sin(angle)* y;
ry= sin(angle)* x + cos(angle)* y;
rx+=cx;
ry+=cy;
}
// * ÉöÆlö╗ÆΦ
function sign(n){
if(n<0) return -1;
if(n>0) return 1;
return 0;
}
function isOdd(n){
if(!isInt(n)) return null;
return n%2;
}
function isEven(n){
if(!isInt(n)) return null;
return 1-n%2;
}
// * ùÉÉö
// iê╚Åπaûóû₧é╠É«ÉöùÉÉöé≡ö¡É╢é│é╣éΘ
function randBetween(i,a){
if(a<i) return randBetween(a,i);
if(a==i) return a;
return i+rnd(a-i);
}
// iê╚Åπaûóû₧é╠Ä└ÉöùÉÉöé≡ö¡É╢é│é╣éΘ
function randBetweenFloat(i,a){
if(a<i) return randBetweenFloat(a,i);
if(a==i) return a;
return i+rnd()*(a-i);
}