OpenGL矩阵变换

原创 2015年07月08日 23:27:32

ModelView Matrix推导

现在考虑Object坐标系中的点P(Px,Py,Pz)向Camera坐标系进行变换,Object坐标轴分别为xyz,Camera坐标轴分别为uvn

P=Pxx⃗ +Pyy⃗ +Pzz⃗ 

先只考虑旋转变换,Camera坐标系的基向量可表示为:
u⃗ v⃗ n⃗ =u.xx⃗ +u.yy⃗ +u.zz⃗ =v.xx⃗ +v.yy⃗ +v.zz⃗ =n.xx⃗ +n.yy⃗ +n.zz⃗ 


(u⃗ ,v⃗ ,n⃗ )t=M(x⃗ ,y⃗ ,z⃗ )t

其中,
M=u.xv.xn.xu.yv.yn.yu.zv.zn.z

可以观察到MMt=I,所以有
Mt(u⃗ ,v⃗ ,n⃗ )t=(x⃗ ,y⃗ ,z⃗ )t(u⃗ ,v⃗ ,n⃗ )M=(x⃗ ,y⃗ ,z⃗ )

现在再考虑点P
P=(x⃗ ,y⃗ ,z⃗ )PxPyPz=(u⃗ ,v⃗ ,n⃗ )MPxPyPz

可以看到,齐次坐标下,旋转变换矩阵为
u.xv.xn.x0u.yv.yn.y0u.zv.zn.z00001

再考虑平移变换,Camera坐标系原点与Object坐标系原点构成的向量即为平移向量,记为eye,向Camera坐标系的坐标轴投影,即得到平移变换矩阵
100001000010eyeu⃗ eyev⃗ eyen⃗ 1

所以,最终的ModelView矩阵为:
u.xv.xn.x0u.yv.yn.y0u.zv.zn.z0eyeu⃗ eyev⃗ eyen⃗ 1

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

openGL 各种坐标矩阵变换

  • 2013-04-01 12:35
  • 67KB
  • 下载

opengl矩阵变换

  • 2015-05-06 16:59
  • 249KB
  • 下载

OpenGL 矩阵变换

OpenGL 矩阵变换

OpenGL之矩阵变换Matrix

简述: OpenGL通过矩阵变换来把三维物体转变为二维图象,进而在屏幕上显示出来。为了指定当前操作的是何种矩阵,使用了函数 glMatrixMode 。 可以移动、旋转观察点或者移动、旋转物体,...

OPENGL矩阵变换

http://blog.csdn.net/lyx2007825/article/details/8792475 Overview 几何数据——顶点位置,和标准向量(normal vec...

OpenGL笔记之矩阵变换(Matrix Transformation)

本文是学习OpenGL过程中的一篇笔记。在学习过程中,主要参照了大名鼎鼎的 《OpenGL Programming Guide》(中文名《OpenGL编程指南》,有些人还称之为OpenGL红宝书)...

乱弹OpenGL中的矩阵变换(上)

在前面的日志(Shadow Volume 阴影锥技术之探Ⅲ )中,自己稍微提及了NEHE的"3D矩阵求逆"方法之高,并谈了谈自己的一点拙略理解。呵呵,然后,既然如此,一不做二不休,在本篇中得继续乱弹一...

OpenGL 矩阵变换

Overview 几何数据——顶点位置,和标准向量(normal vectors),在OpenGL 管道raterization 处理过程之前可通过顶点操作(Vertex Operation)和基本...

OpenGL基本概念入门3——矩阵变换

1 平移glTranslatef(x,y,z);    其中,x,y,z分别表示在X、Y、Z轴上平移的量2 旋转与平移类似,OpenGL也为我们提供了一个高级函数用于旋转物体:glRotatef(An...

OpenGL 矩阵变换(讲的太好了~!)

OpenGL 矩阵变换(讲的太好了~!) 分类: opengles2013-04-12 15:39 5503人阅读 评论(5) 收藏 举报 Overview 几何数据——顶点位置...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)