Показать сообщение отдельно
Старый 07.08.2014, 13:41
nuToH вне форума Посмотреть профиль Отправить личное сообщение для nuToH Найти все сообщения от nuToH
  № 2  
Ответить с цитированием
nuToH
 
Аватар для nuToH

Регистрация: Mar 2006
Адрес: Ростов-на-Дону
Сообщений: 80
Здравствуйте. Возможно, вам поможет:
Код AS3:
//Translation, Rotation, Scale
public function trs( tx:Number, ty:Number, rotation:Number, xScale:Number, yScale:Number ):Matrix3D {
 
var data:Vector.<Number> = new <Number>[1, 0, 0, 0,  0, 1, 0, 0,  0, 0, 1, 0,  0, 0, 0, 1];
 
var sin:Number = Math.sin( rotation );
var cos:Number = Math.cos( rotation );
data[0] =  cos * xScale;
data[1] =  sin * xScale;
data[4] = -sin * yScale;
data[5] =  cos * yScale;
data[12] = tx;
data[13] = ty;
 
 
var matrix:Matrix3D = new Matrix3D();
matrix.copyRawDataFrom(data);
return matrix;
 
}
а вообще логичнее использовать матрицу 3х3 для 2D.