OpenGl 的 GL_MODELVIEW 的矩阵


小弟最近在做一个项目。
目前可以通过artoolkit的api获得 OPENGL 识别的 GL_MODELEVIEW 的矩阵
对opengl不是很了解也没有时间来彻底的学习
从网络上资料 了解到它是一个模型视点一起的变换矩阵

我希望通过这个矩阵推出单个模型相对于默认视点的变换请问有怎么做?
希望能够知道这个矩阵的具体含义是什么(就是每行 每列代表什么意思)?

谢谢~

opengl

guagua 10 years, 5 months ago

这个矩阵说简单了就是(w,x,y,z)w代表缩放比例,x,y,z代表三个方向坐标,
但实际上他是一个4*4的矩阵(列优先)
x轴方向 y轴方向 z方向 缩放比列
(1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1)
初始化化时为单位阵,可参见OenpGL超级宝典。
至于坐标变换,平移
( 1 0 0 0
0 1 0 0
0 0 1 0
tx ty tz 1 )
tx,ty,tz为x,y,z轴方向上的平移量。你用(x,y,z,1)乘以上面那个矩阵就可以得到平移后的(tx,ty,tz,1)旋转就比较复杂了,可以参考基本三维几何变化(百度搜一下)
单个模型相对于视点的变换推导是比较复杂的,你的学习一下四元数的相关知识,可以再网上下一个四元数的模板,通过计算相对矢量位置,然后就是一系列的矩阵变换了。一两句也说不清楚。只要学透四元数,你的问题就迎刃而解了,在新浪爱问中搜四元数可以找到一本讲四元数的书,那个不错,你可以看看。

狮子也是娘 answered 10 years, 5 months ago

Your Answer