首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jPCT与Vuforia / QCAR SDK的集成

jPCT与Vuforia / QCAR SDK的集成
EN

Stack Overflow用户
提问于 2013-01-01 18:04:48
回答 1查看 597关注 0票数 4

我在使用Vuforia和jPCT时遇到了问题。

我已经成功地通过了Vuforia原生代码的modelViewMatrix

代码语言:javascript
复制
QCAR::Matrix44F modelViewMatrix =  QCAR::Tool::convertPose2GLMatrix(imageResult->getPose())

为了Java。

然后我尝试设置jPCT的摄像头矩阵。

代码语言:javascript
复制
public void setCameraMatrix(float[] modelViewMatrixFromVuforia) {

        float x = modelViewMatrixFromVuforia[12];
        float y = modelViewMatrixFromVuforia[13];
        float z = modelViewMatrixFromVuforia[14];

        modelViewMatrixFromVuforia[12] = 0;
        modelViewMatrixFromVuforia[13] = 0;
        modelViewMatrixFromVuforia[14] = 0;

        Matrix cameraMatrix = new Matrix();
        cameraMatrix.setDump(modelViewMatrixFromVuforia);

        cameraMatrix = cameraMatrix.invert();
        camera.setBack(cameraMatrix);
        camera.setPosition(x, y, z);
    }

但是3D对象没有被正确跟踪。我错过了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-01-02 03:07:38

我正在使用这个,它工作得很好:

代码语言:javascript
复制
private Matrix mMatrix = new Matrix();
...

mMatrix.setDump(modelViewMatrixFromVuforia); // float[16] sent from native code
mCamera.setBack(mMatrix);

但是在将矩阵发送到之前,您必须将矩阵绕X轴旋转180度,以便匹配从Vuforia到jPCT的坐标系。

在本机代码中执行旋转,如下所示:

代码语言:javascript
复制
SampleUtils::rotatePoseMatrix(180.0f, 1.0f, 0, 0, &modelViewMatrix.data[0]);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14109514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档