位置: 编程技术 - 正文
推荐整理分享openGL 获取矩阵中的旋转-平移-缩放(opengl矩形),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:opengl矩形,opengl矩形,opengl矩形,opengl矩形,opengl 获取物体坐标,opengl 模型视图矩阵,opengl 获取物体坐标,opengl矩形,内容如对您有帮助,希望把文章链接给更多的朋友!
1. 为什么要获取矩阵中的旋转-平移-缩放
在绘制节点的继承体系中,所有的子类变换都是基于父类坐标系的。在坐标转换中,有时候我们需要转换子类的坐标到任意坐标系内。这个时候,我们就需要根据子类的坐标变换递归的和父类坐标进行运算来得到世界坐标。但是,子类的父类矩阵中已经存储了基于世界坐标系的全部变换。既然,坐标系的变换可以存储到矩阵中,那么从矩阵中获取变化自然也是可以的。
2. 矩阵中旋转-平移-缩放的意义
表示的是从世界坐标系,经过旋转-平移-缩放后,得到的当前矩阵的坐标系。也就是说,矩阵中的旋转-平移-缩放代表了当前矩阵和世界坐标系的关系。
3. 如何获得矩阵中的平移
由图可知,平移向量就是矩阵中的m, m, m
4. 如何获得矩阵中的缩放
缩放其实就是矩阵中x, y, z轴向量的长度。
scale x 就是vector(m0, m1, m2)的length
scale y 就是vector(m4, m5, m6)的length
scale z 就是vector(m8, m9, m)的length
5. 如何获得矩阵中的旋转
按照任意向量旋转有些复杂,只看简单的按照x, y, z轴旋转的情况。如果按照z轴旋转一个弧度a,那么旋转矩阵为:
由此我们可以得到弧度a为atan2f(cosa, -sina)也就是矩阵的, atan2f(m0, m1)
按照y, z轴旋转的情况以此类推。
Qt Quick + OpenGL + Bullet初次测试 QtQuickOpenGLBullet初次测试目前Qt的Quick模块已经表现得非常出色,而且可以预留接口来渲染OpenGL场景。一般来说,已经能够满足大部分编程需要了。这次呢
Xcode上创建openGL项目 创建opengl项目步骤1,创建一个Cocoa的项目。2,将项目中的AppDelegate.h,AppDelegate.m,MainMenu.xib文件删除。然后将main.m文件删除,改为main.cpp文件。3,将inclu
opengl入门 基本概念1,OpenGL:是图形硬件的一种软件接口。通俗点讲就是一套API,调用接口而已,用于图像的渲染。与微软的Direct类似,不过它是跨平台的。2,Ope
标签: opengl矩形
本文链接地址:https://www.jiuchutong.com/biancheng/373085.html 转载请保留说明!友情链接: 武汉网站建设