图形几何之美系列:仿射变换矩阵之Y-Up和Z-Up

" 图形学中Y-Up和Z-Up的概念也会让人困惑,这是什么?为什么要这样?该怎么转换?"

  1. 图形几何之美系列:三维实体结构表达

  2. 图形几何之美系列:仿射变换矩阵

  3. 图形几何之美系列:仿射变换矩阵(二)

  4. 图形几何之美系列:仿射变换矩阵之先转后偏

1.前言

所有的3D工具都包含一个具有X、Y和Z轴的三维环境。在这些工具中,X轴方向是相同的,即在前视图是从左到右的水平线。

然而, 不同的 3D 工具可能对Y轴和Z轴的朝向有不同的解释。一些3D工具是Y-Up的, 即Y轴是竖直方向的;而其他的3D工具是Z-Up的, 即Z轴是竖直方向的。

2.部分3D软件中的规则

不同的3D工具关于竖直方向(Up方向)是Y轴还是Z轴有不同的定义 ,而处理的比较好的3D工具是可以自动的进行Y-Up/Z-Up间的转换的,即支持Y-Up、Z-Up的模型导入,自动的针对性做不同的处理,让模型能够正常显示和使用。
图:部分3D软件中的Up轴规则

由上图可知,如果是Z-Up的模型,导入到Y-Up的3D工具中,或者将Y-Up的模型导入到Z-Up的3D工具中,如果不作处理的话,那么模型显示将是错误的。

那么该怎么处理呢?大家仔细看看图,结合上述章节中的仿射变换矩阵构成和原理,想一想~

提示

详细讲解可参考作者CSDN博文:Y-Up和Z-Up的概念

3.Y-Up转Z-Up

由Y-Up 转换为Z-Up,可以对模型绕着X轴旋转π/2(弧度)来达到此操作,相当于应用如下的转换矩阵:
图:Y-Up到Z-Up的矩阵构造

同理,由Z-Up转换为Z-Up,可以对模型绕着X轴旋转-π/2(弧度)来达到此操作;

图:Z-Up到Y-Up的矩阵构造

补充

glTF格式标准是Y-Up,存储还是按照X、Y、Z,只不过Y的数据是模型的Up方向的,解析glTF的业务方都是按照这个标准来解析,如果显示的平台是Z-Up的,就需要对模型做转换,转换过程见上文。

  1. 图形几何之美系列:三维实体结构表达

  2. 图形几何之美系列:仿射变换矩阵

  3. 图形几何之美系列:仿射变换矩阵(二)

  4. 图形几何之美系列:仿射变换矩阵之先转后偏

  5. 图形几何之美系列:仿射变换矩阵之Y-Up和Z-Up

欢迎关注,图形几何之美系列 将继续更新......

相关推荐
测试人社区-小明4 小时前
涂鸦板测试指南:从基础功能到用户体验的完整框架
人工智能·opencv·线性代数·微服务·矩阵·架构·ux
hweiyu005 小时前
数据结构:矩阵
数据结构·线性代数·矩阵
拉姆哥的小屋5 小时前
从400维向量到160000维矩阵:基于深度学习的火焰参数预测系统全解析
开发语言·人工智能·python·深度学习·线性代数·算法·矩阵
咚咚王者7 小时前
人工智能之数学基础 线性代数:第四章 矩阵分解
人工智能·线性代数·矩阵
咚咚王者10 小时前
人工智能之数学基础 线性代数:第三章 特征值与特征向量
人工智能·线性代数·机器学习
Tipriest_1 天前
旋转矩阵与欧拉角转换数学公式与代码详解
线性代数·矩阵
十子木1 天前
布林克曼方程和Darcy方程的区别
线性代数·矩阵·学习方法
测试人社区-小明1 天前
智能测试误报问题的深度解析与应对策略
人工智能·opencv·线性代数·微服务·矩阵·架构·数据挖掘
Tipriest_1 天前
旋转矩阵,齐次变换矩阵,欧拉角,四元数等相互转换的常用代码C++ Python
c++·python·矩阵
小李小李快乐不已1 天前
数组&&矩阵理论基础
数据结构·c++·线性代数·算法·leetcode·矩阵