Core Animation - 变换<五>
2016-03-22 17:42
169 查看
1.背面
在3D场景中,当一张平面图片被旋转后我们将会看到什么呢?实际上,当旋转180度后,我们看到的仍然是跟原图一样的镜像对称图,也就是说在3D环境中一个立方体正面朝上,我们看不到的部分实际上是绘制出来的,既然我们看不到为什么还要绘制出来,明显是浪费了CPU和内存的,CALayer提供了一个属性doubleSided来控制背面是否绘制,默认为NO,设置为YES后,当图片旋转180度后将看不到对称的镜像图。
2.扁平化图层
这一节理解起来略吃力,不过理解了其实感觉作者的比喻不太恰当,说的是图层的旋转和3D图形的旋转,前提没错,我们所看到的3D的图形实际上展现出来的就是一个2D的平面,在按照作者说的方法操作时,作者直接把被操作的图层当作2D的来进行操作,这样,得出的结果肯定是2D应有的效果,而不是3D效果,一开始,绕z轴旋转,我理解,因为是平面了,所以z直接就是平面旋转,旋转结束的图形没变,这里,博主想,作者是不是按照立体的来旋转,而且忽略了屏幕本身的x,y,z轴,用了现实的,如果这么解释,这个图就是正确的。后面的绕y轴旋转作者说的实际效果不变,那应该是3D情况下的,而作者说的实际结果却是2D绕y轴旋转才有的效果,解释完毕。
3.固体对象
这一节不多说,直接上代码:https://github.com/codeliu6572/3DRect
效果很不错,大家尝试下。
在3D场景中,当一张平面图片被旋转后我们将会看到什么呢?实际上,当旋转180度后,我们看到的仍然是跟原图一样的镜像对称图,也就是说在3D环境中一个立方体正面朝上,我们看不到的部分实际上是绘制出来的,既然我们看不到为什么还要绘制出来,明显是浪费了CPU和内存的,CALayer提供了一个属性doubleSided来控制背面是否绘制,默认为NO,设置为YES后,当图片旋转180度后将看不到对称的镜像图。
2.扁平化图层
这一节理解起来略吃力,不过理解了其实感觉作者的比喻不太恰当,说的是图层的旋转和3D图形的旋转,前提没错,我们所看到的3D的图形实际上展现出来的就是一个2D的平面,在按照作者说的方法操作时,作者直接把被操作的图层当作2D的来进行操作,这样,得出的结果肯定是2D应有的效果,而不是3D效果,一开始,绕z轴旋转,我理解,因为是平面了,所以z直接就是平面旋转,旋转结束的图形没变,这里,博主想,作者是不是按照立体的来旋转,而且忽略了屏幕本身的x,y,z轴,用了现实的,如果这么解释,这个图就是正确的。后面的绕y轴旋转作者说的实际效果不变,那应该是3D情况下的,而作者说的实际结果却是2D绕y轴旋转才有的效果,解释完毕。
3.固体对象
这一节不多说,直接上代码:https://github.com/codeliu6572/3DRect
效果很不错,大家尝试下。
相关文章推荐
- 作业4.1
- mac设置自动挂载分区到指定路径
- Alluxio源码分析写数据:创建文件(二)
- Mybatis SqlSession
- 新建 Mevan项目 出错 Web 版本不对
- Spring Bean的自动装配(Autowiring)
- Jascript OC交互
- Realsense(三)截取n帧彩色及深度图并保存
- 笔记:github学习(初学者一)
- 端口渗透
- objc runtime 动态增加属性
- Alluxio源码分析写数据:创建文件(一)
- System.Windows.Forms.DataVisualization.Charting 画饼图 设置类型
- 设计模式
- 牛课做题笔记一
- WebView缓存
- 使用异或运算交换两个变量的危险
- 操作Redis之Jedis对象的生成方式
- 用jedis获取redis连接(集群和非集群状态下)
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10