旋转矩阵的证明(写了才发现很简单)挫败

以第一区间顺时针转动为例:x'=r*cos(b-a)=r*[cos b*cos a+sin b*sin a]=r*cos b*cos a+r*sin b*sin a=x*cos a+y*sin a.....就这么简单。。。学的都还给老师了。。~~!

#import "CGAffineTransform.h"

/* Transform `point' by `t' and return the result:

     p' = p * t

   where p = [ x y 1 ]. */


CG_EXTERN CGPoint CGPointApplyAffineTransform(CGPoint point,

  CGAffineTransform t) CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);


/* Transform `size' by `t' and return the result:

     s' = s * t

   where s = [ width height 0 ]. */


CG_EXTERN CGSize CGSizeApplyAffineTransform(CGSize size, CGAffineTransform t)

  CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);





CG_INLINE CGPoint

__CGPointApplyAffineTransform(CGPoint point, CGAffineTransform t)

{

  CGPoint p;

  p.x = (CGFloat)((double)t.a * point.x + (double)t.c * point.y + t.tx);

  p.y = (CGFloat)((double)t.b * point.x + (double)t.d * point.y + t.ty);

  return p;

}

#define CGPointApplyAffineTransform __CGPointApplyAffineTransform


CG_INLINE CGSize

__CGSizeApplyAffineTransform(CGSize size, CGAffineTransform t)

{

  CGSize s;

  s.width = (CGFloat)((double)t.a * size.width + (double)t.c * size.height);

  s.height = (CGFloat)((double)t.b * size.width + (double)t.d * size.height);

  return s;

}

#define CGSizeApplyAffineTransform __CGSizeApplyAffineTransform


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值