码迷,mamicode.com
首页 > 其他好文 > 详细

说说我对OpenGL坐标变换几个关键点的理解

时间:2014-11-25 23:51:49      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:ar   sp   问题   bs   时间   nbsp   生活   简单   br   

刚接触OpenGL的朋友们,可能对坐标变换不太理解. 本人不才, 接触了三维一段时间后,冒昧说说我的理解, 如有偏差, 请指正.


一:  首先说说什么是世界坐标. 

        每个三维模型都有自己的局部坐标, 这个大家都好理解,  这个称作模型坐标, 坐标原点可以是模型的中心.   但是一个场景中如果有许多个三维模型,  那要想标准其每个位置,

就需要一个统一的坐标来标定,  那么这个坐标就叫世界坐标.  这都好理解对吧,  下面说点难的.


二:  再说说世界坐标怎么转换到摄像机坐标.

        我们知道,  观察三维模型要用一个摄像机.  模型需要在摄像机里成像,  也就需要知道模型在摄像机里映射的位置.  这也就涉及到世界坐标怎么转换到摄像机坐标的问题.

        要想理解这个问题,  得先理解摄像机,  生活中, 摄像机往那一放, 就确定了一个位置; 摄像机的朝向也就决定了要拍摄哪个方向的景物;  并且摄像机可以横着拍, 也可以竖着拍,

这个横竖也决定了景物的在底片上的成像是正的还是倒立的;  好, 我们回头一看, 决定摄像机的有三个量, eye(位置), target(所拍摄景物的方位),  up(在底片上成像的倒正).

        好,  摄像机的三个量能否推出一个摄像机的坐标系呢,  答案是肯定的,  也就是摄像机所在的标架(标架,坐标系推导请自行查看相关书籍吧);  现在摄像机的坐标系有了,  那么, 能否把世界坐标转换摄像机坐标的问题看成是,  世界坐标系到摄像机坐标系的转换呢.  答案是可以的,  分两步走,  先平移, 再旋转.  好, 经过这样两步操作.  两者坐标转换轻松完成了. 


三:  摄像机坐标投影到设备坐标

      最终三维模型要显示在屏幕上, 投影为设备屏幕坐标, 投影主要有两种, 正交投影, 透视投影,  我觉得理解投影的关键点,  在于理解设备屏幕坐标, 所谓的往哪投影.  常听说设备坐标

归一化, 什么是归一化, 说白了就是往简单了整,  设备坐标可以理解成, 中心在原点,  长度为1的立方体.  三维投影就是往这个区域投.  所以知道了投哪, 怎么投那就很好办了, 中学几何知识, 再套上个矩阵, 就出来了.


四: 设备坐标到视口坐标

       视口可以看成是 显示设备屏幕的某一个区域,  并且,  会把图形投影到以视口中心为原点的区域上,  理解这一点,  这个坐标转换就不难理解了. 



说说我对OpenGL坐标变换几个关键点的理解

标签:ar   sp   问题   bs   时间   nbsp   生活   简单   br   

原文地址:http://blog.csdn.net/zangle260/article/details/41485595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!