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

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

  • 相关阅读:
    Shell 脚本基本操作练习
    Unix 环境高级编程---线程创建、同步、
    ubuntu 安装ssh-server时出现错误:openssh-server: Depends: openssh-client (= 1:5.3p1-3ubuntu3) but 1:5.3p1-3ubuntu4 is to be installed
    python set 集合
    python 深浅拷贝
    用户权限管理
    vim 编辑器的使用
    linux系统初体验
    平滑升级nginx
    在windows下如何使用密钥对远程登录服务器?
  • 原文地址:https://www.cnblogs.com/EpisodeXI/p/4041715.html
Copyright © 2011-2022 走看看