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

左手坐标系和右手坐标系

时间:2014-10-21 23:02:37      阅读:871      评论:0      收藏:0      [点我收藏+]

标签:io   使用   strong   sp   on   问题   ad   bs   管理   

  这篇算作是第一篇文章,以后觉得闲了就写点自己最近所想的也蛮好。

  左右手坐标系是图形学中比较纠结的一件事,D3D中左右手坐标系两套API都有,OpenGL中是右手坐标系,在shader中是向量右乘的,即坐标变换的时候,是M·v,此时translation向量在矩阵M的最后一列,这个和OpenGL的列存储没啥关系,看到有的文章写是因为OpenGL列存所以右乘会快,我觉得这个说的不太对。左手坐标系对应着的是 X x Y = Z, Y x Z = X,  是轮换的,右手坐标系与之相反,是Y x X = Z,直接做好右手坐标系,再将X的位置反转一下也能够得到左手坐标系。

  在视口坐标中,我们其实是处在左手坐标系的。可以这样考虑这个事情,右手部分对应着的是X轴正方向,左手部分对应着的是X轴负方向,看向的是Z轴正方向,天空的方向是Y轴正方向,这是一个左手坐标系。而在OpenGL中,对应着的API使用的都是右手坐标系,如果自己管理变换矩阵的话,在视点坐标变换的时候需要变到左手坐标系。很多地方都不讲这个问题,我觉得这对于我来说很困惑。在变换的时候,统一按照右手坐标系去考虑就好了,也就是在世界坐标和模型坐标的时候使用的右手坐标系,这个有个很好玩的事情就是,右手坐标系的正,在左手坐标系看来也是正的。

  读完规定自己读好的书之后就离开这里,希望能够做好手头的事情,一点点进步吧~

左手坐标系和右手坐标系

标签:io   使用   strong   sp   on   问题   ad   bs   管理   

原文地址:http://www.cnblogs.com/EpisodeXI/p/4041715.html

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