Иван Старков
22.11.2005, 15:46
Начал тут разбираться с новым flash 8
Нашел такие вот грабли - по документации класса Matrix
Конструктор класса выглядит как new Matrix(a,b,c,d,tx,ty) и по доке это матрица выглядит как
a b tx
c d ty
0 0 1
и даны операции над матрицей типа concat и тп. и хоть по доке нигде не пишут что операция concat есть умножение матриц, но из курса геометрии в памяти держится что объединение матриц преобразования оно самое умножение и есть. При проверке данной теории наступаем на грабли - concat не фига не умножение. Но если представить матрицу ввиде
a b 0
c d 0
tx ty 1
то все сразу становится на свои места - concat работает как умножение, операция трансформации MoviClip.transform.matrix = тоже становится понятна, есть - умножние векторов мувиклипа на матрицу (NewVectorCoords = (VectorCoords * Matrix))
Формально вроде к доке и не придраться кроме названия класса, ничто там не указывает что это реализация именно работы с матрицами, всё называют преобразованиями, но неформально все это вводит в заблуждение.
Нашел такие вот грабли - по документации класса Matrix
Конструктор класса выглядит как new Matrix(a,b,c,d,tx,ty) и по доке это матрица выглядит как
a b tx
c d ty
0 0 1
и даны операции над матрицей типа concat и тп. и хоть по доке нигде не пишут что операция concat есть умножение матриц, но из курса геометрии в памяти держится что объединение матриц преобразования оно самое умножение и есть. При проверке данной теории наступаем на грабли - concat не фига не умножение. Но если представить матрицу ввиде
a b 0
c d 0
tx ty 1
то все сразу становится на свои места - concat работает как умножение, операция трансформации MoviClip.transform.matrix = тоже становится понятна, есть - умножние векторов мувиклипа на матрицу (NewVectorCoords = (VectorCoords * Matrix))
Формально вроде к доке и не придраться кроме названия класса, ничто там не указывает что это реализация именно работы с матрицами, всё называют преобразованиями, но неформально все это вводит в заблуждение.