1

Android ARCore Pose() 类有一个方法。

pose.inverse().transformPoint()

我正在 IOS 平台(swift)上寻找替代方案。有人知道吗?

非常感谢。

4

2 回答 2

1

ARKit 有两个有用的方法:

第一个帮助将一个点从场景的 3D 世界坐标系投影到渲染器的 2D 像素坐标系。

func projectPoint(_ point: SCNVector3) -> SCNVector3

第二个帮助将点从渲染器的 2D 像素坐标系取消投影到场景的 3D 世界坐标系。

func unprojectPoint(_ point: SCNVector3) -> SCNVector3
于 2021-03-08T19:20:27.243 回答
0

我想在 ARKit 上这样做 - 迅速

 public static Vector3f TransformPointToPose(Vector3f point, Pose anchorPose) {
    // Recenter to anchor
    float[] position = new float[3];
    position[0] = point.x;
    position[1] = point.y;
    position[2] = point.z;
    

    position = anchorPose.inverse().transformPoint(position);
    return new Vector3f(position[0], position[1], position[2]);
}

这是 Pose 类 ARCore 中的“transformPoint()”方法

  public float[] transformPoint(float[] var1) {
    float[] var2 = new float[3];
    this.transformPoint(var1, 0, var2, 0);
    return var2;
}

对于所有子功能,管道都是这样的; 只是一条线 - 91. 线

这些在姿势类中

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

于 2021-03-09T12:43:18.647 回答