Las transformaciones de Affine son transformaciones, pero las transformaciones no necesitan ser Affine. Por ejemplo, una cizalladura del avión no es Afín porque no envía líneas a las líneas.
Las transformaciones de Affine son, por definición, aquellas transformaciones que conservan proporciones de distancias y envían líneas a líneas (preservando la "colinealidad"). En la geometría euclidiana de dimensión finita, estos actúan mediante una transformación lineal seguida de una traducción, es decir, x -> Ax + b
donde x
es un vector, A
es una transformación lineal y b
es un vector.
Las transformaciones de Affine son excelentes para cambiar los sistemas de coordenadas, quizás de una forma bastante difícil de visualizar a las coordenadas habituales.
Las transformaciones de Affine con las que probablemente se encontrará en la práctica son traducciones, dilatación (es decir, escalado), rotación y reflexión. Si está desarrollando para iOS, por ejemplo, consulte las secciones CGAffineTransform
de la documentación del desarrollador. Explicarán cómo crear transformaciones de Affine utilizando varios métodos de conveniencia y cómo aplicarlos a las instancias de UIView con el mensaje -setTransform
.
pasado, un punto importante acerca de transformaciones afines es que son no conmutativa bajo Composición: aplicación de una transformada T1
seguido por transformar T2
es diferente en general, de la aplicación de T2
seguido por T1
. Es decir, el orden en que aplica estos asuntos.
Esto es similar a esta pregunta: http://stackoverflow.com/questions/567829/catransform3d-vs-cgaffinetransform –