class Matrix extends Object
{
function Matrix()
{
$this->Object();
$this->addAction($this->MatrixAction(),"act");
$this->compire();
}
function MatrixAction()
{
$act = new SWFAction
("
//二次元配列
this.newMatrix =function(name){
return matrix = new Array
(0,0,0,0,0
,0,0,0,0,0
,0,0,0,0,0
,0,0,0,0,0);
};
this.setMatrix_array = function(self,matrix){
this = matrix;
};
this.getMatrix_array = function(self){
return self;
};
this.getElement = function(self,row,col){
return self[4*row+col];
};
this.setElement= function(self,row,col,element){
self[4*row+col] = element;
};
this.duplicateArray= function(self){
matrix = newMatrix();
for(i = 0;i<4;i++ )
for(j = 0;j<4;j++){
matrix[4*i+j] =getElement(self,i,j);
}
return matrix;
};
//演算
this.multiplication= function(A,B)
{
matrix = newMatrix();
temp = 0;
for(m = 0;m<4;m++)
for(i=0;i<4;i++){
for(j=0;j<4;j++)
{
temp += getElement(A,m,j)*getElement(B,j,i);
}
setElement(matrix,m,i,temp);temp=0;
}
return matrix;
};
this.addition = function(A,B)
{
matrix = newMatrix();
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
this.setElement(matrix,i,j,getElement(A,i,j)+getElement(B,i,j));
}
};
this.transpose = function(self)
{
matrix = newMatrix();
for(i = 0;i<4;i++)
for(j = 0;j<4;j++){
setElement(matrix,i,j,getElement(self,j,i));
}
return matrix;
};
this.rotate_x = function(A,kakudo){
rotate = newArray();
rotate.setData(0,0,1);
rotate.setData(1,1,Math.cos(kakudo));
rotate.setData(1,2,Math.sin(kakudo));
rotate.setData(2,1,-1*Math.sin(kakudo));
rotate.setData(2,2,Math.cos(kakudo));
rotate.setData(3,3,1);
return rotate;
};
this.printMatrix = function(self){
string = '';
for(i=0;i<4;i++){
string+='\n';
for(j=0;j<4;j++){
string +=getElement(self,i,j)+' ';
}}
_root.print.text.text = string;
};
");
return $act;
}
}
PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】
Yahoo 楽天 NTT-X Store