问题描述
Android ARCore Pose() 类中有一个方法。
pose.inverse().transformPoint()
我正在 IOS 平台 (swift) 上寻找替代方案。 有人知道吗?
非常感谢。
解决方法
ARKit 有两个有用的方法:
第一个帮助将一个点从场景的 3D 世界坐标系投影到渲染器的 2D 像素坐标系。
func projectPoint(_ point: SCNVector3) -> SCNVector3
第二个帮助将点从渲染器的 2D 像素坐标系取消投影到场景的 3D 世界坐标系。
func unprojectPoint(_ point: SCNVector3) -> SCNVector3
,
我想在 ARKit 上这样做 - swift
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,var2,0);
return var2;
}
所有子函数的管道都是这样的; just a line - 91. line
这些在姿势类