我正在使用http://structure.io/开发一个应用程序。在该应用程序中,当扫描对象将完成360度旋转时,它将完成扫描。

从扫描仪中,我们以GLKMatrix4作为起点和终点。我们要检查起点和终点之间的角度。我们正在使用下面的代码,但这不是正确的方法。谁能知道该怎么做。我对opengles很陌生?

case ScannerStateScanning:
        {
            // First try to estimate the 3D pose of the new frame.
            NSError* trackingError = nil;
            NSString *currentPoseStringMatrix = NSStringFromGLKMatrix4([self lastFrameCameraPose]);
            NSString *initialPoseStringMatrix = NSStringFromGLKMatrix4([self initialCameraPose]);
            if ([currentPoseStringMatrix isEqualToString:initialPoseStringMatrix]) {
                // stop scanning

            }

最佳答案

this answer之后,您需要从2个矩阵中找出第3行,以找出它们以矢量形式面对的方向。使用GLKMatrix4GetRow获取第三行,然后通过忽略vec4的最后一个元素将其转换为Vector3(请参见图)。那么您可以尝试this method来找到两个向量之间的角度,否则,如果您不想自己编写数学代码,请在Google周围搜索一些示例代码。

关于ios - opengles中2个GLKMatrix4对象之间的角度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36612198/

10-11 04:01