图形几何之美系列:仿射变换矩阵之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

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

相关推荐
lbb 小魔仙3 小时前
面向 NPU 的高性能矩阵乘法:CANN ops-nn 算子库架构与优化技术
线性代数·矩阵·架构
空白诗3 小时前
CANN ops-nn 算子解读:大语言模型推理中的 MatMul 矩阵乘实现
人工智能·语言模型·矩阵
劈星斩月5 小时前
线性代数-3Blue1Brown《线性代数的本质》特征向量与特征值(12)
线性代数·特征值·特征向量·特征方程
池央6 小时前
ops-nn 算子库中的数据布局与混合精度策略:卷积、矩阵乘法与 RNN 的优化实践
rnn·线性代数·矩阵
深鱼~9 小时前
大模型底层算力支撑:ops-math在矩阵乘法上的优化
人工智能·线性代数·矩阵·cann
Zfox_9 小时前
CANN PyPTO 编程范式深度解析:并行张量与 Tile 分块操作的架构原理、内存控制与流水线调度机制
线性代数·矩阵·架构
TechWJ9 小时前
catlass深度解析:Ascend平台的高性能矩阵运算模板库
线性代数·矩阵·ascend·cann·catlass
deep_drink1 天前
【基础知识一】线性代数的核心:从矩阵变换到 SVD 终极奥义
线性代数·机器学习·矩阵
数智工坊1 天前
【数据结构-特殊矩阵】3.5 特殊矩阵-压缩存储
数据结构·线性代数·矩阵
AI科技星1 天前
张祥前统一场论核心场方程的经典验证-基于电子与质子的求导溯源及力的精确计算
线性代数·算法·机器学习·矩阵·概率论