C# Xamarin方向传感器四元数

C# Xamarin方向传感器四元数,c#,xamarin,math,xamarin.forms,xamarin.essentials,C#,Xamarin,Math,Xamarin.forms,Xamarin.essentials,我试图确定一个3d矢量Vector3,表示我的手机没有角度的方向。我要找的是一个向量,它象征性地从手机背面出来,像一条射线,基本上是手机的法向量 我知道四元数给了我一个变换,但是到什么 此外,我还发现了四元数.ToAxisAngle(),它将四元数转换为轴及其相应的滚动角度。我想,太好了,这就是我需要的,我可以忽略角度 当手机放在桌上时,我得到以下轴: axis = [0,0,-1] 角度基本上代表了罗盘的角度。在那种特殊情况下,这就是我所期望的。但当手机具有不同的任意空间位置时,轴似乎不再是

我试图确定一个3d矢量
Vector3
,表示我的手机没有角度的方向。我要找的是一个向量,它象征性地从手机背面出来,像一条射线,基本上是手机的法向量

我知道四元数给了我一个变换,但是到什么

此外,我还发现了
四元数.ToAxisAngle()
,它将四元数转换为轴及其相应的滚动角度。我想,太好了,这就是我需要的,我可以忽略角度

当手机放在桌上时,我得到以下轴:

axis = [0,0,-1]
角度基本上代表了罗盘的角度。在那种特殊情况下,这就是我所期望的。但当手机具有不同的任意空间位置时,轴似乎不再是手机的法向量


如何计算手机平面的法向量?

“一切都是相对的”“一切都是相对的”您看过示例部分了吗:是的,我确实看过。四元数描述设备坐标系相对于地球坐标系的旋转。。那么,我怎样才能得到一个不相对于地球坐标系的局部方向向量呢?你看过示例部分了吗:是的,我确实看过。四元数描述设备坐标系相对于地球坐标系的旋转。。那么我怎样才能得到一个与地球坐标系无关的局部方向向量呢?哇,非常感谢你给出了这个详细的答案。为了得到一个局部四元数,我理解了校准方面和逆四元数。但是,我不希望每个样本都有欧拉角,而是希望3d向量与手机的表面/平面垂直。(…)现在你有了一个本地化的四元数,你可以把它转换成向量3(用基向量转换它(…)这是我不理解的部分。基向量(1,0,0)是什么意思?以及“用基向量转换它”是什么意思?@mefiX基向量可能是标准向量up | vectorfroward |。。。(Unity | XNA |…和其他人预先定义了这些,但您可以根据需要使用任何向量..矢量将在右手坐标系中定义为
new Vector3(0f,1f,0f)
。从那里您可以通过本地化的四元数system.Numerics.Vector3进行静态变换,因此
Vector3.transform(VectorUp,q);
将返回一个向量,该向量通过四元数旋转从其基部“旋转”。有意义吗?“局部四元数”仍然是逆原点四元数与当前采样四元数(按该顺序)的乘积?@mefiX是的…过早转换为向量会让你陷入一个充满万向锁等问题的世界。你应该始终使用四元数,因为它们可以自由表达任何旋转。对于四元数的“用户表示”,在应用任何“真实世界”之前,请使用旋转链中的最后一个转换开始。事情是这样的。我认为它比我想象的要简单得多。如果我转换一个“向前”aka。“从手机背面”向量
[0,0,-1]
仅使用当前读取的四元数,我就得到了我想要的。哇,非常感谢您提供了详细的答案。我了解校准方面和逆四元数,以便得到本地化的四元数。但是,我不希望每个样本都有欧拉角,而是希望三维向量与我手机的表面/平面垂直e、 (…)现在你有了一个本地化的四元数,你可以把它转换成向量3(用基向量转换它(…)这是我不理解的部分。基向量(1,0,0)是什么意思?以及“用基向量转换它”是什么意思?@mefiX基向量可能是标准向量up | vectorfroward |。。。(Unity | XNA |…和其他人预先定义了这些,但您可以根据需要使用任何向量..矢量将在右手坐标系中定义为
new Vector3(0f,1f,0f)
。从那里您可以通过本地化的四元数system.Numerics.Vector3进行静态变换,因此
Vector3.transform(VectorUp,q);
将返回一个向量,该向量通过四元数旋转从其基部“旋转”。有意义吗?“局部四元数”仍然是逆原点四元数与当前采样四元数(按该顺序)的乘积?@mefiX是的…过早转换为向量会让你陷入一个充满万向锁等问题的世界。你应该始终使用四元数,因为它们可以自由表达任何旋转。对于四元数的“用户表示”,在应用任何“真实世界”之前,请使用旋转链中的最后一个转换开始。事情是这样的。我认为这比我想象的要简单得多。如果我转换一个“向前”的aka。“从手机背面”向量
[0,0,-1]
仅用当前读取的四元数,我就得到了我想要的。