i see how you write looks cleaner, is easier to follow. but i now have first hand experience with the matrix multiplications with unexpected results as your code has different results than mine. CGAffineTransformTranslate lands in a different space. interesting :)
On Wed, Jun 17, 2009 at 6:26 AM, Jean-Daniel Dupas<devli...@shadowlab.org> wrote: > Concatenation is just a matrix multiplication: > > http://developer.apple.com/documentation/graphicsimaging/Conceptual/drawingwithquartz2d/dq_affine/dq_affine.html#//apple_ref/doc/uid/TP30001066-CH204-CJBECIAD > > So yes, you can do that. > > It's just a matter of taste, but I would write it like that instead: > > CGAffineTransform transform = CGAffineTransformMakeScale(1.5, 1.5); > transform = CGAffineTransformRotate(transform, 3.14); > transform = CGAffineTransformTranslate(transform, 100, 50); > > square.transform = transform; > > > Le 17 juin 09 à 11:37, Chunk 1978 a écrit : > >> CGAffineTransformConcat() only allow for 2 arguments. so in the case >> where i have 3 transforms, i had to concatenate the first 2 to make >> "Group1", and then concatenate that with the final transform: >> >> -=-=-=- >> //Animation Block >> [UIView beginAnimations:nil context:NULL]; >> [UIView setAnimationDuration:.5]; >> [UIView setAnimationDelegate:self]; >> [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; >> >> CGAffineTransform enlarge = CGAffineTransformMakeScale(1.5, 1.5); >> CGAffineTransform rotate = CGAffineTransformMakeRotation(3.14); >> >> CGAffineTransform group1 = CGAffineTransformConcat(enlarge, >> rotate); >> CGAffineTransform move = CGAffineTransformMakeTranslation(100, 50); >> >> square.transform = CGAffineTransformConcat(group1, move); >> >> [UIView commitAnimations]; >> -=-=-=- >> >> it seems to work find, but is this the most ideal way of doing this? >> >> >> >> >> On Wed, Jun 17, 2009 at 5:21 AM, Chunk 1978<chunk1...@gmail.com> wrote: >>> >>> thanks! :) >>> >>> On Wed, Jun 17, 2009 at 5:05 AM, Jean-Daniel >>> Dupas<devli...@shadowlab.org> wrote: >>>> >>>> Le 17 juin 09 à 10:53, Chunk 1978 a écrit : >>>> >>>>> is have this animation block with both Enlarge and Rotate, but only >>>>> one work properly (the last one listed). what is the proper way to >>>>> group the two transforms together: >>>>> >>>>> -=-=-=- >>>>> //Animation Block >>>>> [UIView beginAnimations:nil context:NULL]; >>>>> [UIView setAnimationDuration:1.0]; >>>>> [UIView setAnimationDelegate:self]; >>>>> [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; >>>>> >>>>> CGAffineTransform enlarge = CGAffineTransformMakeScale(1.5, 1.5); >>>>> CGAffineTransform rotate = CGAffineTransformMakeRotation(3.14 / >>>>> 2); >>>>> >>>>> square.transform = enlarge; >>>>> square.transform = rotate; >>>>> >>>>> [UIView commitAnimations]; >>>>> -=-=-=- >>>> >>>> >>>> You should concat your transformations, not make two. >>>> >>>> CGAffineTransform trans = CGAffineTransformMakeScale(1.5, 1.5); >>>> trans = CGAffineTransformRotate(trans, 3.14 / 2); >>>> >>>> or in your sample above: >>>> square.transform = CGAffineTransformConcat(enlarge, rotate); >>>> >>>> >>> >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> http://lists.apple.com/mailman/options/cocoa-dev/devlists%40shadowlab.org >> >> This email sent to devli...@shadowlab.org >> > > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com