ARKit中的变换中的不同列代表什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ARKit中的变换中的不同列代表什么?相关的知识,希望对你有一定的参考价值。

ARAnchor有6列,其中最后3列代表xyz坐标。

我想知道其他(第一)3列代表什么?

答案

如果你是3D的新手,那么这些转换矩阵看起来就像魔术一样。基本上,ARKit空间中的每个“点”都由4x4变换矩阵表示。该矩阵描述了从ARKit原点(ARKit醒来到世界的点)的距离,通常称为平移,以及设备的方向,即俯仰,滚转和偏航。变换矩阵也可以描述比例,但通常在渲染内容之前不会处理比例。

列是什么意思?这变得复杂但只记得第4列的前3个元素是x,y,z平移。这将派上用场。其余的包含比例和旋转信息。

另一答案

ARKit和SceneKit框架使用4x4 Transformation Matrices来平移,旋转,缩放和剪切3D对象。让我们看看这些矩阵是怎样的。

在3D图形中,我们经常使用带有16个有用元素的4x4矩阵。 Identity 4x4 Matrix如下:

enter image description here

在这16个元素之间有6种不同的剪切系数:

shear XY
shear XZ
shear YX
shear YZ
shear ZX
shear ZY

在剪切矩阵中,它们如下:

enter image description here

因为在这个矩阵中根本没有Rotation coefficients,所以六个Shear coefficients和三个Scale coefficients允许你使用魔法三角法(XY)旋转关于Zsincos轴的3D对象。

下面是一个如何使用剪切和缩放元素旋转关于其Z轴的3D对象(CCW)的示例:

enter image description here

使用Shear和Scale元素查看3种不同的旋转模式:

enter image description here

当然,txxty tz中的3个翻译元素(qazxsw poi,qazxsw poi,qazxsw poi)位于最后一列:

4

ARKit,SceneKit和RealityKit中的列索引是:4Matrix ┌ ┐ | 1 0 0 tx | | 0 1 0 ty | | 0 0 1 tz | | 0 0 0 1 | └ ┘ 0

第四列(索引3)用于翻译值:

1

以上是关于ARKit中的变换中的不同列代表什么?的主要内容,如果未能解决你的问题,请参考以下文章

"!heap -flt -s xxxx" windbg 命令中的不同列代表啥

ARKit:ARFrame.timestamp 代表啥?

如何理解矩阵相乘的几何意义或现实意义

了解 ARKit 世界变换矩阵

ASSEMBLY中的59代表什么? [重复]

为什么iPhone XR,XS和XS Max不会将环境图像应用到ARKit中的场景?