mirror of
https://github.com/MapMakersAndProgrammers/alternativa3d-archive.git
synced 2025-10-30 00:49:12 -07:00
more versions added
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package com.alternativagame.engine3d {
|
||||
public final class Matrix3D {
|
||||
public var a:Number = 1;
|
||||
public var b:Number = 0;
|
||||
public var c:Number = 0;
|
||||
public var d:Number = 0;
|
||||
public var e:Number = 0;
|
||||
public var f:Number = 1;
|
||||
public var g:Number = 0;
|
||||
public var h:Number = 0;
|
||||
public var i:Number = 0;
|
||||
public var j:Number = 0;
|
||||
public var k:Number = 1;
|
||||
public var l:Number = 0;
|
||||
|
||||
public function Matrix3D(x:Number = 0, y:Number = 0, z:Number = 0, rotX:Number = 0, rotY:Number = 0, rotZ:Number = 0, scaleX:Number = 1, scaleY:Number = 1, scaleZ:Number = 1) {
|
||||
// Если указано масштабирование
|
||||
if (arguments.length > 6) {
|
||||
Math3D.scaleMatrix(this, scaleX, scaleY, scaleZ);
|
||||
}
|
||||
// Если указан поворот
|
||||
if (arguments.length > 3) {
|
||||
Math3D.rotateMatrix(this, rotX, rotY, rotZ);
|
||||
}
|
||||
// Если указано смещение
|
||||
if (arguments.length > 0) {
|
||||
Math3D.translateMatrix(this, x, y, z);
|
||||
}
|
||||
}
|
||||
|
||||
public function clone():Matrix3D {
|
||||
var res:Matrix3D = new Matrix3D();
|
||||
res.a = a;
|
||||
res.b = b;
|
||||
res.c = c;
|
||||
res.d = d;
|
||||
res.e = e;
|
||||
res.f = f;
|
||||
res.g = g;
|
||||
res.h = h;
|
||||
res.i = i;
|
||||
res.j = j;
|
||||
res.k = k;
|
||||
res.l = l;
|
||||
return res;
|
||||
}
|
||||
|
||||
public function toString():String {
|
||||
return "Matrix:\r" + a.toFixed(3) + "\t" + b.toFixed(3) + "\t" + c.toFixed(3) + "\t" + d.toFixed(3) + "\r" + e.toFixed(3) + "\t" + f.toFixed(3) + "\t" + g.toFixed(3) + "\t" + h.toFixed(3) + "\r" + i.toFixed(3) + "\t" + j.toFixed(3) + "\t" + k.toFixed(3) + "\t" + l.toFixed(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user