2011-12-20 2 views
0

Теоретически должно быть возможно комбинировать матрицы трансформации или цвета путем добавления или умножения (я хромаю, когда речь идет о такой математике). Является ли это возможным?Можно ли объединить матрицы свертки, чтобы применить сразу несколько преобразований?

ответ

2

Это! В Flash матрицы свертки определены в пакете flash.geom. Матрица преобразования - это Matrix, а цветовая матрица - ColorTransform. Оба реализуют функцию concat, позволяя вам умножать эффекты другой матрицы.

var a:Matrix = new Matrix(); 
a.translate(60, 40); 

var b:Matrix = new Matrix(); 
b.rotate(60); 

a.concat(b); // Matrix a now translates and rotates whatever it convolutes. 
+0

Но знаете ли вы, что является фактической логикой этого? Я хотел бы его перенести, допустим, JavaScript? – jayarjo

+1

Это чисто матричное умножение, поэтому любая статья о умножении матрицы покажет вам, как это сделать. Вы также можете задать вопрос в http://math.stackexchange.com/. Однако использование собственной реализации матрицы в коде может быть немного сложным. Подумайте об использовании библиотеки, например http://sylvester.jcoglan.com/ –