【问题标题】:What does Pose mean in ARCore?姿势在 ARCore 中是什么意思?
【发布时间】:2019-10-24 06:57:49
【问题描述】:

来自文档https://developers.google.com/ar/reference/java/arcore/reference/com/google/ar/core/Pose 我看到 Pose 意味着有一个不可变的锚。但我不太确定它在以下代码中是如何工作的,其中两点之间画了一条线:

Pose point1;
                    // draw first cube
                    Pose point0 = getPose(anchors.get(0));
                    drawObj(point0, cube, viewmtx, projmtx, lightIntensity);
                    checkIfHit(cube, 0);
                    // draw the rest cube
                    for(int i = 1; i < anchors.size(); i++){
                        point1 = getPose(anchors.get(i));
                        log("onDrawFrame()", "before drawObj()");
                        drawObj(point1, cube, viewmtx, projmtx, lightIntensity);
                        checkIfHit(cube, i);
                        log("onDrawFrame()", "before drawLine()");
                        float distanceCm = ((int)(getDistance(point0, point1) * 1000))/10.0f;
                        drawLine(point0, point1, viewmtx, projmtx);

由于文档让我更加困惑,谁能解释更多关于 Pose 的信息?

【问题讨论】:

    标签: java arcore sceneform


    【解决方案1】:

    思考姿势的一种方式是,它与单词的英文含义大致相似 - 它告诉您物体在世界中的哪个位置以及它面向的方向。

    如果您想象在空白 3D 位置创建一个对象,并且该对象由一组点组成,那么这些点中的每一个都将在您的空白 3D 位置中具有一个位置 - 即每个点都有一个 x,y ,z 坐标。

    当您想在场景中显示该对象时,您需要说明要将其放置在场景中的哪个位置,并且您需要根据场景的坐标指定位置。

    姿势是您所说的,但在数学上 - 它是您对对象中的每个点进行的转换,以使该点出现在场景中的正确位置。

    当他们说时,您可以在链接的文档中看到这一点

    使用围绕原点的四元数旋转和平移来定义变换。

    四元数旋转负责确保您的对象在场景中面向正确的方向,并且平移将结果放置在场景中的正确位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2011-08-12
      • 2017-06-11
      • 2018-03-05
      • 2023-03-27
      • 2016-08-17
      • 2010-12-28
      相关资源
      最近更新 更多