zoukankan      html  css  js  c++  java
  • 左手坐标系和右手坐标系

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

      左右手坐标系是图形学中比较纠结的一件事,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使用的都是右手坐标系,如果自己管理变换矩阵的话,在视点坐标变换的时候需要变到左手坐标系。很多地方都不讲这个问题,我觉得这对于我来说很困惑。在变换的时候,统一按照右手坐标系去考虑就好了,也就是在世界坐标和模型坐标的时候使用的右手坐标系,这个有个很好玩的事情就是,右手坐标系的正,在左手坐标系看来也是正的。

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

  • 相关阅读:
    CSS盒子模型
    getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
    MYSQL中的CASE WHEN END AS
    单点登录的精华总结
    git&github
    June 21st 2017 Week 25th Wednesday
    June 20th 2017 Week 25th Tuesday
    June 19th 2017 Week 25th Monday
    June 18th 2017 Week 25th Sunday
    June 17th 2017 Week 24th Saturday
  • 原文地址:https://www.cnblogs.com/EpisodeXI/p/4041715.html
Copyright © 2011-2022 走看看