Показать сообщение отдельно
Старый 13.01.2015, 23:21
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 8  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Как раз короткую статью готовлю по трансформациям, но придется поспойлерить.
Код AS3:
private function scaleAround(m:Matrix, p:Point, sx:Number, sy:Number):Matrix
{
	var d:Point = m.deltaTransformPoint(p);
 
	var i:Point = new Point(m.a, m.b);
	var j:Point = new Point(m.c, m.d);
 
	i.normalize(sx);
	j.normalize(sy);
 
	m.a = i.x;
	m.b = i.y;
	m.c = j.x;
	m.d = j.y;
 
	d = d.subtract(m.deltaTransformPoint(p));
 
	m.translate(d.x, d.y);
 
	return m;
}
m - матрица трансформации объекта, p - точка вокруг которой происходит трансформация (в локальных координатах объекта), sx, sy - масштаб по осям.
__________________
משיח לא בא
משיח גם לא מטלפן