首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将屏幕作为一个数学平面从相机的位置和姿势在AndroidStudio与谷歌ARCore?

如何将屏幕作为一个数学平面从相机的位置和姿势在AndroidStudio与谷歌ARCore?
EN

Stack Overflow用户
提问于 2019-07-18 08:25:17
回答 1查看 580关注 0票数 0

对于我的项目,它将非常有用的当前屏幕位置和旋转作为一个数学平面或某种平面,因为我的模型需要定向垂直于这个平面,而不是相机itsef。

我现在的CameraWorldPosition是Vector3,CameraWorldRotation是四元数。由于我对四元数的解释不多,我有以下问题:

  1. 四元数的x,y和z定义了一个向量吗?我们定义了三维模型围绕这个向量的旋转吗?
  2. 1中提到的向量是否垂直于我的手机屏幕?这样就很容易找到数学平面了。
  3. 如果2不正确,那么用给定的东西计算屏幕-平面的最好方法是什么?我考虑使用我的CameraWorldPosition作为支持向量。那么我还需要计算跨度向量。

如果你有什么能帮我的主意,请告诉我。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-18 17:02:22

  1. 四元数的x,y和z分量确实定义了一个向量。这个矢量是旋转轴。然而,在一般情况下,它不是一个单位向量。它的长度等于sin(θ/2),其中θ是旋转的角度。所以w不是旋转角度,而是cos(θ/2)。
  2. 它不是,因为相机可以围绕任何轴旋转。
  3. 要定义平面,只需有两样东西:法向量和平面上的一个点。平面上的观点是最简单的,你已经有了。是CameraWorldPosition。对于平面的法线向量,你需要知道相机的法线矢量在旋转的意义下,即当旋转是恒等四元数时。例如,假设相机最初总是有一个与Z矢量一致的法线向量。平面的法线就是由四元数CameraWorldRotation旋转的Z矢量。因此,如果你能知道相机的初始条件(即初始法向量),那么你就可以在相机位置和摄像机旋转的任何时刻定义平面。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57090153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档