初探android的Camera和Matrix
来源:互联网 发布:win10软件权限设置 编辑:程序博客网 时间:2024/05/22 09:06
camera的坐标系是左手坐标系。伸出左手,让拇指和食指成L形,大拇指向右,食指向上,中指指向前方,这样我们就建立了一个左手坐标系,拇指,食指,中指的指向分别代表了x,y,z轴的正方向。如下图所示:
下面是一些细节点:
1,camera位于坐标点(0,0),也就是视图的左上角;
2,camera.translate(10, 20, 30)的意思是把观察物体右移10,上移20,向前移30(即让物体远离camera,这样物体将会变小);
3,camera.rotateX(45)的意思是绕x轴顺时针旋转45度。举例来说,如果物体中间线和x轴重合的话,绕x轴顺时针旋转45度就是指物体上半部分向里翻转,下半部分向外翻转;
4,camera.rotateY(45)的意思是绕y轴顺时针旋转45度。举例来说,如果物体中间线和y轴重合的话,绕y轴顺时针旋转45度就是指物体右半部分向里翻转,左半部分向外翻转;
5,camera.rotateZ(45)的意思是绕z轴顺时针旋转45度。举例来说,如果物体中间线和z轴重合的话,绕z轴顺时针旋转45度就是指物体上半部分向左翻转,下半部分向右翻转;
------------------------------------------------------------------------------------------------
Matrix是一个3 x 3的2D空间矩阵,关于其具体请参见博文《Android Matrix理论与应用详解》,这里补充说明一点:
1,下图中的MPERSP_2指的是投影变换
关于投影变换理论部分请参见博文《OpenGL笔记之矩阵变换(Matrix Transformation)》,其实际作用就是如果MPERSP_2=0.5,那么物体是原来的4倍大小;如果MPERSP_2=2,那么物体是原来的1/4大小。
------------------------------------------------------------------------------------------------
Camera和Matrix的联合使用:一般情况下,如果我们需要进行3D变换,那么需要将Camera和Matrix联合使用,使用Camera进行x轴或y轴的旋转,使用Matrix进行平移或放大。
- 初探android的Camera和Matrix
- 初探android的Camera和Matrix
- 初探android的Camera和Matrix
- 初探android的Camera和Matrix
- 初探android的Camera和Matrix
- Android的Camera和Matrix
- android的Camera和Matrix
- android的Camera和Matrix
- android.graphics包下的Matrix 和Camera
- android使用camera和matrix,canvas小结
- Android 3D旋转动画之Camera 和 Matrix
- Android 中camera 、 Matrix 和画图进阶学习
- Android 的camera.setPreviewCallbackWithBuffer和camera.addCallbackBuffer
- Android 的camera.setPreviewCallbackWithBuffer和camera.addCallbackBuffer
- android.graphics.Camera实现图像的旋转、缩放,配合Matrix...
- android camera获取matrix作用于canvas的研究
- 利用Camera和Matrix实现有趣的卡片效果
- [Android]android.graphics.Camera实现图像的旋转、缩放,配合Matrix实现图像的倾斜
- MFC中CImage的简单复制方法 (Copy CImage)
- IOS开发之UISearchBar应用
- ATL Internals 2ed复习.chapter 7.ATL Persistence implements
- C# 汉诺塔问题简单演示
- 数据结构——C++栈
- 初探android的Camera和Matrix
- neuq 1024 万能遥控器
- Unix/Linux 进程间通信之消息队列应用实例
- 网易校园招聘考察知识点--缺省参数是编译期间绑定的,而不是动态绑定
- IOS开发之CocoaAsyncSocket学习
- Ubuntu使用自我mark
- 你的团队最佳人数是多少
- 深入研究Servlet线程安全性问题
- IOS开发之Terminating app due to uncaught exception '', reason,** First throw call stack:报错处理