Esto es en realidad algo que yo estoy haciendo en Objective-C de programación, pero ya que está muy orientado a matemáticas he pensado que me gustaría publicar aquí.
Yo estaba leyendo sobre transformaciones lineales: http://en.wikipedia.org/wiki/Matrix_(matemáticas)
Básicamente necesito para girar una forma alrededor de su centro. Con mi aplicación actual, la rotación se realiza utilizando la parte superior izquierda como su origen. Aquí está una captura de pantalla:
Este es el código que estoy usando para crear cada una de las coordenadas x,y:
CGFloat angle = 0.261799; // (15 degrees)
CGFloat xr = x1 * cosf(angle) + y1 * -sinf(angle) + tx;
CGFloat yr = x1 * sinf(angle) + y1 * cosf(angle) + ty;
Me doy cuenta de que hay funciones (CGAffineTransformRotate, etc) en Objective-C que hacer esto por mí, pero ya no lo estoy usando un UIView, tengo que hacerlo manualmente. Además, sería bueno saber. :)
Así que cuando me conecte 35.0 para tx y -35.0 para ty, (números me acabo de enterar que parecía de trabajo, a través de ensayo y error) esto es lo que obtengo:
Eso es lo que yo quiero! Ahora sólo necesito alguna forma de averiguar estos tx
y ty
valores de traducción al centro de la forma de origen, basado en el ángulo dado, los valores de ancho o altura. (También estoy viendo resultados diferentes cuando se ajuste tx
y ty
si el original de coordenadas x,y de la forma son diferentes.)
Cualquier ayuda sería muy apreciada. Gracias!