ARCore 中的 Pose 是什么意思?
What does Pose mean in ARCore?
来自文档 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 的信息?
一种理解 Pose 的方式是它与该词的英文含义大致相似 - 它告诉您物体在世界中的位置以及它面向的方向。
如果您想象在一个空白的 3D 空间中创建一个对象,并且该对象由一组点组成,那么每个点都会在您的空白 3D 空间中有一个位置 - 即每个点都有一个 x ,y,z坐标。
当您想在场景中显示该对象时,您需要说出您希望将它放置在场景中的什么位置,并且需要根据场景坐标指定位置。
姿势就是您所说的,但从数学上讲-它是您对对象中的每个点进行的转换,以使该点出现在场景中的正确位置。
当他们说
时,您可以在链接的文档中看到这一点
The transformation is defined using a quaternion rotation about the origin followed by a translation.
四元数旋转负责确保您的对象在场景中朝向正确的方向,并且平移将结果放置在场景中的正确位置。
来自文档 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 的信息?
一种理解 Pose 的方式是它与该词的英文含义大致相似 - 它告诉您物体在世界中的位置以及它面向的方向。
如果您想象在一个空白的 3D 空间中创建一个对象,并且该对象由一组点组成,那么每个点都会在您的空白 3D 空间中有一个位置 - 即每个点都有一个 x ,y,z坐标。
当您想在场景中显示该对象时,您需要说出您希望将它放置在场景中的什么位置,并且需要根据场景坐标指定位置。
姿势就是您所说的,但从数学上讲-它是您对对象中的每个点进行的转换,以使该点出现在场景中的正确位置。
当他们说
时,您可以在链接的文档中看到这一点The transformation is defined using a quaternion rotation about the origin followed by a translation.
四元数旋转负责确保您的对象在场景中朝向正确的方向,并且平移将结果放置在场景中的正确位置。