我有一个服务器功能,可以从图像中检测并估计aruco标记的姿势.
使用该功能,estimatePoseSingleMarkers我找到了旋转和平移向量.我需要在带有ARCore的Android应用程序中使用此值来创建Pose.
文档说Pose需要两个浮动数组(轮换和翻译):https://developers.google.com/ar/reference/java/arcore/reference/com/google/ar/core/Pose.
float[] newT = new float[] { t[0], t[1], t[2] };
Quaternion q = Quaternion.axisAngle(new Vector3(r[0], r[1], r[2]), 90);
float[] newR = new float[]{ q.x, q.y, q.z, q.w };
Pose pose = new Pose(newT, newR);
Run Code Online (Sandbox Code Playgroud)
放置在该姿势中的3D对象的位置是完全随机的.
我究竟做错了什么?