代码改变世界

矩阵和坐标

2012-02-09 20:50  curer  阅读(762)  评论(0编辑  收藏

坐标变化,通过矩阵乘法实现,老久不用数学了,这个很粗浅的小小复习下。

线性变换

如,x’ = 4x, y’ = 3y;

旋转变换

平移变换

如 将坐标 [2, 0] 向x 轴方向 移动一个单位,那么只要 [2, 0] + [1, 0] = [3, 0]

让我们复杂一点

如图,将坐标(2, 1) 旋转 然后在向右移动3,向下移动4

image

那个根据之前的方法,就是通过乘法和加法实现

image

而这种先乘法再加法又叫做仿射变换,上例可以转换成和3*3矩阵

image

显然,最后一位不管什么,我们都不在意,只在意2, 6 。

这样就比较容易理解CATransform3D 了, 当然CATransform3D  还能做更多的变化,详细的就查询SDK了。

不少资源来自http://blog.sina.com.cn/s/blog_4151e7490100g2va.html