精华内容
下载资源
问答
  • 有来自DirectX坐标系的动作数据,需要转换到OpenGL/Vulkan坐标系下。 遂研究一番。 不想看太多,就只想看转换公式的话,如下就是。 T:XYZ平移向量 R:WXYZ旋转四元数 S:XYZ缩放分量 DirectX原始数据设为 T:(x1, ...

    来自大佬的简易方法
    https://www.zhihu.com/question/288528062/answer/463195686

    有来自DirectX坐标系的动作数据,需要转换到OpenGL/Vulkan坐标系下。
    遂研究一番。

    不想看太多,就只想看转换公式的话,如下就是。

    T:XYZ平移向量
    R:WXYZ旋转四元数
    S:XYZ缩放分量
    
    DirectX原始数据设为
    T:(x1, y1, z1)
    R:(w2, x2, y2, z2)
    S:(x3, y3, z3)
    
    转换后得到OpenGL坐标系的数据为
    T:(x1, y1, -z1)
    R:(w2, -x2, -y2, z2)
    S:(x3, y3, z3)
    

    图像版

    坐标系转换

    文字版

    T:XYZ平移向量

    R:WXYZ旋转四元数

    S:XYZ缩放分量

    转换依据

    即使是不同的坐标系,本质上还是NDC窗口坐标系为主,往右是X+,往上为Y+,往前为Z+。
    转换后,观察到的新的结果在NDC窗口坐标系上与原来的结果在同一个NDC窗口坐标系上的一致,即可认为转换正确。

    不同坐标系间的转换方法

    1.平移分量或者平移坐标:

    将老坐标系的空间中,画出老坐标系和新坐标系的轴向量,看老坐标系的轴对着新坐标系的哪个轴,把数值挪过去就行了,如果新轴跟老轴的反向的,再加个负号,把数值取反。例如老X轴对着新Z轴,方向还是反的,把[3, 0, 0]改成[0, 0, -3]就行了。左右手坐标系对这个没有影响

    2.旋转四元数:

    先按照平移向量那样对应调整四元数的X,Y,Z分量进行处理,然后如果新坐标系和老坐标系都是同手向的坐标系,那就结束了,如果是不同手的坐标系,那XYZ分量还要给他们加个负号。w分量始终不用改变

    3.缩放分量

    这个就更简单了,只需要把老轴的对应的数值挪到新轴的位置就行了,不用管方向,也不用管它的手性。

    展开全文
  • 有两种: (1)z轴取负,然后渲染时背面消隐改为逆时针! (2)相机用右手坐标
    有两种:
    
    (1)z轴取负,然后渲染时背面消隐改为逆时针!

    (2)相机用右手坐标


    拿一本书来举例,把这本书直立起来,正面朝向你,然后约定,在左手坐标系下,相机在原点位置,朝正Z轴方向看,而右手坐标系则相反,相机在原点是朝负Z轴看的.

    然后,在右手坐标系下,正面的Z值比背面大,
    而现在要转换成左手坐标系,并且要看到相同的画面,就必须使正面的Z值比背面小,如果只是把Z值取负,则意味着,正面和背面的所有像素被对等的做了替换,即成了一个镜像的效果,这显然不对.应该把X也取负.
    这样的话,正面左边的顶点就到了背面右边的位置,(这看上去,似乎正面被放到了后面,但因为左手坐标系下,Z值小的先被看到,所以仍将看到一个正立的书)

    简而言之,右手坐标系是从最大的Z值往最小的Z值去看的,而左手坐标系相反,是从最小的Z往最大的Z值去看的,即看到的画面将是书的背面,且是镜像的,所以,要把顶点的X和Z值取负.

    展开全文
  • 在我们初高中接触的三维坐标系中,大都是右手坐标系。 1、左手坐标系转右手坐标系 需要一个转换矩阵Z, ...对于向量T右,将其从右手坐标系转换左手坐标系: 对于旋转矩阵R右,将其转换到左手坐标系: ...

    在我们初高中接触的三维坐标系中,大都是右手坐标系。

    1、左手坐标系转右手坐标系

    需要一个转换矩阵Z,

    • 对于向量T,将其从左手坐标系转换到右手坐标系:

           

    • 对于旋转矩阵R,将其转换到右手坐标系:

            

    2、右手坐标系转换到左手坐标系:

    • 对于向量T,将其从右手坐标系转换到左手坐标系:

             

    • 对于旋转矩阵R,将其转换到左手坐标系:

             

    展开全文
  • 左手坐标系与右手坐标系中数据的相互转换,包括位置位移旋转。
  • 顶点x和z取反?
  • 左手坐标系和右手坐标系详解

    千次阅读 2020-05-11 15:19:13
    左手坐标系 vs 右手坐标系 2d 坐标系一般来说大家都有默认: x轴朝右,y轴朝向。 左手坐标系 而对于三维坐标系,一般有两种习俗,左手坐标系和右手坐标系,它们的重点不是在于 z 轴标注的是哪根,而是三个...

    左手坐标系 vs 右手坐标系

    2d 坐标系一般来说大家都有默认: x轴朝右,y轴朝向。

     

    左手坐标系

    而对于三维坐标系,一般有两种习俗,左手坐标系和右手坐标系,它们的重点不是在于 z 轴标注的是哪根,而是三个方向的组合,比如之前的[从零开始计算机图形学]系列一直用左手坐标系,为了作图方便,我把 z 轴指向屏幕里。

     

    对应关系:

    • right - x指向
    • up - y指向
    • front - z指向

     

    但是如果我们把手转90°。这依旧是一个左手坐标系。

     

     

    右手坐标系

    右手坐标系是这样:

     

     

    如果我们为了作图方便将 x轴 放到右边, y轴 放到上边,那么 z轴的朝向:

     

    跟左手坐标系中 z轴朝向刚好相反。

    叉乘

    两个三维中的向量叉乘有:

     

     

     

    Maya 和 OPenGL 使用右手坐标系, DirectX, pbrt, PRMan 使用左手坐标系。

     


    今天记录一下一些基本的数学知识,左手坐标系和右手坐标系。这些对于搞图像开发或者游戏开发的朋友来说,应该是很基础的东西,不过对于大部分人来说还是比较陌生的知识。之所以看这方面资料主要是因为在使用Android Camera使用Matrix的过程中,发现需要一些数学理论支持才能理解。这是为了后面使用Android Camera和Matrix的基础。

     

    1、空间直角坐标系

      下面摘录一段百科的解析,这些都是数学基础。过空间定点O作三条互相垂直的数轴,它们都以O为原点,具有相同的单位长度.这三条数轴分别称为X轴(横轴).Y轴(纵轴).Z轴(竖轴),统称为坐标轴。

      各轴之间的顺序要求符合右手法则,即以右手握住Z轴,让右手的四指从X轴的正向以90度的直角转向Y轴的正向,这时大拇指所指的方向就是Z轴的正向.这样的三个坐标轴构成的坐标系称为右手空间直角坐标系.与之相对应的是左手空间直角坐标系.一般在数学中更常用右手空间直角坐标系,在其他学科方面因应用方便而异。三条坐标轴中的任意两条都可以确定一个平面,称为坐标面.它们是:由X轴及Y轴所确定的XOY平面;由Y轴及Z轴所确定的YOZ平面;由X轴及Z轴所确定的XOZ平面.这三个相互垂直的坐标面把空间分成八个部分,每一部分称为一个卦限.位于X,Y,Z轴的正半轴的卦限称为第一卦限,从第一卦限开始,在XOY平面上方的卦限,按逆时针方向依次称为第二,三,四卦限;第一,二,三,四卦限 下方的卦限依次称为第五,六,七,八卦限。

     

     

     

    2、右手坐标系

      右手坐标系在我们以前初中高中学几何的时候也经常用到。在三维坐标系中,Z轴的正轴方向是根据右手定则确定的。右手定则也决定三维空间中任一坐标轴的正旋转方向。要标注X、Y和Z轴的正轴方向,就将右手背对着屏幕放置,拇指即指向X轴的正方向。伸出食指和中指,如右图所示,食指指向Y轴的正方向,中指所指示的方向即是Z轴的正方向。要确定轴的正旋转方向,如下图所示,用右手的大拇指指向轴的正方向,弯曲手指。那么手指所指示的方向即是轴的正旋转方向。

     

    3、左手坐标系

      伸出左手,让拇指和食指成“L”形,大拇指向右,食指向上。其余的手指指向前方。这样就建立了一个左手坐标系。拇指、食指和其余手指分别代表x,y,z轴的正方向。判断方法:在空间直角坐标系中,让左手拇指指向x轴的正方向,食指指向y轴的正方向,如果中指能指向z轴的正方向,则称这个坐标系为左手直角坐标系.反之则是右手直角坐标系。

     

     

     

    4、左手坐标系和右手坐标系比较

      手坐标系和右手坐标系,左手坐标系是X轴向右,Y轴向上,Z轴向前,右手坐标系的Z轴正好相反,是指向“自己”的,在计算机中通常使用的是左手坐标系,而数学中则通常使用右手坐标系。计算机里面其实很多也有用右手坐标系,这个只是根据实际应用不同,没有说哪个比较好。

     

     

    5、结语

      今天主要是讲讲这两个坐标系和区分,因为后面我会讲解有关Android Camera使用Matrix进行滑动特效变换。里面就好应用到很多坐标系的转换,所以脑袋里面要先有这方面的概念,否则有关Matrix的转换和图像操作就不好理解了。

    展开全文
  • 左图是DirectX常用的左手坐标系,有图是右手坐标系,如OpenGL或3dsMax(Max是旋转了的,解析几何中一般也是用右手) 由于大学时候认为高等数学没什么用,所以根本没去学,以致从高数到立体几何一连串挂科…… ...
  • 左手坐标系以及右手坐标系可以分为Yup和Zup,下面列举了左手坐标系以及右手坐标系的几种形式。 1 左手坐标系 2 右手坐标系 如果您觉得这篇博文有用,请访问我的个人站:http://www.stubbornhuang.com/,更多...
  • 左手坐标系和右手坐标系 空间直角坐标系 解析几何为了沟通空间图形与数的研究,需要建立空间的点与有序数组之间的联系,为此我们通过引进空间直角坐标系来实现。 过定点O,作三条互相垂直的数轴,它们都以O为...
  • 左手坐标就是z轴向里 右手坐标就是z轴向外 用你们的手来比一下就知道了 x轴和y轴的方向不变,用大拇指向x方向,食指指向y轴的方向,那么中指指向...在d3d中用的是左手坐标系,opengl中用的是右手坐标系 ...
  • 右手坐标系转换

    千次阅读 2017-05-10 21:13:20
    假定Sz是一个缩放矩阵,能把z取反,也就是 Sz = 1 0 0  0 1 0  0 0 -1 P = (x,y,z),P' = (x,y,-z) 也就是P 和 P'在不同手性下表示相同位置的一...现在考虑Y轴的旋转,也就是yaw 假定在左手系下, P1 是 P变换后
  • 在科学计算和仿真中,经常涉及到左手系和右手系的转换,这里我们总结一下转换的规律,以备...本文介绍了在计算机视觉的一些应用中,左手坐标系和右手坐标系之间转换时,旋转矩阵R和平移向量T的具体表达形式有哪些变化。
  • 3D数学基础(一)——左手坐标系和右手坐标系 1、左手坐标系 左手坐标系的定义 伸出左手,让拇指和是指成L型,...左手坐标系和右手坐标系虽然定义简单,并且可以相互转换,但是在一个场景中定义好坐标系是左手坐标...
  • 但是ART动捕设备产生的数据是右手坐标系的,而UE4中使用的是左手坐标系,要想使动捕数据驱动UE4场景中的人体,首先必须将原始的右手坐标系中的数据转换左手坐标系中的数据。动捕数据有六个自由度,三个位移,三个...
  • 左手坐标系 vs 右手坐标系

    千次阅读 2013-10-17 09:53:15
    左手坐标系 存在两种完全不同的3D坐标系。 伸出左手,让拇指和食指成“L”形,大拇指向右,食指向上。其余的手指指向前方。这样就建立了一个左手坐标系。拇指、食指和其余手指分别代表x,...反之则是右手直角坐标系
  • 今天记录一下一些基本的数学知识,左手坐标系和右手坐标系。这些对于搞图像开发或者游戏开发的朋友来说,应该是很基础的东西,不过对于大部分人来说还是比较陌生的知识。之所以看这方面资料主要是因为在使用Android ...
  • 今天记录一下一些基本的数学知识,左手坐标系和右手坐标系。这些对于搞图像开发或者游戏开发的朋友来说,应该是很基础的东西,不过对于大部分人来说还是比较陌生的知识。之所以看这方面资料主要是因为在使用Android ...
  • 左手坐标系到右手坐标系的变换

    万次阅读 2019-03-13 15:26:40
    该博客主要参照论文: ...提取码:hiuc 文章目录1.坐标点的转换2. 旋转的转换2.1 Conversion of Heading2.1 Conversion of Pitch2.1 Conversion of Bank3. 旋转变换的组合4....左手坐标系和右手坐标系之间的...
  • 左手坐标系和右手坐标系以及Unity中的世界坐标系和本地坐标系 2018年04月25日 08:23:35 lywgames 阅读数:2358 ...
  • 左手右手坐标系

    2017-11-26 10:00:08
    今天记录一下一些基本的数学知识,左手坐标系和右手坐标系。这些对于搞图像开发或者游戏开发的朋友来说,应该是很基础的东西,不过对于大部分人来说还是比较陌生的知识。之所以看这方面资料主要是因为在使用Android ...
  • 今天记录一下一些基本的数学知识,左手坐标系和右手坐标系。这些对于搞图像开发或者游戏开发的朋友来说,应该是很基础的东西,不过对于大部分人来说还是比较陌生的知识。之所以看这方面资料主要是因为在使用Android ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,945
精华内容 778
关键字:

左手右手坐标系转换